Queue Draft for Campaign QA

Great messaging is no simple task. Deep personalization drives higher opens, clicks, engagement, and results. But it also makes your lifecycle campaigns more complex to design, build, and deploy. The more moving parts you add — automation, segmentation, dynamic content, and filters — the more likely that something can go wrong.

In most ESPs you’re either “building” your email campaign or “sending” it. This means that once you hit “Start campaign”, your messages go live and you can only catch errors afterwards.

You can set any action to queue drafts

Customer.io takes a different approach with a feature called “Queue Draft”, which enables you to start your automated campaigns in draft mode. Think of this as a dry-run for your campaigns. You get to see who would have received what message when before actually going live.

This feature makes a better quality-assurance process possible. By first setting your messages to queue drafts, you can debug your content and check the logic, all without ever sending a single message.

In this post, we’ll show you three ways to use Queue Drafts as campaign QA.

Identify Liquid and copy errors

Personalizing your messages is a great way to make subscribers feel warm and fuzzy. But what happens when your personalization goes wrong?

Imagine that, for example, some users don’t have a specific attribute you want to personalize on, like city_name.

When you try to use an attribute that doesn’t exist for a particular user (without adding a fallback), Customer.io won’t send the message and the delivery will fail. While this is 1000x better than sending a broken message, this doesn’t solve the fact that our message wasn’t sent!

When you set messages to Queue Draft, we will generate a draft rather than sending that message automatically. Then, you can spot-check the drafts that have been generated. Here’s an example drafted email where we tried using a variable customer.plan_name that is missing for this particular user, and we didn’t catch the error message in the composer.

Specific draft generated

Plus, there’s a typo in the first paragraph! Now we can go back to my campaign and fix the Liquid tag and the typo.

When you catch message content mistakes and fix them in the composer, drafts will automatically update.

QA your campaign conditions and sending frequency

Ever sent the same message to the same person multiple times in one day? That’s every email marketer’s nightmare.

When your messages are queueing as drafts, you can see exactly who would receive what message. Below, you’ll see that this user would have received the same message multiple times in a single day. (This can happen with event-triggered campaigns without proper filters.)

Drafts queuing up shows where to fix

We can agree that this would be a terrible experience. Now, I can go back to my campaign and add a rule so that this message only goes out if the recipient has NOT already received it in the last week, for example.

This also helps you discover any other issues you might have never thought about, like a person receiving two drips at the same time, an exclusion filter that’s critical but missing, or something else in the campaign workflow logic that you didn’t quite get right.

Note: If you find errors in your campaign workflow setup (i.e., triggers, filters, action conditions, delays, etc), you'll likely have to re-create the campaign and start afresh.

View a person’s campaign journey

Ready for the last tip? In Customer.io, you can go to a user’s “Journey” tab to see when a message is scheduled to be sent (or drafted).

Here we see that that an email in the “Power user - upgrade campaign” will draft in 2 days. When you mouse over the action icon with the yellow drafting status, you can see which specific message is the next step.

campaign journey view

If you think this message shouldn’t be drafting in 2 days, then you can make the necessary edits to your campaign flow!


Taking the extra step to spot-check a number of queued-up messages before turning your campaigns live helps you make sure your messages behave exactly as you intend them to. Next time you’re building a campaign in Customer.io, make sure to allocate a bit of time to let your messages queue as draft first. You’ll be saving yourself a lot of potential headaches!

Learn more about how Queue Drafts works and related FAQs.