Skip to content
  • There are no suggestions because the search field is empty.

Iterable

Connect Anedot to Iterable to automatically send donation and lead data, configure custom events, map hidden fields, and trigger list subscriptions and purchase events for targeted multi-channel marketing campaigns.

Iterable is a cross-channel growth marketing platform used to build and manage personalized campaigns across email, SMS, push notifications, and more. It is especially popular for email and digital marketing automation.


Table of Contents


Connecting Anedot to Iterable

Follow these steps to connect your Anedot account with Iterable:

  1. In Anedot, go to Settings > Integrations > Directory.

  2. Click + New Connection.

  3. Select Iterable from the integration list.

  4. Choose the Action Pages to sync (default is all).

    • To exclude specific pages, enter their IDs in the Action Page IDs for Exclusion field (comma-separated, no spaces).

  5. Enter your Iterable API Key:

    • In Iterable, go to Integrations > API Keys

    • Copy your API key and paste it into Anedot

  6. (Optional) Configure the following advanced settings:

    • List ID(s): Automatically subscribe donors to one or more Iterable lists.

      • Click Add to input each List ID.

    • Campaign ID and Template ID:

      • Use Hidden Custom Fields to assign these by selecting them from the dropdown.

    • Custom Event:

      • Add a Custom Event for additional tracking.

      • Find this in Iterable under Settings > Custom Event Usage or Project Settings.

      • When set, Lead Page submissions will use the Custom Event (instead of Purchase Event).

    • Include Formatted Amounts:

      • Check this box to relay additional fields such as amount, amount_cents, amount_decimal, and amount_dollars on the Purchase Event payloads.

    • Field Names:

      • Optionally customize field labels. If left blank, default names will be used.

  7. Click Save to complete the connection.

Action Pages, API credentials, and optional configurations can be updated at any time.


Data Relays

Anedot relays the following types of data to Iterable:

Donation Pages

  • Triggers a Purchase event

  • Viewable in Iterable via Insights > Logs > Purchases
    Purchases


Lead Pages

  • If a Custom Event is configured, submissions trigger that event (not a Purchase event)

  • Viewable in Insights > Logs > Events
    Events


Abandoned Cart Support
Abandoned Cart

  • If Abandoned Actions is enabled in the Action Page Builder, Iterable will log potential submission activity

  • View this under the Contact Lookup section of a specific contact in Iterable


Subscriptions

  • If a List ID is set, a Subscribe event is triggered

  • View this in Iterable under:
    Contact Lookup 1

    • Contact Lookup > Events tab

    • Subscriptions tab

    • Lists tab


Custom Field Support

Only two Hidden Custom Fields are supported for relays:

  • Campaign ID

  • Template ID

Other custom fields will not be passed through the integration.


Field Mapping

Custom Field Names

In Step 6 of the Anedot to Iterable integration setup, you have the option to define Custom Field Names. These replace the default field labels in all relay types.

Note: Setting custom field names is optional—if left blank, default labels will be used.

Custom Field Name Default Label
Address Line 1 street
Address Line 2  street_2
City city
State state
Zip Code zip
Country country
Employer employer
First Name first_name
Last Name last_name
Occupation occupation
Referrer referrer
Source Code source_code
UTM Campaign utm_campaign
UTM Medium utm_medium
UTM Source utm_source
UTM Term utm_term
Highest Contribution Amount highest_contribution_amount
Most Recent Contribution Amount most_recent_contribution_amount
Most Recent Contribution Date most_recent_contribution_date
Recurring recurring
Total Amount Processed total_amount_process
Total Contributed This Year total_contributed_this_year
First Contribution Amount first_contribution_amount

Abandoned Cart

Abandoned Cart activity does not create a Submission or Donation record in Anedot.
 
Anedot Field Iterable Field
-
email 
{ } 
"true"
user 
{email}
{dataFields}
{mergeNestedObjects}
-
id
"Donation"
amount (x100)
"1" 
{ }
items 
{id}
{name}
{price}
{quantity}
{dataFields}

Custom Event / Lead Submission 

Anedot fields reflect the raw data submitted through the form, while Iterable fields represent the formatted data included in the relay's request body.

 
Anedot Field Iterable Field
email email
created_at createdAt
User-defined in Step 6 eventName
* Custom Hidden Field from Step 6 campaignId
-
referrerToForm
utmCodes {term} 
utmCodes {medium} 
utmCodes {source} 
sourceCode
utmCodes {campaign} 
actionPageName
dataFields
**{referrer}
**{utm_term}
**{utm_medium}
**{utm_source}
**{source_code}
**{utm_campaign}
**{action_page_name}
* 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 6, it will display those Field Names here instead. UTM fields can be added to the Page URL.



Purchase Events 

Anedot fields reflect the raw submission data, while Iterable fields correspond to the data formatted within the relay request body.
 
Anedot Field Iterable Field
email email
-
address {zip} 
address {city} 
email
address {region} 
address {line1} 
employerName
address {line2} 
lastName
firstName
occupation
phone
first_contribution_amount
highest_contribution_amount
total_contributed_this_year
most_recent_contribution_date
most_recent_contribution_amount
user {dataFields 
**{zip}
**{city}
{email}
**{state}
**{street}
**{employer}
**{street_2}
**{last_name}
**{first_name}
**{occupation}
{phoneNumber}
**{first_contribution_amount}
**{highest_contribution_amount}
**{total_contributed_this_year}
**{most_recent_contribution_date}
**{most_recent_contribution_amount}
"true" mergeNestedObjects
-
(Donation) id
"Donation"
amount (x100)
"1"
fundName
items 
{id}
{name}
{price}
{quantity}
{description}
-
referrerToForm utmCodes {term} 
utmCodes {medium} 
utmCodes {source} 
sourceCode
utmCodes {campaign}
items {dataFields  
**{referrer}
**{utm_term}
**{utm_medium}
**{utm_source}
**{source_code}
**{utm_campaign}
amount (x100) total
-
recurring
actionPageName
dataFields
**{recurring}
{action_page_name}

**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.


Payload Data

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": "admin@anedot.com",
    "dataFields": {
      "zip": "70113",
      "city": "New Orleans",
      "state": "LA",
      "street": "1340 Poydras St",
      "country": "US",
      "employer": "retired",
      "street_2": "",
      "last_name": "Dot",
      "first_name": "Annie",
      "occupation": "retired",
      "phoneNumber": "2015550123"
    },
    "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": "admin@anedot.com",
    "dataFields": {
      "zip": "70113",
      "city": "New Orleans",
      "email": "admin@anedot.com",
      "state": "LA",
      "street": "1340 Poydras St",
      "hca_amt": 104.48,
      "mcr_amt": 37.14,
      "employer": "student",
      "street_2": "2541",
      "last_name": "Dot",
      "first_name": "Annie",
      "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": "admin@anedot.com",
  "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": "admin@anedot.com",
    "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"
  }
}