Iterable: Import Audiences & Activity Data
Import Iterable users and activity data to add information such as clicks and opens to your Lytics user profiles. Use that data to build behavioral audiences and refine your targeting.
Integration Details
- Implementation Type: Server-side.
- Implementation Technique: REST API to download CSV formatted data.
- Frequency: Data is imported in a batch process imported once, or on an hourly, continuous basis.
- Resulting Data: Full user profiles for all Iterable users complete with activity/interaction data.
This integration utilizes the Iterable APIs to receive user data. On each run of the job, it will:
- Query for a CSV of all users in your Iterable account. This CSV is imported to the
iterable_users
stream in Lytics. - Query for a CSV of all events including email, SMS, custom, push, and in-app events. These events are imported to Lytics streams based on the type of activity, i.e.
iterable_activity
(email),iterable_push_activity
,iterable_sms_activity
, anditerable_in_app_activity
.
In addition to running this job, you can also use webhooks for real-time event capture of your Iterable events. Learn more about how to configure webhooks in Iterable to send data to Lytics.
Fields
The fields that are included in the default mapping for various streams (user, in-app, push and sms) are shown below in their respective stream tables:
Stream: iterable_users
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
email unique id | string | ||
emaildomain | emaildomain | Email Domain | string |
userId | it_user_id | Iterable User Id | string |
firstName | first_name | First Name | string |
last_name | last_name | Last Name | string |
gender | gender | Gender | string |
city | city | City | string |
country | country | Country | string |
timeZone | timezone | Timezone | string |
Lytics will import any and all custom fields from Iterable, however this stream does not automatically map these fields. If you would like to map any custom fields from Iterable as Lytics user fields, contact Lytics Support for assistance.
Stream: iterable_in_app_activity
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
email unique id | string | ||
emaildomain | emaildomain | Email Domain | string |
event | it_event | Iterable Events | string |
max(epochms()) | last_active_ts | Last Active | date |
max(epochms()) | it_last_in_app_open_ts | Iterable Last In-App Message Open | date |
min(epochms()) | it_first_in_app_open_ts | Iterable First In-App Message Open | date |
inAppOpen event count | it_in_app_openct | Iterable Open In-App Message Open Count | int |
max(epochms()) | it_last_in_app_click_ts | Iterable Last In-App Click | date |
min(epochms()) | it_first_in_app_click_ts | Iterable First In-App Click | date |
inAppClick event count | it_in_app_clickct | Iterable In-App Click Count | int |
campaignId | it_campaigns | Iterable Campaign Ids | string |
campaignName | it_campaign_names | Iterable Campaigns Name | string |
inAppOpen experience_id | it_impressions | Reached with Iterable Experience | map[string]int |
inAppClick experience_id | it_conversions | Converted on Iterable Experience | map[string]int |
Stream: iterable_push_activity
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
email unique id | string | ||
emaildomain | emaildomain | Email Domain | string |
event | it_event | Iterable Events | string |
max(epochms()) | last_active_ts | Last Active | date |
max(epochms()) | it_last_push_open_ts | Iterable Last Push Open | date |
min(epochms()) | it_first_push_open_ts | Iterable First Push Open | date |
pushOpen event count | it_push_openct | Iterable Open Push Count | int |
max(epochms()) | it_last_push_send_ts | Iterable Last Push Send | date |
min(epochms()) | it_first_push_send_ts | Iterable First Push Send | date |
pushSend event count | it_push_sendct | Iterable Send Push Count | int |
max(epochms()) | it_last_push_bounce_ts | Iterable Last Push Bounce | date |
min(epochms()) | it_first_push_bounce_ts | Iterable First Push Bounce | date |
pushBounce event count | it_push_bouncect | Iterable Bounce Push Count | int |
workflowId | it_workflow_ids | Iterable Workflow IDs | string |
workflowName | it_workflow_names | Iterable Workflow Names | string |
"deeplink_ios/deeplink_andriod" | it_push_deeplink | Iterable Push Notification Deeplink | string |
max(epochms()) | it_unsub_ts | Iterable Push Uninstall Date | date |
hourofday() | it_mobile_hourlyopen | Iterable Hourly Mobile Events | int |
hourofweek() | it_mobile_hourofweek | Iterable Hour of Week Mobile Events | int |
yymm() | it_mobile_monthly | Iterable Mobile Events By Month | int |
campaignId | it_campaigns | Iterable Campaign Ids | string |
campaignName | it_campaign_names | Iterable Campaigns Name | string |
channelId | it_channels | Iterable Channels | string |
messageId | it_messages | Iterable Messages | string |
messageTypeId | it_message_types | Iterable Message Types | string |
templateId | it_templates | Iterable Template IDs | string |
templateName | it_template_names | Iterable Templates | string |
pushSend experience_id | it_impressions | Reached with Iterable Experience | map[string]int |
pushOpen experience_id | it_conversions | Converted on Iterable Experience | map[string]int |
Stream: iterable_sms_activity
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
email unique id | string | ||
emaildomain | emaildomain | Email Domain | string |
event | it_event | Iterable Events | string |
toPhoneNumber | phone | Phone Number | string |
max(epochms()) | last_active_ts | Last Active | date |
max(epochms()) | it_last_sms_received_ts | Iterable Last SMS Received | date |
min(epochms()) | it_first_sms_received_ts | Iterable First SMS Received | date |
smsReceived event count | it_sms_receivedct | Iterable Open SMS Received Count | int |
max(epochms()) | it_last_sms_send_ts | Iterable Last SMS Send | date |
min(epochms()) | it_first_sms_send_ts | Iterable First SMS Send | date |
smsSend event count | it_sms_sendct | Iterable Send SMS Count | int |
max(epochms()) | it_last_sms_bounce_ts | Iterable Last SMS Bounce | date |
min(epochms()) | it_first_sms_bounce_ts | Iterable First SMS Bounce | date |
smsBounce event count | it_sms_bouncect | Iterable Bounce SMS Count | int |
workflowId | it_workflow_ids | Iterable Workflow IDs | string |
workflowName | it_workflow_names | Iterable Workflow Names | string |
campaignId | it_campaigns | Iterable Campaign Ids | string |
campaignName | it_campaign_names | Iterable Campaigns Name | string |
channelId | it_channels | Iterable Channels | string |
messageTypeId | it_message_types | Iterable Message Types | string |
templateId | it_templates | Iterable Template IDs | string |
templateName | it_template_names | Iterable Templates | string |
smsSend experience_id | it_impressions | Reached with Iterable Experience | map[string]int |
smsReceived experience_id | it_conversions | Converted on Iterable Experience | map[string]int |
Configuration
Follow these steps to set up an import job for Iterable. If you are new to creating jobs in Lytics, see the Jobs Dashboard documentation for more information.
- Select Iterable from the list of providers.
- Select Import Audiences & Activity Data job type.
- Select the Authorization you would like to use or create a new one.
- Enter a Label to identify this job you are creating in Lytics.
- (Optional) Enter a Description for further context on your job.
- (Optional) Use the Activity Events to Import input to select the Iterable events you would like to import into Lytics. Events available to be imported from Iterable are located in the left column. Events added to the right column will be imported to Lytics. If nothing is selected, all activity events will be imported.
- (Optional) Use the User Fields to Import input to select the Iterable fields you would like to import into Lytics. Fields available to be imported from Iterable are located in the left column. Fields added to the right column will be imported to Lytics.
- (Optional) If you would like users and their activity to be updated continually, select Keep Updated.
- (Optional) If you would like to skip importing users and just import user activity, select Skip User Import. This is useful if you export users from Lytics to Iterable and you want to avoid re-importing users you already have in Lytics.
- (Optional) If you would like to skip importing user event activity and just import users, select Skip Activity Event Import.
- Click Start Import.
User data will begin to import into Lytics from Iterable and should be available within an hour. If Keep Updated was selected, user data and activity will be updated hourly until the import is cancelled.