Iterable: Import Users & Activity
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 workflow, 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 workflow, you can also use webhook for real time event capture of your Iterable events. Follow webhook documentation to 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 customer 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 and configure an import of Iterable users in the Lytics platform.
- Log into your Lytics account.
- Open the Iterable integration or Click Data > Integrations and select Iterable from the integrations list.
- Click New Workflow.
- Select Import Users & Activity.
- Select the authorization you created during the authorization step.
- 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.
- If you would like users and their activity to be updated continually, check Keep Updated.
- If you would like to skip importing users and just import user activity, check the Skip User Import option. This is useful if you export users from Lytics to Iterable and you want to avoid re-importing users you already have in Lytics.
- Click Start Import.
User data will begin to import into Lytics from Iterable and should be available within the hour. If Keep Updated was selected user data and activity will be updated hourly until the import is cancelled.