Skip to main content

What this is

The Iterable: Campaign Trigger destination sends customer data out of Zeotap CDP to Iterable in real time, as each customer reaches the Send to Destinations node of a Journeys workflow. Data does not flow back from Iterable into Zeotap CDP. In this model Zeotap CDP owns the segmentation and the workflow logic — it decides when a campaign should fire and which one. Iterable owns the creation, management and execution of the campaign itself, and acts when Zeotap CDP calls it. Zeotap CDP makes that call to Iterable as soon as a customer meets the condition you built into the journey, so the campaign is activated for that user immediately. Zeotap CDP has one Iterable: Campaign Trigger destination in the catalogue, documented once for each of the two ways it is driven. Both send data outbound:
  • Real-time integration (Journeys) — this page. The destination is linked from the Send to Destinations node of a workflow.
  • Batch integration (Audiences) — the same destination, linked to an audience.
The Integrations Master List records Iterable only as a destination, so there is no page for the opposite direction — Zeotap CDP does not read data from Iterable.

Supported identifiers and actions

Your Iterable project’s primary user identifier must be email, and the email address is what this integration matches customers on. Alongside it you can map any other catalogue attribute your campaign needs. The message categories come from the Gateway supported destinations table, which is also where you cap how often these sends reach a customer.

Prerequisites

In Iterable
  • Administrative or equivalent permission in your Iterable project to create and manage API keys.
  • Everything Iterable itself requires before a campaign can send.
  • The campaigns you want to fire already created and configured as API-Triggered Campaigns. Each one has a unique campaign ID, which the integration needs.
  • Those API-triggered campaigns activated and set to Running.
The Iterable campaigns list, with each campaign's channel and ID shown beneath its name, a Status column reading Running and Draft, Delivery and Engagement counts, and a Launch date column reading API-Triggered.
  • If you are going to use Update Subscriber List, the ID of the list you want to write to. You can read it from the ID column on Iterable’s Lists screen.
Note:The list is appended to every time you add a new user. If an identifier already exists on the list, the other fields on that record are updated instead.
The Iterable Lists screen, with the ID column holding each list's numeric ID alongside Name, Type, Created, Created by, Updated and Contacts columns.
In Zeotap CDP
  • The customer’s email address, available in Zeotap CDP at the moment the trigger fires, and matching the user profiles in Iterable.
  • A Journeys workflow to attach the destination to. See Create a Workflow.

Create an Iterable API key

The destination authenticates to Iterable with an API key, which you generate in Iterable.
1
Sign in to your Iterable project as an org admin, or as a member holding the Manage Integrations project permission.
2
Go to Integrations > API Keys. The screen lists the project’s existing API keys, but does not display the full key values.
3
Click New API Key.
4
In the Create API Key window, enter a name for the key and select the type of API key you want to generate.Give the key a descriptive name so you can tell later what it is used for — useful if you need to find and update it, or to disable or delete it for security reasons.
5
If you selected a client-side key type, two further settings appear:a. Event creation — either block the creation of new event definitions, or allow them for up to 14 days into the future. See Iterable’s notes on event creation.b. JWT authentication — selected by default, and recommended by Iterable. See Iterable’s notes on JWT authentication.
6
Click Create.
The Create API Key window in Iterable, with Name and Type fields and an Additional client-side API key settings panel holding the Event creation radio buttons and the JWT authentication checkbox.
7
In the Copy your new API key window, copy the API key.
The Copy your new API key window in Iterable, with the API key field, a Copy button beside it, and a Close button.
If the key requires JWT authentication, copy the JWT Secret as well — that is what your server uses when it generates per-user JSON Web Tokens.
The Copy your new API key and JWT secret window in Iterable, with separate API key and JWT Secret fields, each with its own Copy button.
Store these values somewhere secure before you close the window. Once it is closed, Iterable shows only the last 8 characters of the API key, and cannot show the JWT secret again. If you lose either one, create a new API key.

Create the Iterable: Campaign Trigger destination

1
Log into Zeotap CDP and go to Integrate > Destinations.
2
Click + Create Destination.
The Destinations screen in Zeotap CDP, with the + Create Destination button highlighted above the table of existing destinations.
3
Under All Destinations, search for Iterable. The catalogue returns a single Iterable: Campaign Trigger tile.
The All Destinations catalogue, with the Search for a Destination box highlighted above a grid of destination tiles.
The All Destinations catalogue filtered by a search for iterable, returning a single Iterable: Campaign Trigger tile.
4
Click Iterable: Campaign Trigger. The destination screen appears, describing the integration on the left and listing the fields it needs on the right. On the Destination Details tab, enter:a. Destination Name — a name for the destination, for easy identification.b. API key — the Iterable API key you created above.c. Data Center — the data centre of your Iterable instance: com for the US, eu for Europe.Review the values, then click Next.
The Destination Details tab of the destination creation screen, showing the Destination Name, API key and Data Center fields filled in, with a Mapping tab beside it.
5
On the Mapping tab, choose the action and define the field mapping.a. Under Choose your Action, select Trigger Campaign or Update Subscriber List.b. Under Map the Fields, pair each catalogue field with the Iterable destination field it feeds. For Update Subscriber List, Iterable’s Email destination field is required, so map the catalogue field that carries the email address — for example Email Raw — to it.c. Add any further attributes your campaign needs with + Add Mapping.
The Choose your Action step with Trigger Campaign selected, above a Map the Fields table whose Data Fields group pairs the Email Raw and First Name catalogue fields with Iterable's email and firstName destination fields.
The Choose your Action step with Update Subscriber List selected, above a Map the Fields table whose Subscribers Data group pairs the Email Raw catalogue field with Iterable's required Email destination field and Event Name 01 with eventName.
6
Click Create Destination. The destination is created and becomes available to link from a Journeys workflow.
For the general rules on actions and mappings that apply to every destination, see Configure a destination and Define the mapping.

Activate the destination in a journey

Once the destination exists, link it in the Send to Destinations node of your workflow.
1
In the workflow, click + and choose Send to Destinations.
The Choose an action menu on a Journeys workflow node, with Send to Destinations highlighted and its tooltip explaining that it forwards customer data to channels that send emails, show ads or run analytics.
2
Find your destination in the list of available destinations using the search box.
The Send to Destinations panel, with the search box highlighted above a grid of cards for the destinations already configured in the workspace.
3
On the Destination Details tab, the API key and Data Center fields are populated automatically from the values you entered when you created the destination. Below them, set the settings this journey needs:a. List Ids — the field’s helper text describes a non-empty array of Iterable list IDs to send to.b. Campaign ID — the API-triggered campaign to fire.
Note:While attaching a destination, Campaign ID might be a required field even if you are just trying to update a subscriber list. You can add any value to it. It will not be used.
The Iterable: Campaign Trigger panel opened from the journey node, on the Destination Details tab, with the List Ids and Campaign ID fields highlighted below the Destination Name, API key and Data Center fields.
The Destination Settings tab carries an allow repeat marketing sends setting, which you set to true or false as your use case requires.
4
Click Save Destination. The destination is attached to the node, showing its name, its ID and the action it will perform.
The Destinations node with an Iterable: Campaign Trigger destination attached, showing the destination card with its name and ID lines and the action name Trigger Campaign beneath them.

Verify the integration works

Check both sides. In Zeotap CDP
  • On the journey canvas, look at the destination node. Failures show red indicators and successful deliveries green ones. Open the node to see the Execution Details panel, which gives the failure status code, the timestamp, the destination name and the Request ID. See Identify Journey Errors.
  • To see exactly what was sent for one customer, use Journey Traces. It shows the raw input event that triggered the journey and the transformed output event sent to each destination node.
In Iterable
  • For Trigger Campaign, open the campaigns list. The campaign you targeted should be Running, and its Delivery column should show triggered and delivered counts climbing.
  • For Update Subscriber List, open the Lists screen and check the Contacts count on the list you wrote to.
The two sides will not match exactly — each platform applies its own filtering to the records it receives — but both should be non-zero.

Troubleshoot this integration

Start with the Journey Trace for a failing execution: it carries the destination’s own response, which usually says more than the error code alone. Then check the scope — if every customer fails at the node, the cause is normally authentication or mapping; if only a small share fail, it is normally consent or data quality. See Troubleshooting Workflows. For the full definitions, root causes and resolution steps, see Journey Error Codes. If the journey reports success but nothing sends from Iterable, re-check the prerequisites: the campaign must exist as an API-Triggered Campaign, and it must be activated and set to Running.

Next steps

Last modified on October 6, 2026