Iterable is currently in beta. The info in this guide is subject to change.
This integration is powered by Singer's Iterable tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
Iterable integration summary
Stitch’s Iterable integration replicates data using the Iterable API 1.8. Refer to the Schema section for a list of objects available for replication.
Iterable feature snapshot
A high-level look at Stitch's Iterable (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Beta |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Iterable
Iterable setup requirements
To set up Iterable in Stitch, you need:
-
You must be an org admin or a user with API and Webhook configuration permissions in your Iterable account.
Step 1: Generate an Iterable API key
- Sign into you Iterable account.
- Navigate to Integrations>API Keys.
- Click New API Key.
- In the Create a new API key window, name your API key and select read-only.
- Click Create.
- Copy your new API key and have it ready for the next step.
Step 2: Add Iterable as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Iterable icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Iterable” would create a schema called
stitch_iterable
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Iterable API Key field, paste the API key you copied in step 1.
- In the API Window in Days field, enter a value. This parameter should be set to an optimum value to improve historical sync performance. Setting this value too low will take longer to complete historical sync and setting it larger may result in request timeouts or memory overflow issues.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Iterable integration. This means that:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
Change this setting if you want to replicate data beyond Iterable’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Iterable integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Iterable integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up Iterable, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Iterable table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Iterable integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
campaigns
Replication Method : |
Key-based Incremental |
Replication Key |
updatedAt |
Primary Key |
id |
API endpoint : |
The campaigns table contains information about campaigns in your Iterable projcect.
id
The campaign ID. Reference: |
updatedAt
The time the campaign was updated. |
campaignState
|
createdAt
|
createdByUserId
|
endedAt
|
labels
|
listIds
|
messageMedium
|
name
|
recurringCampaignId
|
sendSize
|
startAt
|
suppressionListIds
|
templateId
The template ID. Reference: |
type
|
updatedByUserId
|
workflowId
|
channels
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The channels table contains information about all channels within your Iterable project.
id
The channel ID. Reference: |
channelType
|
messageMedium
|
name
|
email_bounce
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_bounce table contains information about bounced emails within your Iterable campaign.
email
The user email. Reference: |
||
createdAt
The time the email bounce was created. |
||
campaignId
The campaign ID. Reference: |
||
eventName
|
||
itblInternal
|
||
messageId
|
||
recipientState
|
||
status
|
||
templateId
The template ID. Reference: |
email_click
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_click table contains information about clicks on your Iterable email campaign.
email
The user email. Reference: |
||
createdAt
The time the email click was created. |
||
campaignId
The campaign ID. |
||
city
|
||
contentId
|
||
country
|
||
eventName
|
||
hrefIndex
|
||
ip
|
||
itblInternal
|
||
messageId
|
||
region
|
||
templateId
The template ID. Reference: |
||
url
|
||
userAgent
|
||
userAgentDevice
|
email_complaint
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_complaint table contains information about email recipients that sent complaints for your Iterable campain.
email
The user email. Reference: |
||
createdAt
The time the email complaint was created. |
||
campaignId
The campaign ID. Reference: |
||
eventName
|
||
itblInternal
|
||
messageId
|
||
recipientState
|
||
templateId
The template ID. Reference: |
email_open
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_open table contains information about email recipients that opened your Iterable campaign.
email
The user email. Reference: |
||
createdAt
The time the email was opened. |
||
campaignId
The campaign ID. Reference: |
||
city
|
||
contentId
|
||
country
|
||
eventName
|
||
ip
|
||
itblInternal
|
||
messageId
|
||
proxySource
|
||
region
|
||
templateId
The template ID. Reference: |
||
userAgent
|
||
userAgentDevice
|
email_send
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_send table contains information about campaign emails you sent in your Iterable account.
email
The user email. Reference: |
||||||||||||||||||||||||
createdAt
The time the email was sent. |
||||||||||||||||||||||||
campaignId
The campaign ID Reference: |
||||||||||||||||||||||||
catalogCollectionCount
|
||||||||||||||||||||||||
catalogLookupCount
|
||||||||||||||||||||||||
channelId
The channel ID. Reference: |
||||||||||||||||||||||||
contentId
|
||||||||||||||||||||||||
espName
|
||||||||||||||||||||||||
itblInternal
|
||||||||||||||||||||||||
messageBusId
|
||||||||||||||||||||||||
messageId
|
||||||||||||||||||||||||
messageTypeId
|
||||||||||||||||||||||||
productRecommendationCount
|
||||||||||||||||||||||||
templateId
The template ID. Reference: |
||||||||||||||||||||||||
transactionalData
|
email_send_skip
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_send_skip table contains information about campaign email recipients that were skipped in your Iterable account.
email
The user email. Reference: |
||||||||||||||||||||||||
createdAt
The time the skipped email was created. |
||||||||||||||||||||||||
campaignId
The campaign ID. Reference: |
||||||||||||||||||||||||
channelId
The channel ID. Reference: |
||||||||||||||||||||||||
contentId
|
||||||||||||||||||||||||
itblInternal
|
||||||||||||||||||||||||
messageId
|
||||||||||||||||||||||||
messageTypeId
|
||||||||||||||||||||||||
reason
|
||||||||||||||||||||||||
templateId
The template ID. Reference: |
||||||||||||||||||||||||
transactionalData
|
email_subscribe
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_subscribe table contains information about emails subscribed to your Iterable campaign.
email
The user email. Reference: |
||
createdAt
The time the subscription was created. |
||
campaignId
The campaign ID. Reference: |
||
channelIds
The channel IDs the email is subscribed to.
|
||
emailListId
|
||
emailListIds
|
||
eventName
|
||
itblInternal
|
||
profileUpdatedAt
|
||
signupSource
|
||
templateId
The template ID. Reference: |
||
userId
|
||
workflowId
|
email_unsubscribe
Replication Method : |
Key-based Incremental |
Replication Key |
createdAt |
Primary Key |
|
API endpoint : |
The email_unsubscribe table contains information about emails unsubscribed from your Iterable campaign.
email
The user email. Reference: |
||
createdAt
The time the email unsubscribed. |
||
bounceMessage
|
||
campaignId
The campaign ID Reference: |
||
channelId
The channel ID. Reference: |
||
channelIds
The channel IDs the email unsubscribed from.
|
||
emailListId
|
||
emailListIds
|
||
eventName
|
||
itblInternal
|
||
messageId
|
||
recipientState
|
||
status
|
||
templateId
The templateId Reference: |
||
unsubSource
|
||
workflowId
|
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The lists tablecontains information about lists within your Iterable project.
id
The list ID. Reference: |
createdAt
|
description
|
listType
|
name
|
list_users
Replication Method : |
Full Table |
Primary Key |
email : listId |
API endpoint : |
The list_users table contains information about users in a list in your Iterable account.
email
The user email. Reference: |
listId
The list ID. Reference: |
updatedAt
|
message_types
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The message_types table contains information about all message types within your Iterable project.
id
The message type ID. Reference: |
channelId
The channel ID. Reference: |
createdAt
|
name
|
subscriptionPolicy
|
updatedAt
|
metadata
Replication Method : |
Full Table |
Primary Key |
key |
API endpoint : |
The metadata table contains the metadata for a single key in your Iterable account.
key
They metadata key. |
|||||||||||||||
lastModified
|
|||||||||||||||
size
|
|||||||||||||||
table
|
|||||||||||||||
value
|
templates
Replication Method : |
Key-based Incremental |
Replication Key |
updatedAt |
Primary Key |
templateId |
API endpoint : |
The templates table contains information about project templates in you Iterable account.
templateId
The template ID. Reference: |
updatedAt
The time the template was updated. |
campaignId
The campaign ID. Reference: |
clientTemplateId
|
createdAt
|
creatorUserId
|
messageTypeId
The message type ID. Reference: |
name
|
Replication Method : |
Key-based Incremental |
Replication Key |
profileUpdatedAt |
Primary Key |
|
API endpoint : |
The users table contains information about all users in your Iterable account.
email
The user email. Reference: |
|
profileUpdatedAt
The time the profile was updated. |
|
CCProvider
|
|
Industry
|
|
accessIp
|
|
acquisition_source
|
|
actively_seeking
|
|
age
|
|
auctionDigest
|
|
auctionDigest
|
|
auctionDigest.auctionDateLocation
|
|
auctionDigest.auctionHouse
|
|
auctionDigest.auctionImageUrl
|
|
auctionDigest.auctionInfo
|
|
auctionDigest.name
|
|
averageOrderValue
|
|
badgeCount
|
|
bestFriend
|
|
booked_activity_before
|
|
booked_package_before
|
|
browserTokens
|
|
city
|
|
congressional Districts
|
|
counties
|
|
current_employer
|
|
current_employer_id
|
|
date_last_booked_package
|
|
daysSinceLastOrder
|
|
designation
|
|
devices
|
|
devices
|
|
devices.applicationName
|
|
devices.endpointEnabled
|
|
devices.platform
|
|
devices.platformEndpoint
|
|
devices.token
|
|
emailListIds
|
|
estimatedSizing
|
|
experience
|
|
favoriteAnimal
|
|
favoriteCategories
|
|
favoriteCategories
|
|
favoriteCategories.category
|
|
favoriteCategory
|
|
favoriteCuisine
|
|
favoriteItem
|
|
favoriteProduct
|
|
favoriteRestaurant
|
|
favoriteShowCategories
|
|
favorite_category
|
|
favoritedShows
|
|
fb_follow
|
|
featuredDeal
|
|
firstName
|
|
gender
|
|
hasMobileApp
|
|
highestBidPrice
|
|
house Districts
|
|
industry
|
|
installedDropbox
|
|
installed_sync
|
|
interested_in_detergent
|
|
interested_in_soap
|
|
interested_in_toilet_paper
|
|
invoice
|
|
invoice
|
|
invoice.customAmount
|
|
invoice.customSubTotal
|
|
invoice.customerEmail
|
|
invoice.customerName
|
|
invoice.invoiceDate
|
|
invoice.invoiceNumber
|
|
invoice.merchantName
|
|
invoice.totalDue
|
|
is_active
|
|
is_available
|
|
itblInternal.emailDomain
|
|
jobRecommendations
|
|
jobRecommendations
|
|
jobRecommendations.applicationURL
|
|
jobRecommendations.description
|
|
jobRecommendations.id
|
|
jobRecommendations.imageUrl
|
|
jobRecommendations.name
|
|
job_categories_interested
|
|
job_title
|
|
lastAccessedAgent
|
|
lastKnownLatitude
|
|
lastKnownLongitude
|
|
lastName
|
|
lastOrderlocation
|
|
lastOrderrestaurant
|
|
last_game_played
|
|
last_purchased
|
|
last_purchased_category
|
|
last_session_date
|
|
level
|
|
lifetime Dontation
|
|
lifetime_Spent
|
|
locale
|
|
location
|
|
loyalty_member
|
|
loyalty_points
|
|
loyalty_program
|
|
major
|
|
marketSmith_subscription
|
|
merchantId
|
|
name
|
|
newListedVehicles
|
|
newListedVehicles
|
|
newListedVehicles.category
|
|
newListedVehicles.imageUrl
|
|
newListedVehicles.miles
|
|
newListedVehicles.name
|
|
newListedVehicles.noHagglePrice
|
|
newListedVehicles.price
|
|
newListedVehicles.sku
|
|
offers
|
|
offers
|
|
offers.Intro APR
|
|
offers.categories
|
|
offers.description
|
|
offers.id
|
|
offers.imageUrl
|
|
offers.intro APR
|
|
offers.name
|
|
offers.quantity
|
|
offers.sku
|
|
offers.url
|
|
onboardingCohort
|
|
paid_user
|
|
passively_seeking
|
|
phoneNumber
|
|
phoneNumberDetails
|
|
phoneNumberDetails
|
|
phoneNumberDetails.carrier
|
|
phoneNumberDetails.countryCodeISO
|
|
phoneNumberDetails.lineType
|
|
phoneNumberDetails.updatedAt
|
|
promoCode
|
|
readingList
|
|
readingList
|
|
readingList.avgRating
|
|
readingList.bookAuthor
users (table), readingList.bookAuthor (attribute)
|
|
readingList.bookName
|
|
readingList.imageUrl
|
|
recommendedVehicles
|
|
recommendedVehicles
|
|
recommendedVehicles.TrueCar Estimate
|
|
recommendedVehicles.category
|
|
recommendedVehicles.estimateDescription
|
|
recommendedVehicles.imageUrl
|
|
recommendedVehicles.name
|
|
recommendedVehicles.sku
|
|
region
|
|
sat
|
|
scheduled_ride
|
|
selected_games
|
|
senate Districts
|
|
shoppingCartItems
|
|
shoppingCartItems
|
|
shoppingCartItems.categories
|
|
shoppingCartItems.description
|
|
shoppingCartItems.id
|
|
shoppingCartItems.imageUrl
|
|
shoppingCartItems.name
|
|
shoppingCartItems.price
|
|
shoppingCartItems.quantity
|
|
shoppingCartItems.sku
|