Links

Iterable

Create personalized messaging campaigns for your customers. Attach customer metadata from Freshpaint to the user profiles in your Iterable project.
This integration makes it easy for you to identify your users, track events, and track page views.

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 identifier
  • UserID-based: uses userId as the unique identifier
  • Hybrid: Uses email and userID as unique identifiers

Destination Info

Client-side
Server-side
Web
Mobile
Server

Getting Started

  1. 1.
    Navigate to Integrations > API Keys.
  2. 2.
    Click New API Key.
  3. 3.
    Give your API key a name (for example, "Freshpaint Integration") and select Server-side.
  4. 4.
    Click Create.
  5. 5.
    Copy the API key to your clipboard.

How to set up Iterable in Freshpaint

  1. 1.
    Navigate to Destinations > Apps and find Iterable in the list. Click Configure.
Search for Iterable in the Freshpaint destinations list.
2. Paste your Iterable server-side API key in the API Key box, and click Save.
3. That's it! The integration status should now be active.

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:
freshpaint.identify("<userId>", {
"email": "<email>"
});
  • 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/or userId property. If you do include both email and userId 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.
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.
Freshpaint User Property
Iterable Property
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 modified 1mo ago