Blast campaigns let you send messages to all of the users on a static or dynamic list at a specific time. Blast campaigns are useful for sending your customers marketing messages, like your monthly newsletter or alerts about upcoming promotions.
Table of contents
- Required Permissions
- Step 1: Create a static or dynamic list
- Step 2: Set up the campaign
- Step 3: Choose a template
- Step 4: Edit and preview the template
- Step 5: Turn on Send Time Optimization (optional)
- Step 6: Turn on Quiet Hours (optional)
- Step 7: Set a Send Rate Limit (optional)
- Step 8: Send or schedule the campaign
- Step 9: Analyze your campaign's performance
- Recipient counts (list sizes)
To view your project's campaigns, you'll need the Workflows, Campaigns & Experiments > View permission.
To create a campaign, you'll need the Workflows, Campaigns & Experiments > Draft permission.
To schedule or send a campaign, you'll need the Workflows, Campaigns & Experiments > Activate & Manage permission.
Here's how to create and send a blast campaign.
Step 1: Create a static or dynamic list
First, decide who should receive the campaign and create a static or dynamic list of those users. Static lists contain a specific set of users, while dynamic lists use segmentation to select users at send time based on properties stored on their Iterable user profiles.
- To prevent some users from receiving a blast campaign, add them to a suppression list, and include that list in the campaign.
- In order for users to receive push notification campaigns from Iterable, their user profiles must have a device token associated with your mobile app. Iterable's mobile SDKs (iOS, Android, React Native) populate these tokens when the users run the app.
Step 2: Set up the campaign
To create and configure a campaign, navigate to Messaging > Campaigns, and click New Campaign:
Then, on the New Campaign page:
Enter a Campaign Name (this value is for your reference only, and can help you locate the campaign in the future).
Select Conversion events if you want to track how many and which events contribute to conversions for this campaign. See Track custom conversions.
To add a holdout group to your campaign, a custom conversion event may be necessary (depending on your project's configuration).
(Optional) Add some Labels to your campaign to make it easily searchable in your project. See Adding Labels to Your Campaigns.
For Campaign Type, select Blast.
Choose a Message Medium.
Select the list(s) you want to send the campaign to, as well as any suppression lists that determine who should not receive the campaign.
For an in-app message campaign, set Display Priority to Critical, High, Medium or Low:
This setting influences the order that users will see your in-app messages. Iterable's mobile SDKs sort the display of in-app message campaigns by priority (greater priority messages first), and then by send time (first sent, first displayed).
- Since transactional messages are sometimes urgent or sent as a response to a user's action (for which they may need confirmation or more details), you should generally give transactional campaigns a greater priority than marketing campaigns.
- You cannot change an in-app message campaign's priority after it has been sent. However, you can update the priority of a scheduled campaign before its send time.
- This value is reflected on the message's
priorityLevelfield, which is saved as a double on the message's
priorityLevelfield. You can use this in segmentation, for example, by searching for in-app send events that have
priorityLevelset to low (
400.5), medium (
300.5), high (
200.5) or critical (
100.5). Proofs receive an in-app priority of
- For more information about this feature, see the release notes.
To send a blast in-app message or push notification campaign to only some of your mobile apps (rather than all of them), enable Selective In-App or Selective Push. Then, choose the specific apps you want to send the campaign to. Use this feature to target specific apps or specific platforms.
- When Selective In-App is off, Iterable sends blast in-app message campaigns to all users included in the selected lists for those campaigns, regardless of whether or not they've installed any apps that will display the messages.
- When Selective Push is off, Iterable sends blast push notification campaigns to all selected users who have installed any mobile apps associated with any of your Iterable project's push integrations.
- When you turn on Selective In-App or Selective Push, you can only select apps that have a valid push integration.
Click Continue to Templates.
Step 3: Choose a template
On the Template step, you can select a pre-existing template or campaign, import an existing HTML file, or you can build your new campaign from scratch. If you choose a pre-existing template or campaign, you can make edits before sending the new campaign, and any changes you make won't affect the original.
To base your new campaign on one of your project's reusable templates, select the Templates tab and pick the template you'd like to use.
To base your new campaign on a previous campaign, select the Campaign content or Journey content tab and choose the campaign you'd like to use.
To search for a campaign, type the name or campaign ID in the search bar.
After you've made your selection, click one of the buttons at the bottom of the page:
Use selected template (or Use selected content) copies the selected template or campaign content into your new campaign, so that you can edit it without impacting the original.
Pre-populate selected template with data feed (or Pre-populate selected content with data feed) tells Iterable to make a single request to an external data feed and merge the returned data into the selected template or campaign, overwriting any Handlebars expressions the data can resolve.
Iterable makes this data feed query once as you're creating the campaign. However, Iterable also supports per-recipient data feed queries. See Personalizing Templates with Data Feeds to learn more.
Import HTML allows you to import an HTML file from your computer or URL source to use as content for the campaign.
Start from scratch lets you select a template editor and build your campaign content from a blank slate.
Step 4: Edit and preview the template
The Design step allows you to create the content for your campaign and preview it.
To edit the details and design of this campaign, use the Edit details and Edit design buttons.
To learn about the editing and previewing options available for each message medium, see:
- Creating Email Templates
- Creating In-App Templates
- Creating Push Notification Templates
- Creating SMS Templates
- Creating Web Push Templates
You can also use the overflow menu (three vertical dots) to complete additional tasks.
To copy this template within this project or to another project, click Make a copy.
If you choose to copy a template within the current project, you'll find the copied template on the Content > Templates page.
For email campaigns, you can also export the HTML, generate a spam report, and preview the content in a new tab.
For in-app campaigns, you can also export the HTML.
To personalize this content for each of your campaign's recipients, you can use:
- Handlebars expressions to reference data from a user's Iterable user profile (whether to display it directly or use it to show specific content to specific users).
- Data Feeds to call a a web service—once for each of the campaign's recipients—and display it in the message.
- Catalog to dynamically find and display information about your organization's relevant products or services that a given recipient might find interesting.
When you're done editing and previewing your template, click Continue to review, where you can enable Send Time Optimization and schedule or send the campaign.
Step 5: Turn on Send Time Optimization (optional)
Next, decide if you want to use Send Time Optimization. If you turn on Send Time Optimization, Iterable will send the campaign to each recipient at the time they’re most likely to open it.
If you don't see the option to turn on Send Time Optimization, your Iterable project doesn't have enough engagement data yet. (This is common for staging and test projects.) To use Send Time Optimization, you'll need to either switch to a project that has more engagement data or wait until your current project has built up enough.
Switch on To turn on Send Time Optimization for all of your campaign's recipients, switch on the Send Time Optimization toggle:
You can't disable Send Time Optimization after Iterable starts sending a campaign.
To learn more about Send Time Optimization, see:
- Send Time Optimization
- Send Time Optimization Experiments
- Optimizing Campaign Delivery Times
- Increasing Engagement in Journeys
Step 6: Turn on Quiet Hours (optional)
Quiet Hours lets you pause campaign sends during a specified time frame to avoid disturbing your users at inconvenient times. Consider turning this on for SMS campaigns or if you have users in multiple locales and time zones.
To turn on Quiet Hours in your campaign, switch on the Quiet hours toggle on the Review and Launch page.
Step 7: Set a Send Rate Limit (optional)
Send rate limits are a beta feature. To enable them, talk to your Iterable customer success manager.
Next, you can decide whether or not to enable a send rate limit for your campaign:
A send rate limit can help prevent your website and servers from being overwhelmed with traffic when many of your users simultaneously interact with a message you've just sent. They can also help you mitigate deliverability issues that can occur when you are sending high email volumes.
There are three ways to set a send rate limit in Iterable:
- On each of your project's message types, you can set the default send rate limit that new campaigns associated with that type should use.
- When configuring a data feed, you can set a rate limit. Campaigns that query the data feed will respect the data fee a campaign that queries the data feed
- You can adjust the send rate limit on any given campaign, as you set it up (like you're doing in this step).
Some important things to remember about send rate limits:
- When you send multiple campaigns associated with the same rate-limited message type, they do not compete for the rate limit's capacity. That is, each campaign can independently send as fast as the rate limit you select for it when setting it up (with the default rate limit being the one defined on the message type).
- When you send multiple campaigns that access the same rate-limited data feed, they do compete for the rate limit's capacity. That is, the overall traffic to the data feed, across all campaigns, will not exceed the data feed's rate limit.
- When a campaign has a rate limit, Iterable does not necessarily send at that exact rate. However, it will not exceed the rate limit.
- If you enable both Send Time Optimization and a rate limit, it's possible that the rate limit will cause the sends to continue beyond the bounds of your STO window.
- In situations where more than one rate limit is applicable, Iterable uses the most restrictive limit
Step 8: Send or schedule the campaign
Next, the Review & Launch page allows you to send or schedule the campaign:
To send the campaign immediately, click Send Campaign Right Now on the Review & Launch page, and confirm the campaign's launch.
To schedule the campaign for later:
Click Schedule Campaign for Later, which brings up the Schedule Campaign window.
Set a Send Time (up to 21 days from the current time). You can set the time of day in one of two ways:
- Choose a preset 15-minute increment from the drop-down menu.
- Enter the specific time (down to the minute) that you'd like Iterable to send the campaign.
- If you're entering a time manually, you can use a 12-hour format
2:23 pm) or a 24-hour format (for example,
- If you've turned on Quiet Hours, your campaign may not send at your selected send time for all of your users. Learn more.
If you need to send the same campaign on a regular basis, turn on the Recurring toggle, then enter:
- An end date for the recurring campaign
- How often the campaign should be sent (maximum once per day)
- Which days of the week Iterable should not send the campaign
- The number of hours ahead of the scheduled send time that the campaign should be created
To learn how to cancel or reschedule a recurring campaign, read Introduction to Campaigns.
To use segmentation to check whether or not Iterable ever sent a specific recurring campaign to a particular user, use a query such as the following:
It's not possible to use segmentation to determine whether or not a user has ever opened or clicked any email from a recurring campaign. However, you can determine whether or not they've opened or clicked a specific instance of that recurring campaign.
Choose to send the campaign at the scheduled time in your Project Time Zone (as defined in Settings > Project Settings) or relative to each Recipient's Time Zone.
For the Recipient's Time Zone option, Iterable sends the campaign to each recipient at the scheduled time in their local time zone. To determine a recipient's time zone, Iterable uses the
timeZonefound on their user profile (field name is case and space-sensitive). For example:
timeZonevalues as described in Wikipedia's List of tz database time zones.
- To automatically geolocate a user based on their IP address, turn on the
Enable User IP to Location Lookup
option in Settings > Project Settings. With this option on, including an
ipaddress when importing or updating a user causes Iterable to geolocate them and populate various location fields on their user profiles:
- When Send Time Optimzation is enabled, you can't choose to send the campaign using the Recipient's Time Zone.
When using Recipient's Time Zone, you must set a starting and fallback time zone.
The Starting Time Zone is the first time zone for which Iterable should send the campaign at the selected time. Iterable will not send messages before the selected time in this time zone. Users with a
timeZoneeast of the starting time zone (up to the International Date Line) will receive the message at the selected time in this time zone, too. The selected time, in the starting time zone, is the earliest absolute time that anyone will receive the campaign.
The Fallback Time Zone is the time zone in which Iterable should send the campaign, at the selected time, to all users who do not have a
timeZone. For example, consider an campaign scheduled to send today at 3:00pm, with a starting time zone of
America/Chicago(Central Time) and a fallback time zone of
Users with a
America/Los_Angeleswill receive the campaign at 3pm Pacific Time (5pm Central Time). This is the campaign's scheduled send time, in their local time zone.
Users with a
America/New_Yorkwill receive the campaign at 4pm Eastern Time (3pm Central Time—the scheduled send time in the starting time zone), since
America/New_Yorkis east of
Users without a
timeZonewill receive the campaign at 3pm Hawaii Time (the scheduled send time, in local time, in the fallback time zone).
Step 9: Analyze your campaign's performance
After you send a blast campaign, you can measure how well your campaign is performing from the Campaign Analytics page.
After you've sent a campaign, use Iterable to monitor its results and understand how your users are engaging with it.
To monitor a campaign's results, navigate to Messaging > Campaigns and open the campaign. You'll see its Campaign Analytics page, where you can inspect various metrics about its performance.
For more information, see our support guide on Viewing Campaign Analytics.
Recipient counts (list sizes)
When setting up a campaign, Iterable estimates a count of its recipients. Later, Campaign Analytics displays a count of the users to whom Iterable actually sent the campaign. These numbers are not always the same.
During campaign setup, the Review & Launch page shows an estimate of the number of people to whom it will be sent:
Iterable calculates this number by starting with the send lists and then subtracting:
- Suppressed users
- Users whose subscription preferences (message channel, message type) do not allow them to receive the campaign. For example, if the campaign has an opt-in message type, users on the send list who haven't opted in to that message type aren't included in the estimate
- For selective in-app message campaigns, users who haven't installed at least one of the mobile apps associated with the campaign
After sending a campaign, you can view its Campaign Analytics by navigating to Messaging > Campaigns and opening it. Near the top of the page, you'll see various details about the campaign, including Send List at Send Time— a count of users to whom the message was actually sent:
The pre-send Recipients estimate and post-send Send List at Send Time count may differ, for a couple of reasons:
- If you scheduled the campaign to send sometime after you set it up, the membership of its underlying lists may have changed.
- Iterable doesn't send push notification campaigns to users who haven't installed the apps necessary to display them (but those users are included in the estimated Recipients count).