Iterable is a growth marketing automation platform that is used by organizations to create and manage personalized marketing campaigns across various channels. It is primarily used for email and digital marketing purposes.
Connect Anedot to Iterable
To connect Anedot to Iterable, follow the steps below:
Access the Settings>Integrations>Directory tab.
Click the blue + New Connection button.
Select Iterable from the Directory
Next, select the Action Pages you would like synced with Iterable.
To exclude Action Pages, enter the individual Action Page IDs within the Action Page IDs for Exclusion field, separating each ID with a comma (no spaces).
Apply your Iterable API Key.
To locate your Iterable API Key, log in to Iterable. Hover over Integrations, then click API Keys. Copy API Key and paste into Iterable API Key field.
List IDs (Optional): Enter List ID(s) to automatically subscribe donors and supporters to specific Iterable Lists.
To apply a List ID, click the Add button to the right of List IDs (above the Iterable API Key field). Click Add multiple times for additional List IDs.
Campaign ID (Optional): Connect a Hidden Custom Field to the Campaign ID by clicking the dropdown menu.
Template ID (Optional): Connect a Hidden Custom Field to the Template ID by clicking the dropdown menu.
Custom Event (Optional): Apply a Custom Event for additional tracking.
Locate your Custom Event within the Settings>Custom Event Usage tab or under Project Settings in Iterable.
When provided, Lead Submissons will relay via the Custom Event and not the Purchase Event.
Include Formatted Amounts (Optional): Check the box for Include Formatted Amounts to relay additional fields such as amount, amount_cents, amount_decimal, and amount_dollars on Purchase Event payloads.
Field Names (Optional): Apply custom Field Names (Field Labels in relays). If left blank, data will be relayed as the default format.
Click Save to complete your connection!
Data Relays
Anedot relays data from Donation and Lead Pages to Iterable.
Purchase events are relayed for donations.
These events can be viewed in Iterable's Insights>Logs>Purchases tab.
When Abandoned Actions has been enabled within the Action Page Builder, Iterable will send relays for potential submitters.
The Abandoned Cart Support can be found under an individual Contact Lookup.
If a List ID has been included in the connection, a Subscribe event is created, and the donor will be subscribed to the list.
Subscribe events can be viewed within the Iterable Events, Subscriptions, and List tabs.
If a Custom Event is included in the connection, this event will be relayed for Lead Page submissions.
When specified, Lead Page submissions are only relayed through Custom Events.
When specified, Donation Page submissions continue to be relayed only through Purchase events.
Custom Events in Iterable can be viewed within the Insights>Logs>Events tab.
Two Custom Hidden Fields are supported: one for Campaign ID and one for Template ID. Other custom fields will not be relayed.
In Iterable, you can review the following:
Purchase events - Insights > Logs > Purchases.
Custom events - Insights > Logs > Events.
Subscribe events - under an individual Contact Lookup.
Under the main view, the "Events" tab or "Subscriptions" tab
Can also review subscribed lists under the "Lists" tab.
Abandoned Cart Support- under an individual Contact Lookup.
Field Mapping
Custom Field Names
Field Names set up within Step 8 of the Anedot to Iterable connection replace the default field labels within all types of relays. As a reminder, the Field Name setup is optional.
Address Line 1 (default: street)
Address Line 2 (default: street_2)
City (default: city)
State (default: state)
Zip Code (default: zip)
Country (default: country)
Employer (default: employer)
First Name (default: first_name)
Last Name (default: last_name)
Occupation (default: occupation)
Referrer (default: referrer)
Source Code (default: source_code)
UTM Campaign (default: utm_campaign)
UTM Medium (default: utm_medium)
UTM Source (default: utm_source)
UTM Term (default: utm_term)
Highest Contribution Amount (default: highest_contribution_amount)
Most Recent Contribution Amount (default: most_recent_contribution_amount)
Most Recent Contribution Date (default: most_recent_contribution_date)
Recurring (default: recurring)
Total Amount Processed (default: total_amount_processed)
Total Contributed this Year (default: total_contributed_this_year)
First Contribution Amount (default: first_contribution_amount)
Abandoned Cart
Abandoned Cart does not create a Submission or Donation record in Anedot. This data will not be found in the Anedot Staff areas.
Anedot Field | Iterable Field |
- | user { |
- | items { |
Custom Event/LeadSubmission
The Anedot Fields match the Submission's Raw Data and the Iterable Fields match the Request Body relay.
Anedot Field | Iterable Field |
created_at | createdAt |
User-defined in Step 6 | eventName |
*Custom Hidden Field from Step 8 | campaignId |
- | dataFields { |
*Custom Hidden Field from Step 8 | templateId |
"true" | createNewFields |
*Custom Hidden Fields must be added to the Anedot AP in order to be relayed.
**This table shows the default field mapping. If custom Field Name mapping is saved within Step 9, it will display those Field Names here instead. UTM fields can be added to the Page URL.
Purchase Events
The Anedot Fields match the Submission's Raw Data and the Iterable Fields match the Request Body relay.
Anedot Field | Iterable Field |
- | user { dataFields { |
"true" | mergeNestedObjects |
- | items { |
- | items { dataFields { |
amount (x100) | total |
- | dataFields { |
**This table shows the default field mapping. If custom Field Name mapping is saved within Step 9, it will display those Field Names here instead. UTM fields can be added to the Page URL.
Example Payloads
Payloads are available for Purchase Events, Abandoned Actions, and Custom Events (for lead submissions when specified).
Additional fields are added to each payload to send List ID, Campaign ID, Template ID, and Amount Formatting (when they are specified).
Request Headers - Potential Submitter (Abandoned Cart)
{
"Api-Key": "[REDACTED]",
"User-Agent": "Anedot/6a9989c4",
"Content-Type": "application/json",
"X-Uniq-Identifier": "i2209cdadd44305cc5210"
}
Request Body - Purchase Event (without Amount Formatting Enabled)
{
"user": {
"email": "anna.dote@anedot,com",
"dataFields": {
"zip": "99999",
"city": "New Orleans",
"state": "LA",
"street": "123 Anedot Way",
"country": "US",
"employer": "retired",
"street_2": "",
"last_name": "Dote",
"first_name": "Anna",
"occupation": "retired",
"phoneNumber": "2252501301"
},
"mergeNestedObjects": true
},
"items": [{
"id": "d12ff55f0bff0f80c72ab",
"name": "Donation",
"price": 50.0,
"quantity": 1,
"dataFields": {
"referrer": "https://secure.anedot.com/finerthingsinlife/donate",
"utm_term": null,
"utm_medium": null,
"utm_source": null,
"source_code": null,
"utm_campaign": null
},
"description": "General Fund"
}],
"total": 50.0
}
Request Body - Purchase Event (with Amount Formatting, Campaign ID, Template ID, and custom field labels set)
{
"user": {
"email": "[email protected]",
"dataFields": {
"zip": "99999",
"city": "New Orleans",
"email": "[email protected]",
"state": "LA",
"street": "123 Anedot Way",
"hca_amt": 104.48,
"mcr_amt": 37.14,
"employer": "student",
"street_2": "6789",
"last_name": "Dote",
"first_name": "Anna",
"occupation": "student",
"phoneNumber": "2252501301",
"first_contribution_amount": 200.0,
"highest_contribution_amount": 200.0,
"total_contributed_this_year": 322.0,
"most_recent_contribution_date": "2023-06-01T16:50:55.648-05:00",
"most_recent_contribution_amount": 50.0
},
"mergeNestedObjects": true
},
"items": [{
"id": "dc5171a5bf272359d3823",
"name": "Donation",
"price": 37.14,
"quantity": 1,
"dataFields": {
"referrer": "https://secure.anedot.com/",
"utm_term": null,
"utm_medium": null,
"utm_source": null,
"source_code": null,
"utm_campaign": null
},
"description": "General Fund"
}],
"total": 37.14,
"campaignId": 6733967,
"dataFields": {
"amount": "37.14",
"recurring": false,
"amount_cents": 3714,
"amount_decimal": 37.14,
"amount_dollars": "$37.14",
"action_page_name": "Iterable Donations"
},
"templateId": 9012209
}
Request Body - Custom Event (Example: petition.signed)
{
"email": "[email protected]",
"createdAt": 1683044154,
"eventName": "petition.signed",
"campaignId": 6733967,
"dataFields": {
"referrer": "https://secure.anedot.com/",
"utm_term": null,
"utm_medium": null,
"utm_source": null,
"source_code": null,
"utm_campaign": null,
"action_page_name": "General Fund"
},
"templateId": 9012209,
"createNewFields": true
}
Request Body - Potential Submitter (Example: Abandoned Cart)
{
"user": {
"email": "[email protected]",
"dataFields": {},
"mergeNestedObjects": true
},
"items": [{
"id": "3fe73bc5-31ea-445b-9885-32ddc03c4f5b",
"name": "Donation",
"price": 25.0,
"quantity": 1,
"dataFields": {}
}]
}
Response Body - Purchase Event
{
"msg": "Single user ingestion successful.",
"code": "Success",
"params": {
"id": "aae425e43c85479db339e17db48d4a5d"
}
}
Response Body - Custom Event (Example: petition.signed)
{
"msg": "Event with id: d63e602d29bc4cd8a41cb2e3616e458e tracked.",
"code": "Success",
"params": {
"id": "d63e602d29bc4cd8a41cb2e3616e458e"
}
}
Response Body - Potential Submitter (Example: Abandoned Cart)
{
"msg": "Single user ingestion successful.",
"code": "Success",
"params": null
}
Response Body (Failure)
{
"msg": "Invalid API key",
"code": "BadApiKey",
"params": {
"ip": "52.13.182.211",
"endpoint": "/api/commerce/trackPurchase"
}
}