Iterable
Use GrowthLoop audiences, journeys, and warehouse data for Iterable lists, campaigns, users, and events.
Connect this destination to export audience membership into an Iterable list, to trigger email or SMS from a journey, or to write warehouse rows onto Iterable users and events, for use in Iterable campaigns.
This destination writes to your Iterable account and is a good fit when you want to:
- Make GrowthLoop audiences available as Iterable lists
- Trigger an active Iterable email or SMS campaign from a GrowthLoop journey
- Create or update users or events from a warehouse table
This maps to GrowthLoop Audiences, Journeys, and Syncs:
| Use it for | Audiences | Journeys | Syncs |
|---|---|---|---|
| Sending GrowthLoop audiences to Iterable lists | ✓ | ✓ | |
| Triggering an Iterable email or SMS campaign | ✓ | ||
| Creating or updating Iterable users or events from a warehouse table | ✓ |
For list-based campaign patterns after an export, see Integrate with Iterable.
Prerequisites
Make sure you have:
- An Iterable account with permission to create a server-side API key.
- A server-side API key. In Iterable, go to Integrations > API Keys, click New API Key, name it, choose Server-side, click Create, then store the key.

Set up Iterable as a destination
- In GrowthLoop, click the Destinations tab on the left sidebar.
- Click New Destination in the upper right corner.
- Search for Iterable and click Add Iterable.

- Enter the required information, then click Create.

| Field | Description |
|---|---|
| Destination Name | Name this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Iterable Email". |
| Sync Frequency | Set the default export frequency (for example, daily or weekly). You can override this setting for individual exports and syncs. |
| API Key | Server-side API key you've created in Iterable. |
| Prefix for Personalization Fields (optional) | Prefix GrowthLoop adds to personalization fields. The default value is fw. Leave this blank for no prefix. If you set one, it must start with a letter and use up to 5 letters or numbers. |
GrowthLoop validates the connection. Iterable then appears in your list of connected destinations.
Export to Iterable
From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.
After building or selecting an audience, click Export, then search for Iterable. In a journey, add a Destination Node and select Iterable. To send audience membership, keep the export action on Add to List Only. To trigger email or SMS instead, see Send email or SMS from a journey.
Map contact identifiers
Map Email. Audience exports and Add to List Only match contacts on email.
You can also map additional fields as Iterable dataFields, including custom attributes from the audience or from the journey. GrowthLoop can prefix those field names with Prefix for Personalization Fields.

Configure the export
This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.
| Setting | Audience export | Journey Destination Node |
|---|---|---|
| Export Name | Defaults to the audience name. GrowthLoop uses this as the Iterable list name. | Names the node in the journey. It does not rename the Iterable campaign. |
| Campaign type | Choose a one-time or ongoing export. | The journey schedule controls when the journey runs and contacts are sent to Iterable. |
| Schedule | Set frequency, start date, end date, and days of the week. | Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing. |
| Export action | List membership. | Add to List Only, Send Email, or Send SMS. |
Export behavior
This is what GrowthLoop writes when you export an audience.
| Behavior | What happens |
|---|---|
| What GrowthLoop writes | Membership on an Iterable list, optional dataFields on subscribe, or an email or SMS send from a journey. Direction is GrowthLoop → Iterable. |
| When it runs | GrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node. |
| List | GrowthLoop creates or reuses an Iterable list named after the audience. |
| Match field | Email for list membership. |
| Personalization | Additional fields write to Iterable dataFields on subscribe. GrowthLoop can prefix those field names. |
| One-time exports | GrowthLoop adds current members to the list. |
| Ongoing adds and removals | Ongoing exports subscribe contacts who enter the audience and unsubscribe contacts who leave the list. GrowthLoop does not unsubscribe them from the Iterable email channel. |
| Deletes | GrowthLoop does not delete Iterable users. |
Send email or SMS from a journey
You can trigger an Iterable email or SMS campaign from a journey Destination Node. See Build a journey if you need more information on these steps.
- Add a Destination Node and select your Iterable destination.
- Select Send Email or Send SMS as the export action.
- Map the recipient fields. Send Email requires Recipient's Email. Send SMS requires Recipient's Phone Number and Recipient's Email.
- Choose the Iterable campaign in Email Template or SMS Template. GrowthLoop lists active triggered campaigns for that channel.
- Map Template Variables that GrowthLoop loads from the Iterable template linked to that campaign.
- Send a test message before you publish.
Match fields for list membership are hidden when the export action is Send Email or Send SMS.

Send behavior
| Behavior | What happens |
|---|---|
| Trigger | GrowthLoop triggers the selected campaign for each user who reaches the Destination Node. |
| Campaigns listed | GrowthLoop lists active triggered campaigns for the selected channel. |
| Template variables | GrowthLoop loads variables from the Iterable template linked to the campaign. |
| Audience membership | Send Email and Send SMS do not create or update an Iterable list. Use Add to List Only or export an audience to write list membership. |
Create a sync in GrowthLoop
Create a sync from a warehouse table to write rows onto Iterable users or events. See Syncs for information on how to complete those steps.
Select an Object Type:
| Object | Use it for | Sync modes |
|---|---|---|
| Event | Track customer actions such as clicks or page views | Insert, Update, or Upsert |
| User | Create or update user profiles | Insert, Update, or Upsert |
When you configure the sync:
- Connection: Select your Iterable destination.
- Object Type: Select Event or User.
- Update Rule: The sync UI offers Insert, Update, or Upsert. Iterable receives users through bulk user update and events through bulk event track. See Sync behavior.
- Dataset/Table: Select the warehouse table that holds the records.
- Match Field: Map Email or User ID.
After you map fields, click Update Sync. Enable the sync with the toggle at the top of the page.
Syncs update users or events. They do not add or remove contacts from an Iterable list. To manage list membership, export an audience.
Event fields
| Destination field | Description |
|---|---|
| Event Name | Name of the event. Required |
| Email or User ID | Email on the user profile, or the unique ID for the user in Iterable. Required. If you map both, GrowthLoop sends User ID |
| Event ID | Unique ID for the event. Map this if you want to update an existing event |
| Campaign ID | Optional campaign tied to the event |
| Template ID | Optional template tied to the event |
| Additional fields | Optional event dataFields |
User fields
| Destination field | Description |
|---|---|
| Email or User ID | Email on the user profile, or the unique ID for the user in Iterable. Required. If you map User ID, GrowthLoop prefers it |
| Additional profile fields | Optional user dataFields. GrowthLoop loads available fields from your Iterable account |
Sync behavior
| Behavior | What happens |
|---|---|
| When it runs | GrowthLoop sends the sync as a batch on the next successful run. |
| User write | GrowthLoop sends users to Iterable bulk user update and can create new user fields. |
| Event write | GrowthLoop sends events to Iterable bulk event track and can create new event fields. |
| Event match | Map Event Name and Email or User ID. Map Event ID when you want to update an existing event. |
| User match | Map Email or User ID. |
| List membership | Syncs do not add or remove contacts from an Iterable list. |
| Deletes | GrowthLoop does not delete Iterable users or events. |
Rows without the required identifier fail.
Confirm the export was successful
When the run finishes, confirm you can use the data in Iterable.
- Audience export: Open Audience > Lists and look up the list named after your audience.
- Journey Destination Node: Open Audience > Lists and look up the list named after the export. If the node used Send Email or Send SMS, confirm the send in Iterable instead.
- User sync: Search for the user and check the mapped attributes.
- Event sync: Open Audience > User Lookup, search for a user, then open the Events tab.

In GrowthLoop, review Added and Removed counts on the audience Exports tab, open the Activity tab on the journey Destination Node, or confirm the sync appears in the Syncs table. See Export an audience, Monitor a journey, or Syncs for more information.
Congrats on successfully exporting to Iterable!
Troubleshooting
These are the issues we see most often. You can always email us at [email protected] for help.
| Problem | Cause | Resolution |
|---|---|---|
| Connection fails to validate | The API key is wrong, or it is not a server-side key | Create a new Server-side API key in Iterable and paste it into the destination |
| Rows fail to match on an export | Email is not mapped | Map the warehouse column that contains the customer's email address |
| An event sync does not update an existing event | Event ID is not mapped | Map Event ID when you need to update an event that already exists |
| A sync did not change a list | Syncs update users or events only | Export an audience, or use Add to List Only on a journey, to manage list membership |
| Send Email or Send SMS does not list a campaign | The campaign is not an active triggered campaign for that channel | Use an active triggered email or SMS campaign in Iterable |
| Send SMS fails | Phone or email is missing | Map Recipient's Phone Number and Recipient's Email |
Updated 16 days ago
