Iterable
This page describes how to use Census with Iterable.
Iterable is a growth marketing platform that enables brands to create, execute, and optimize campaigns to power world-class customer engagement across email, push, SMS, in-app, and more with unparalleled data flexibility.
Getting Started
The first step is to create a new API key in Iterable. API keys are created within an Iterable Project so ensure you're in the project you want to connect to Census.
Within your Iterable project, click the Integration option in the top menu and select API keys.
We recommend you create a new API key for Census. Click + New API Key in the top right.
Select the "Server-side" key type from the subsequent dropdown.
Copy the resulting key (a string of 32 characters).
You'll also need to know your Iterable region. This is not currently displayed in the UI, but should be visibile in the URL when you're logged into Iterable.
Back in Census, navigate to the Destinations page and click Add Destination. Select Iterable from the list of destinations. Provide your API Key and select your region. Finally click Save.
Supported Objects and Sync Behaviors
Object Name
Supported?
Sync Keys
Behaviors
User
✅
User ID, Email
Update or Create, Update Only
Event
✅
Event ID
Send
Catalog
✅
Key
Update or Create, Mirror
Static List
✅
User ID, Email
Mirror
Handling Nested Objects
Iterable supports nested objects and fields on its User object. If you would like to send JSON, Arrays, or JSON Arrays to a field in Iterable, you may.
For most data warehouses, there are specific datatypes for these types of values. However, Amazon Redshift does not natively support JSON, so you will want to store this type of data as a string value. Provided that the values are valid JSON, Census will ensure that it is nested as expected when sending the data to Iterable.
As an example, valid JSON for a field named "subscription" could have the following value:
Syncing to GeoLocation Fields
The destination field name must use the suffix
_geo_location
. NOTE: The suffix is case sensitiveThe geo_location object data can only contain two fields,
lat
andlon
Example:
{ "lat": 31, "lon": -14 }
Syncing to Catalogs
Iterable Catalogs let you create custom objects within Iterable that can be associated with users. Here's a few tips when using Catalogs to make sure your sync is successful.
Census will rely on the schema you've defined inside Iterable. We don't currently allow you to create fields from Census.
We strongly recommend that you specify the type of each catalog field through the Iterable UI before using Census to sync items. Untyped fields are not searchable by collections. And any catalog item uploaded before a field is typed will not have searchable by that field. If we see an untyped field in Census, we will send string values to that field because we don't know what type it should be.
In practice, even if a field is typed, Iterable will accept and update field values of different types. For instance, if the
age
field is typed as a Long, but we send a value of "25", Iterable will accept and update records to use the string "25" as age.Iterable can take a while to process new Catalog items. In some cases, we see Iterable take as long as 20 minutes before the record appears.
Invalid Email Rejections
When syncing to the User object Iterable may reject some records with the message Invalid Email
. This is thrown for in the following cases
Need help connecting to Iterable?
Last updated
Was this helpful?