Iterable
Cross-channel marketing platform for building, optimising, and measuring customer engagement campaigns across email, push, SMS, and more.
Prerequisites
Complete these steps in Iterable before configuring Signal.
Access your Iterable account
Log in to the Iterable dashboard at app.iterable.com (US) or app.eu.iterable.com (EU). If you do not have an account, contact your Iterable representative.
Create or select a project
If you have multiple projects, select the project you want to send events to from the project switcher in the top navigation. Note the Project ID from Settings > Project Settings.
Generate an API key
Navigate to Integrations > API Keys and click New API Key. Configure the key:
- Give it a name (e.g. “Datafly Signal”).
- Set the key type to Server-side.
- Click Create.
- Copy the API key immediately — it will not be shown again.
Use a Server-side key type, not a Mobile or JWT key. Server-side keys have the correct permissions for event tracking and user management.
Determine your data centre
Your Iterable data centre determines the API endpoint. Check your dashboard URL:
| Dashboard URL | Data Centre | Value for Signal |
|---|---|---|
app.iterable.com | US | us |
app.eu.iterable.com | EU | eu |
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
api_key | secret | Yes | Your Iterable server-side API key. Generated in Integrations > API Keys. |
project_id | string | Yes | The Iterable project ID. Found in Settings > Project Settings. |
data_center | select | Yes | Your Iterable data centre (us or eu). Determines the API endpoint. |
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find Iterable or filter by CDP.
- Click Install, and fill in the required fields with the credentials gathered above.
- Click Install Integration to create the integration with a ready-to-use default configuration.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/iterable/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Iterable",
"variant": "default",
"config": {
"api_key": "xxxxxxxxxxxxxxxxxxxx",
"project_id": "12345",
"data_center": "us"
},
"delivery_mode": "server_side"
}'Event Mapping
Signal events are mapped to Iterable API calls as follows:
| Signal Event | Iterable Concept | Notes |
|---|---|---|
page | Custom event | Page view data sent as a custom event via the /events/track endpoint |
track | Custom event | Event name and properties forwarded as Iterable custom events |
identify | User update | Email and traits sent via /users/update to create or update user profiles |
track (purchase) | Purchase event | Order data sent as a commerce event via /commerce/trackPurchase |
Iterable identifies users primarily by email. Ensure your Signal events include an email property for proper user matching.
Delivery
Events are delivered server-side from your Datafly Signal infrastructure directly to the Iterable API. No client-side scripts are loaded for this integration.
Testing
- After installing the integration, trigger a test event from your website or via the Signal event API.
- In Iterable, navigate to Audience > Contact Lookup and search for the test user by email to verify the user was created.
- Click into the user profile and check the Events tab to verify custom events were received.
- In Signal, check the Live Events view to confirm the event was delivered with a
200response status.
Troubleshooting
| Symptom | Possible Cause | Resolution |
|---|---|---|
401 Unauthorized | Invalid API key | Regenerate the API key in Iterable Integrations > API Keys and update the integration config |
400 Bad Request | Wrong key type | Ensure you are using a Server-side API key, not a Mobile or JWT key |
| User not created | Missing email | Iterable requires an email address to create user profiles |
| Wrong data centre | US/EU mismatch | Check your Iterable dashboard URL and ensure the data_center config matches |
429 Too Many Requests | Rate limit exceeded | Iterable applies per-project rate limits. Contact Iterable support if limits need increasing |
Visit Iterable documentation for full API reference and project setup details.