Dotdigital: Import Contacts & Activity
By importing your Dotdigital contacts and their activity into Lytics, you'll be able to apply Lytics powerful insights to your email and multichannel campaigns.
Integration Details
- Implementation Type: Server-side.
- Implementation Technique: REST API, audience triggers.
- Frequency: Batch.
- Resulting data: User profiles, user fields, metrics.
This integration uses the Dotdigital APIs to import user data. Once the import is started the workflow will:
- Request all address books in the Dotdigital account.
- Iterate through the address books and for each:
- Get all subscribed contacts in that address book since the last import.
- Get all unsubscribed contacts from that address book since the last import.
- Get all suppressed contacts from the account since the last import.
- Get all campaigns with activity since the last import.
- Iterate through the campaigns and for each:
- If we haven't received send information on the campaign before, get the campaign's activity.
- Get campaign's open activity since last import.
- Get campaign's click activity since last import.
- Get campaign's bounces and unsubscribes since last import.
- Schedule next import.
Data will be imported to the dotmailer_contacts
and dotmailer_activity
streams.
Fields
The following fields are included in the default mapping of the dotmailer_contacts
stream:
NOTE: Dotmailer rebranded to Dotdigital in January 2019. Due to backwards compatiblity issues old field and stream names still use dotmailer
.
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
email unique id | string | ||
id | dm_contact_id unique id | Dotmailer Contact ID | string |
BIRTHDAY | birthdate | Birthdate | date |
account_id | dm_accountid | Dotmailer Account IDs | []string |
address_books | dm_address_books | Dotmailer address-book membership | []string |
account_id, address_book_id, address_book_status | dm_addressbook_status | Status by Dotmailer Addressbook ID | map[string]string |
epochms() | dm_addressbook_status_ts | Date of Last Addressbook Status Update | date |
emailType | dm_email_type | Dotmailer Email Type | string |
optInType | dm_opt_in_type | Dotmailer Opt-In Type | string |
status | dm_status | Dotmailer Status | string |
unsubscribed_address_books | dm_unsubscribed_address_books | Dotmailer unsubscribed address-books | []string |
emaildomain | Email Domain | string | |
FIRSTNAME | first_name | First Name | string |
GENDER | gender | Gender | string |
LASTNAME | last_name | Last Name | string |
The following fields are included in the default mapping of the dotmailer_activity
stream:
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
contactId | dm_contact_id unique id | Dotmailer Contact ID | string |
email unique id | string | ||
campaign_id | dm_campaign_ids | Dotmailer Campaign IDs | []string |
campaign_name | dm_campaign_names | Dotmailer Campaigns | []string |
campaign_name | dm_campaigns_clicked | Dotmailer Campaigns Clicked | []string |
campaign_name | dm_campaigns_opended | Dotmailer Campaigns Opened | []string |
campaign_name | dm_campaigns_sent | Dotmailer Campaigns Recieved | []string |
valuect(event) | dm_clickct | Dotmailer Click Count | int |
valuect(event) | dm_email_event | Dotmailer Email Events | map[string]intsum |
url | dm_email_url | Dotmailer URL | string |
min(epochms()) | dm_first_hardbounce_ts | Dotmailer First Hard Bounce | date |
min(epochms()) | dm_first_softbounce_ts | Dotmailer First Soft Bounce | date |
min(epochms()) | dm_firstopen_ts | Dotmailer First Open | date |
min(epochms()) | dm_firstclick_ts | Dotmailer First Click | date |
valuect(event) | dm_hardbounce_ct | Dotmailer Hard Bounce Count | int |
valuect(hourofday) | dm_hourlyopen | Dotmailer Hourly Events | map[string]intsum |
valuect(hourofweek) | dm_hourofweek | Dotmailer Hour of Week Events | map[string]intsum |
keyword | dm_keyword | Dotmailer Email Keyword | []string |
max(epochms()) | dm_last_hardbounce_ts | Dotmailer Last Hard Bounce | date |
max(epochms()) | dm_last_softbounce_ts | Dotmailer Last Soft Bounce | date |
max(epochms()) | dm_lastclick_ts | Dotmailer Last Click | date |
max(epochms()) | dm_lastopen_ts | Dotmailer Last Open | date |
valuect(yymm()) | dm_monthly | Dotmailer Opens By Month | map[string]intsum |
valuect(event) | dm_openct | Dotmailer Open Count | int |
epochms() | dm_send_ts | Dotmailer Last Send Time | date |
valuect(event) | dm_sendct | Dotmailer Send Count | int |
valuect(event) | dm_softbounce_ct | Dotmailer Soft Bounce Count | int |
max(epochms()) | dm_unsub_ts | Dotmailer Unsubscribe Date | number |
emaildomain(email) | emaildomain | Email Domain | string |
valuect(hash(urlmain(url))) | hashedurls | Hashed URLs Visited | map[string]intsum |
ipAddress | ip_address | Most Recent IP Address | string |
max(epochms()) | last_active_ts | Last Active | date |
mailClient | mail_client | Mail Client | string |
mailClientVersion | mail_client_version | Mail Client Version | string |
Configuration
Follow these steps to set up and configure an import of contacts and activity from Dotdigital into Lytics.
- Navigate to the Integrations page and select the Dotdigital tile.
- Select Workflows from the menu on the left.
- Select Import Contacts & Activity from the list of workflows.
- Select the Authorization you would like to use.
- From the Keep Updated checkbox, click on the Show Advanced Options tab to expand the advanced configuration.
- From the Email Field drop-down, select the field that contains the contact's email.
- From the Address Book Status Field drop-down, select the field that contains the address book status. This is used to mark users that have unsubscribed from the account as unsubscribed from their address books. This field must be a
map[string]string
in the format of[accountID]_[addressBookId]:[status]
- From the Fields to Import input, select the fields to import for each contact from Dotdigital.
- In the Work Tracking Slug text input, enter a slug to use to track the work. This slug should be unique.
- Click the Start Import button to start the work.