Integration: Iterable
This article will help you learn about how Daasity replicates data from Iterable, limitations to the data we can extract and where the data is stored in the Iterable schema.
Key Topics
Click on the links below to take you to the section where you can learn more about this Integration
Integration Overview
Iterable is a cross-channel marketing platform that powers unified customer experiences and empowers businesses to create, optimize, and measure every interaction across the entire customer journey. Iterable leverages real-time data to personalize email campaigns, dynamically segmenting users and triggers with relevant messaging using Workflow Studio.
This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.
Integration Availability
This integration is available for:
NOTE: You are considered V2 if...
- You are a Growth customer
- Your account says Pro V2 in the Daasity App
Not sure? Reach out to Support@Daasity.com
API Endpoints
The Daasity Iterable extractor is built based on this Iterable API documentation. The following endpoint is used by Daasity to replicate data from Iterable:
Entity Relationship Diagram (ERD)
The Daasity Iterable extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.
Iterable Schema
The Daasity Iterable extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.
Campaigns
- Endpoint: Campaigns
- Update Method: UPSERT
- Table Name: iterable.campaigns
| JSON Element |
Database Column |
| id |
campaign_id |
| createdAt |
created_at |
| updatedAt |
updated_at |
| startAt |
started_at |
| endedAt |
ended_at |
| name |
campaign_name |
| templateId |
template_id |
| messageMedium |
message_medium |
| createdByUserId |
created_by |
| campaignState |
campaign_state |
| workflowId |
workflow_id |
| sendSize |
send_size |
| type |
campaign_type |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Campaign Lists
- Endpoint: Campaigns
- Update Method: UPSERT
- Table Name: iterable.campaign_lists
| JSON Element |
Database Column |
| id |
campaign_id |
| listIds::listId |
list_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id + listIds::listId) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Campaign Suppression Lists
- Endpoint: Campaigns
- Update Method: UPSERT
- Table Name: iterable.campaign_suppression_lists
| JSON Element |
Database Column |
| id |
campaign_id |
| suppressionListIds::listId |
list_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id + suppressionListIds::listId) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Campaign Labels
- Endpoint: Campaigns
- Update Method: UPSERT
- Table Name: iterable.campaign_labels
| JSON Element |
Database Column |
| id |
campaign_id |
| labels::label |
campaign_labels |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id + labels::label) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Lists
- Endpoint: Lists
- Update Method: UPSERT
- Table Name: iterable.lists
| JSON Element |
Database Column |
| id |
list_id |
| name |
list_name |
| createdAt |
created_at |
| listType |
list_type |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Users
- Endpoint: Users
- Update Method: UPSERT
- Table Name: iterable.users
| JSON Element |
Database Column |
| userId |
user_id |
| email |
email |
| signupDate |
sign_up_date |
| profileUpdatedAt |
profile_updated_at |
| publicIdString |
public_id_string |
| verified_email |
verified_email |
| accepts_marketing |
accepts_marketing |
| phoneNumber, limit 64 |
phone_number |
| email_signup_location |
email_signup_location |
| tags, limit: 4095 |
tags |
| signupSource |
sign_up_source |
| timeZone |
user_time_zone |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + userId) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
User Lists
- Endpoint: Users
- Update Method: UPSERT
- Table Name: iterable.user_lists
| JSON Element |
Database Column |
| userId |
user_id |
| emailListIds::id |
list_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + userId + emailListIds::id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Subscribes
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| templateId |
template_id |
| camapaignId |
campaign_id |
| userAgent |
user_Agent |
| userAgentDevice |
user_agent_device |
| hrefIndex |
href_index |
| url, limi: 4095 |
url |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId + hrefIndex + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Unsubscribes
| JSON Element |
Database Column |
| email_unsubscribes::email |
email |
| email_unsubscribes::unsubSource |
unsub_source |
| email_unsubscribes::campaignId |
campaign_id |
| email_unsubscribes::workflowId |
workflow_id |
| email_unsubscribes::templateId |
template_id |
| email_unsubscribes::createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + email + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Unsubscribe Lists
- Endpoint: Export Data to JSON
- Update Method: UPSERT
- Table Name: iterable.email_unsubscribe_lists
| JSON Element |
Database Column |
| emailListIds::email |
email |
| emailListIds::id |
list_id |
| emailListIds::createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + email + createdAt + emailListIds::id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Channels
- Endpoint: Channels
- Update Method: UPSERT
- Table Name: iterable.channels
| JSON Element |
Database Column |
| id |
channel_id |
| name |
channel_name |
| channelType |
channel_type |
| messageMedium |
message_medium |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
User Unsubscribed Channels
- Endpoint: Users
- Update Method: UPSERT
- Table Name: iterable.user_unsubscribed_channels
| JSON Element |
Database Column |
| unsubscribedChanelIds::userId |
user_id |
| unsubscribedChanelIds::id |
channel_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + unsubscribedChanelIds::userId + unsubscribedChanelIds::id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Unsubscribed Channels
- Endpoint: Export Data to JSON
- Update Method: UPSERT
- Table Name: iterable.email_unsubscribed_channels
| JSON Element |
Database Column |
| channelIds::email |
email |
| channelIds::id |
channel_id |
| channelIds::createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + channelIds::email + channelIds::createdAt + channelIds::id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Message Types
- Endpoint: MessageTypes
- Update Method: UPSERT
- Table Name: iterable.message_types
| JSON Element |
Database Column |
| id |
message_type_id |
| name |
message_type_name |
| channelId |
channel_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
User Unsubscribed Message Types
- Endpoint: Users
- Update Method: UPSERT
- Table Name: iterable.user_unsubscribed_message_types
| JSON Element |
Database Column |
| user::userId |
user_id |
| unsubscribedMessageTypeIds::id |
message_type_id |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + user::userId + unsubscribedMessageTypeIds::id) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Sends
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| messageBusId |
message_bus_id |
| templateId |
template_id |
| campaignId |
campaign_id |
| channelId |
channel_id |
| messageTypeId |
message_type_id |
| contentId |
content_id |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Bounces
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| templateId |
template_id |
| campaignId |
campaign_id |
| recipientState |
recipient_state |
| status |
bounce_status |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Complaints
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| templateId |
template_id |
| campaignId |
campaign_id |
| recipientState |
recipient_state |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Opens
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| templateId |
template_id |
| campaignId |
campaign_id |
| ip |
ip_address |
| userAgent |
user_agent |
| userAgentDevice |
user_agent_device |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Email Clicks
| JSON Element |
Database Column |
| messageId |
message_id |
| email |
email |
| templateId |
template_id |
| campaignId |
campaign_id |
| userAgent |
user_agent |
| userAgentDevice |
user_agent_device |
| hrefIndex |
href_index |
| url, limit: 4095 |
url |
| createdAt |
created_at |
| Daasity: source_id |
__source_id |
| Daasity: account_id |
_account_id |
| Daasity: MD5(source_id + messageId + hrefIndex + createdAt) |
__sync_key |
| Daasity: timestamp when loaded into DB |
__synced_at |
Related Resources