Iterable Reference
Iterable Project Types
Projects in Iterable use a specific field to identify each user. Each project can be set so email
and/or userId
can be selected as the project's unique identifier at the time of creation.
There are 3 types of projects available to identify users:
Email-based: uses
email
as the unique identifierUserID-based: uses
userId
as the unique identifierHybrid: Uses
email
anduserID
as unique identifiers
Learn more about determining the best setting for your project.
Destination Info
Supports HIPAA mode
Connection Modes:
Web
Mobile
Server
Identify
When you call freshpaint.identify(), Freshpaint will create or update a User profile in Iterable by hitting Iterable's API identify endpoint at: /api/users/update. Here is an example of an identify call:
For email-based projects, you must include an
email
property.For userId-based projects, you must include an
userId
property.For hybrid projects, you must include an
email
and/oruserId
property. If you do include bothemail
anduserId
at the top level of an identify call, precedence rules apply.
You can find identified users from the contact lookup page in Iterable.
When Freshpaint receives new user property data, it will update the contact properties for the corresponding user profile in Iterable.
In order to send emails to a user in Iterable, you must first send an identify call with the email
property.
Events
When you send an event to Iterable from Freshpaint, Freshpaint will create an event and attach it to the matching user's profile. It does so by sending a POST request to Iterable's events API endpoint at: /api/events/track
You can use events to segment your users and build personalized journeys.
Users need to first be identified before events can be associated with their user record, as Iterable doesn't support anonymous users. Freshpaint events for anonymous users will not be sent to Iterable.
Learn more about how to handle anonymous users in Iterable.
You can see events associated with each user by searching for the user profile under contact lookup:
You can also view all your events in the events log under "Insights":
Track Purchases
If you track an event with the special event name Order Completed
, we will send this as a Purchase event in Iterable by hitting their track purchase API endpoint at: /api/commerce/trackPurchase. You can see those Purchase events populated in your purchase event log of your Iterable account.
There are some things you need to know in order to do this effectively:
You must include a
campaignId
property, which must be the id of the campaign you are associating the purchase with;You must include a
templateId
property, which is the id of the template of the campaign being associated;You must include an
items
property, which is an array of objects that represent the items being purchased;You must have a
total
property, which is the total price of the purchase event.
If you do not have all of these together, then your purchase event will not be sent to Iterable. You should use Freshpaint's event tester for Iterable to verify that what you want to do in your code will work. You can find more information on Iterable's API documentation.
Page Views
When Freshpaint receives new page views, it will update the event history for the corresponding user profile in Iterable.
Configuration Options
Enable Default Identify Transformations
Enable this setting to apply a default set of transformations from Freshpaint User Properties to Iterable Properties when making Identify calls.
first_name
firstName
last_name
lastName
phone_number
phoneNumber
date_of_birth
dateOfBirth
zip_code
zipCode
Changing this setting for an existing project may leave Iterable profiles in an inconsistent state with both old and new properties.
You can find this option right below where you save your API key.
Event Transformations
Set up transformations to modify your data before it's sent to your destination. Read more about transformations here.
Date Fields in Iterable
If you are sending in a date field to Iterable, it must be a specific type of string. You may want to send date fields to Iterable in order to aid in segmentation. You can read more about that here. Iterable has a specific date format that must be used to segment a field by date.
Acceptable date formats include:
yyyy-MM-dd HH:mm:ss ZZ
2000-01-01 00:00:00 -04:00
yyyy-MM-dd HH:mm:ss
2000-01-01 00:00:00
yyyy-MM-ddTHH:mm:ss.SSSZZ
2000-01-01T00:00:00.000-04:00
yyyy-MM-dd
2000-01-01
Last updated