You can store information about your users' individual attributes and behavior (like their geographic region, age, product preferences, and devices) in fields on their Iterable user profile.
In this article
Uploading user data to Iterable
There are a few ways to add or update user data in Iterable, including:
Importing users with a CSV upload
You can add or update user profile fields by uploading a CSV file in which one
userId) represents the user's email address or user ID,
and the rest of the columns represent the individual user profile fields you
want to add or update for those users. Uploading a CSV file with new values for
existing user profile fields overwrites the current values for those fields on
the user profile.
To learn more, see:
Importing users with Iterable's API
You can add or update user data by calling the
API endpoint and including your desired user profile fields in the
For more information, see API Overview and Sample Payloads.
Creating and updating user profile fields
Iterable automatically creates some user profile fields, but you can also create custom user profile fields to fit your unique business needs. (For a full list of the fields Iterable manages automatically, see User Profile Fields Used by Iterable.)
For example, if the Enable user IP to location lookup
setting is enabled for your project, when you provide a user's IP address (in the
ip field), Iterable also adds the
fields to that user's profile.
When you set the
timeZone fields on your users' profiles, you can
deliver messages according to each user's local time. For more information, see:
Selecting a data type
Each user profile field has an associated data type: string, boolean, double, long, date, object, or array.
Once set, a field's data type can't be changed. API calls attempting to add or update an existing field with a value that cannot be coerced into the appropriate data type will fail. Use caution when creating new user profile fields.
Selecting a field name
When you create new custom user profile fields, don't give them the same names as any of Iterable's built-in user profile fields. If you do, it may cause errors.
Once created, user profile fields can't be deleted, but you can choose to hide any user profile fields you no longer need in your Project Settings. Hidden user profile fields can't be selected in segmentation, journey filters, or template editors.
Tracking shopping and purchase data
Iterable's Commerce API endpoints let you track customer shopping events and purchases.
To track a user's shopping cart on your website or app, use the
API endpoint. You can add each cart item in the
items array of your API
request and include optional attributes like
When you do this, Iterable saves these updates to a user's profile under the
shoppingCartItems array, which you can use to personalize your Iterable
message templates. Iterable also logs an event (
updateCart), which you can use
as an entry source
for cart abandonment journeys.
API endpoint removes all
shoppingCartItems from a user's profile and logs a
purchase event in their history. You can also use this function to track
campaign conversion and measure ROI. To learn more, see Tracking Conversions, Purchases, and Revenue.
Viewing a user's data
To see a user's profile data, go to Audience > Contact Lookup. Enter the user's email address or user ID to view their user profile.
Inserting user data in messages
You can use a merge tag (the name of a user profile field surrounded by
double curly braces) to insert user data in message templates. For example, if
you store users' first names in a field called
firstName, you could add the
following merge tag to a message template:
At send time, Iterable replaces merge tags in a message template with the relevant data from each user's profile.
To learn more about inserting user data in your Iterable message templates, see
Personalizing Templates with Handlebars