This guide describes how to configure your Iterable project to send email. It describes key terms you'll need to understand to be successful, links to guides that describe how to set up various email service providers (ESPs), and explains how to configure sending domains, tracking domains, deep links, message channels and types, and senders in Iterable.
In this article
- Terms to know
- How the pieces fit together
- Instructions: Configuring your project to send email
Terms to know
Before configuring your project to send email, be sure to understand these terms:
Email Service Provider (ESP) — A third-party service that Iterable can use to send email: Amazon Simple Email Service (shared IP pool), SparkPost, Mailgun, or SendGrid.
Sending Domains — Domains from which your project can send email. For example,
example.com. Depending on its configuration, an Iterable project can have one or many sending domains.
When you create a sending domain, you can associate it with an ESP account so that Iterable knows that the ESP can securely send from that domain (DNS has been configured, etc.).
You can also give it a tracking domain (see below).
Message Channels and Message Types — Categories to assign to your messages, so that users can subscribe and unsubscribe from content as they wish (at an appropriate level of granularity).
Message channels are broad categories (for example, "Discounts"), while message types are more narrow (for example, "Seasonal Sales"). Every message type belongs to a message channel.
Message channels have a type (marketing or transactional), a message medium (email, SMS, in-app, push, or web push), a name, and ESP bindings.
When you create an email message channels, you can specify which ESP accounts it should use to send email, and percentages for each.
Senders — Verified email addresses from which your Iterable project can send email. For example, if one your sending domains is
example.com, one of your senders might be
firstname.lastname@example.org. Senders should all have a domain that matches one of your project's sending domains (see above).
Tracking Domains — Also called link tracking domains, these are the domains Iterable can use for rewriting links in your email campaigns, and shortening links in your SMS campaigns. Tracking domains must be aliased by DNS to
https://links.eu.iterable.com. That way, Iterable can handle click tracking and attribution.
For example, if a message contains a link to
https://example.com/products/123, Iterable will rewrite the link to something like
https://links.example.com/u/click?_t=7dd208.... When a user clicks this link (whether in an email or an SMS), the tracking domain tracks the click and redirects to the intended destination.
In an email, users can see a link's URL when they click it, hover over it, or copy it. In an email from
email@example.com, they might be suspicious of a link to
http://links.iterable.com/u/click?_t=7dd208.... Because of this, it's best to match your tracking domains to your sending domains. In the above example, a better tracking domain would be
When you create a sending domain, you can give it a tracking domain.
Deep Links — When tapped on a mobile device, these links open in your app (if it's installed), or a web browser (if your app isn't installed).
Destination Domains - For any given particular tracking domain, you can create destination domains to specify which links Iterable should rewrite as deep links (rather than as standard links).
How the pieces fit together
Here's how message types, message channels, ESP accounts, senders, sending domains, and tracking domains work together to help you send email campaigns:
When you create an email campaign in Iterable, you'll select a message type. Since every message type belongs to a message channel, you're implicitly selecting a message channel, too.
Each email message channel is bound to one or many ESP accounts. Because of this, when you select an email campaign's message channel, you're also implicitly selecting one or many ESP accounts to use to send your campaign.
When you select a sender for your campaign, you're also implicitly selecting a sending domain. And since sending domains are associated with tracking domains, you're selecting a tracking domain, too.
Since you've selected a tracking domain, you've also selected a set of destination domains. This means that you've chosen which, if any, of your email's links to rewrite as deep links.
Instructions: Configuring your project to send email
To configure your project to send email, follow these steps:
Step 1: Configure your ESP accounts and add them to Iterable
First, configure your email service providers (ESPs) — third-party tools that Iterable can use to send your email campaigns. Then, add your accounts with those providers to the Settings > Sending Platforms page in Iterable.
Iterable supports the following ESPs:
Amazon Simple Email Service (SES), using a shared IP pool (Iterable's default email setup). Amazon SES is available for US and EU-based Iterable projects. However, it's not possible to use your own Amazon SES account or a dedicated IP address, no matter which of Iterable's data centers hosts your organization and projects. To learn more, read Integrating Amazon Simple Email Service (SES) with Iterable
You can add multiple ESP accounts to a single Iterable project.
Step 2: Set up your sending domains
After you've configured your ESP accounts and added them to the Sending Platforms page, tell Iterable about the domains from which those ESP accounts have been configured to securely send email.
Sending domains for Amazon SES
If your project uses Amazon SES with a shared IP pool (Iterable's default configuration), it can have only one sending domain. To specify this domain:
Go to Settings > Project Settings.
Update the Custom project sending domain (Amazon SES only) field. (Or,
if you don't provide a value for this field, Iterable will use the domain for the web site you've associated with your Iterable organization.)
When using Amazon SES with a shared IP address, there's no need to specify a sending domain on the Settings > Domains page.
Sending domains for other ESPs (not Amazon SES)
If you're using an ESP other than Amazon SES, follow these steps to set up your sending domains:
Navigate to Settings > Domains.
Click New sending domain.
In the Create a new sending domain window, enter a sending domain and select an ESP that's properly configured to send emails from that domain.
After you've created the domain and associated it with an ESP account, click Verify Domain to mark it as verified.
Repeat this process for all of your sending domains, as needed. If you've set up multiple ESPs to send from a given domain, add that domain multiple times and select a different ESP each time.
Step 3: Set up tracking domains
To track clicks and facilitate campaign attribution, Iterable needs to rewrite links in your emails to point a URL hosted by Iterable. When a user clicks on one of these links, Iterable records click tracking and attribution, and then redirects the user to the original link destination.
With tracking domains, Iterable can rewrite links using your company's domain,
links.eu.iterable.com. For example, if your
company's domain is
example.com, Iterable can use tracking domains to rewrite
links using a domain such as
If you don't want to use a custom tracking domain, you can skip this step.
When you don't set a custom tracking domain, Iterable will rewrite links in
email campaigns with the Iterable domain, such as
This URL will be visible to your users when they click on, hover over, or copy
a link in an email. Since they won't expect to see an
iterable.com URL, it's
best to use a custom tracking domain.
To use Iterable to send deep links, you'll need to set up a custom, HTTPS-enabled tracking domain.
To set up your tracking domains:
Navigate to Settings > Domains and click New Tracking Domain.
Specify a tracking domain such as
example.comis your domain).
When using a tracking domain to shorten links for SMS campaigns, you might want to use a short domain (to save characters). For
example.com, this might be something like
If you haven't already done so, configure your DNS to alias your tracking domain (for example,
links.eu.iterable.com(the URL that actually performs click tracking and facilitates campaign attribution).
If you're using Iterable's default email configuration, Amazon SES with a shared IP pool, you can find the DNS records you'll need to create on the Settings > DNS Setup page.
If you're sending email from a different ESP, however, this page does not show the DNS settings you should use. For more information about the DNS records to create for another ESP, talk with your Iterable implementation consultant or customer success manager.
To set the new tracking domain as your project's default, click the down arrow on its row in the table, and then choose Set as Default.
On the Settings > Domains page, in the Sending domains section, associate your new tracking domain with each sending domain that should use it.
If your website is HSTS compliant, or if you send deep links that direct users to your mobile app, enable HTTPS for your tracking domain. After you do this, click your tracking domain's Edit button and turn on the Enable HTTPS toggle.
Allow 24 hours for Iterable to verify the tracking domain.
Step 4: Set up message channels & types
Next, set up the message channels and types (used for sending campaigns and managing subscriptions). This allows you to specify how a given message channel should split its sends across your various ESP accounts.
To do this, you need to:
- Add an email channel for each subscription group you want to create.
- Set the sending platform that each email channel sends from.
- Add the message type(s) for each email channel and set their subscription
policies (opt-out or opt-in).
To learn more and for complete instructions, read Message Channels and Message Types Overview.
Step 5: Add senders
Now, you can define the senders that you can use to send your campaigns. Each of your senders should have a domain that matches one of the sending domains you set up in step 2, above.
To add senders to your project:
Go to Settings > Senders.
Click Create New Sender.
Specify a From email, From name, and Default reply-to address. For the From email, provide an email address with a domain that matches one of your project's sending domains.
If you have a verified sending domain that matches the domain of the sender, Iterable will mark the sender as verified.
If you're using Iterable's default email configuration (Amazon SES with a shared IP pool) and you don't yet have a verified sending domain, Amazon will send you an email to verify your sender.
Step 6: Get set up to send deep links
If you'll be sending deep links (links that should open in your mobile app if it's installed, and a web browser otherwise), follow the steps in Deep Links Setup
Step 7: Send some test messages
If you have any questions regarding your setup, talk to your Iterable implementation consultant or customer success manager. Or, you can contact Iterable Support. See Working with Iterable Support.