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 job 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 an import of contacts and activity job for Dotdigital. If you are new to creating jobs in Lytics, see the Jobs Dashboard documentation for more information.
- Select Dotdigital from the list of providers.
- Select the Import Audiences and Activity Data from the list.
- 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.
- Select Keep Updated to continuously import audiences and activity data.
- (Optional) Toggle Show Advanced Options.
- Select Email Field to configure the field that contains the contact's email.
- Select Address Book Status Field to configure 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]
. - Select Fields to Import to configure the fields to import for each contact from dotdigital.
- Enter Work Tracking Slug to track the work. This should be a unique value.
- Enter Activity Backfill Start Date to pull in a set of activity by date. This is set in conjunction with Activity Backfill End Date. If this is left empty, a default of 90 days of activity data will be imported. If this is set, the import will only pull in activity data; no contacts will be imported
- Enter Activity Backfill End Date to pull in a set of activity by date. This is set in conjunction with Activity Backfill Start Date.
- Click Start Import.