Marketo: Import Leads and Activities
Import leads and activity data from Marketo for use in Lytics audiences.
Integration Details
- Implementation Type: Server-side
- Implementation Technique: REST API and File Based Transfer
- Frequency: Batch daily or one time only.
- Resulting data: User profiles and User fields.
This integration utilizes Marketo's REST API to import user data. Once the import is started the workflow will:
- Create a Lead Import Job via Marketo's
/bulk/v1/leads/export/create.json
endpoint. - If email and web activity are configured in the import, it will create separate jobs for each.
- Check the status of the job(s) periodically via the
/bulk/v1/leads/export/{exportId}/status.json
endpoint. - When a job's status is returned as "Completed", retrieve the data via the
/bulk/v1/leads/export/{exportId}/file.json
endpoint and import the data into the appropriate stream.
Fields
The following fields are included in the default mapping of the mo_user
stream:
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
facebookId | fbuid unique id | Facebook Id | string |
email unique id | string | ||
id | mo_user_id unique id | Marketo: User Id | string |
address | address | Address | string |
billingCity | billing_city | Billing City | string |
billingCountry | billing_country | Billing Country | string |
billingPostalCode | billing_postal_code | Billing Postal Code | string |
billingState | billing_state | Billing State | string |
billingStreet | billing_street | Billing Street | string |
dateOfBirth | birthdate | Birthdate | date |
city | city | City | string |
numberOfEmployees | company_employees | Company Employees | int |
industry | company_industry | Company Industry | string |
company | company_name | Company Name | string |
annualRevenue | company_revenue | Company Annual Revenue | number |
sicCode | company_sic | Company SIC Code | string |
website | company_url | Company URL | string |
country | country | Country | string |
department | department | Department in Company | string |
doNotCall | do_not_call | Do Not Call Status | string |
doNotCallReason | do_not_call_reason | Do Not Call Reason | string |
emaildomain | Email Domain | string | |
fax | fax | Fax Number | string |
facebookDisplayName | fb_name | Facebook Name | string |
facebookProfileURL | fb_photo | Facebook Profile Photo | string |
firstName | first_name | First Name | string |
title | job_title | Job Title | string |
lastName | last_name | Last Name | string |
linkedInId | li_id | LinkedIn Id | string |
linkedInDisplayName | li_name | LinkedIn Name | string |
linkedInPhotoURL | li_photo | LinkedIn Photo | string |
anonymousIP | mo_anonymous_ip | Marketo: Anonymous IP | []string |
createdAt | mo_created_at | Marketo: Created Date | date |
leadRevenueCycleModelId | mo_cycle_model | Marketo: Cycle Model | string |
leadScore | mo_lead_score | Marketo: Lead Score | string |
leadSource | mo_lead_source | Marketo: Lead Source | string |
leadStatus | mo_lead_status | Marketo: Lead Status | string |
leadPartitionId | mo_partition_id | Marketo: Partition ID | string |
priority | mo_priority | Marketo: Priority | string |
acquisitionProgramId | mo_program_id | Marketo: Program Id | string |
originalReferrer | mo_referrer | Marketo: Referrer | string |
relativeScore | mo_relative_score | Marketo: Relative Score | string |
sfdcType | mo_sfdc_type | Marketo: SFDC Type | string |
leadRevenueStageId | mo_stage_id | Marketo: Stage Id | string |
updatedAt | mo_updated_at | Marketo: Updated Date | date |
urgency | mo_urgency | Marketo: Urgency | string |
mobilePhone | mobile_phone | Mobile Phone Number | string |
phone | phone | Phone Number | string |
postalCode | postal_code | Zip | string |
salutation | salutation | Salutation | string |
state | state | State | string |
twitterDisplayName | tw_name | Twitter Name | string |
twitterPhotoURL | tw_photo | Twitter Photo | string |
twitterId | twuser_id | Twitter Id | string |
The following fields are included in the default mapping of the mo_activity
stream:
Source Field | Lytics User Field | Description | Type |
---|---|---|---|
leadId | mo_user_id unique id | Marketo: User Id | string |
channels | All Channels Used | []string | |
activityDate | created_ts | Global: First Active | date |
activityDate | email_firstbounced_ts | Marketo: First Time Email Bounced | date |
activityDate | email_firstclick_ts | Email: First Time Email Clicked | date |
activityDate | email_firstdelivered_ts | Marketo: First Time Email Delivered | date |
activityDate | email_firstopen_ts | Email: First Time Email Opened | date |
activityDate | email_firstsent_ts | Marketo: First Time Email Sent | date |
activityDate | email_firstsoftbounce_ts | Marketo: First Time Email Bounced (soft) | date |
activityDate | email_firstunsub_ts | Marketo: First Time Email Unsubscribed | date |
activityDate | email_lastbounced_ts | Marketo: Last Time Email Bounced | date |
activityDate | email_lastclick_ts | Email: Last Time Email Clicked | date |
activityDate | email_lastdelivered_ts | Marketo: Last Time Email Delivered | date |
activityDate | email_lastopen_ts | Email: Last Time Email Opened | date |
activityDate | email_lastsent_ts | Marketo: Last Time Email Sent | date |
activityDate | email_lastsoftbounce_ts | Marketo: Last Time Email Bounced (soft) | date |
activityDate | email_lastunsub_ts | Marketo: Last Time Email Unsubscribed | date |
activityDate | hourly | Global: Hourly Events | map[string]intsum |
activityDate | hourofweek | Global: Hour of Week Events | map[string]intsum |
activityDate | last_active_ts | Last Active on Any Channel | date |
last_channel_activities | Last Activity By Channel | map[string]time | |
activityDate | mo_created_ts | Marketo: First Active | date |
primaryAttributeValue | mo_email_bounced | Marketo: Emails Bounced | []string |
activityTypeId | mo_email_bounced_count | Marketo: Count of Email Bounced | int |
activityTypeId | mo_email_click_count | Marketo: Count of Emails Clicked | int |
primaryAttributeValue | mo_email_clicked | Marketo: Emails Clicked | []string |
primaryAttributeValue | mo_email_delivered | Marketo: Emails Delivered | []string |
activityTypeId | mo_email_delivered_count | Marketo: Count of Emails Delivered | int |
primaryAttributeValue | mo_email_opened | Marketo: Emails Opened | []string |
activityTypeId | mo_email_opened_count | Marketo: Count of Emails Opened | int |
primaryAttributeValue | mo_email_sent | Marketo: Emails Sent | []string |
activityTypeId | mo_email_sent_count | Marketo: Count of Emails Sent | int |
activityTypeId | mo_email_soft_bounce_count | Marketo: Count of Email Bounced (soft) | int |
primaryAttributeValue | mo_email_soft_bounced | Marketo: Emails Bounced (soft) | []string |
primaryAttributeValue | mo_email_unsub | Marketo: Emails Unsubscribed | []string |
activityTypeId | mo_email_unsub_count | Marketo: Count of Unsubscribes | int |
activityDate | mo_first_web_click_ts | Marketo: First Time Clicked Web | date |
activityDate | mo_first_web_submit_ts | Marketo: First Time of Web Form Submit | date |
activityDate | mo_first_web_visit_ts | Marketo: First Time Visited Web | date |
activityDate | mo_firstclick_ts | Marketo: First Time Email Clicked | date |
activityDate | mo_firstopen_ts | Marketo: First Time Email Opened | date |
activityDate | mo_last_active_ts | Marketo: Last Active | date |
activityDate | mo_last_web_click_ts | Marketo: Last Time Clicked Web | date |
activityDate | mo_last_web_submit_ts | Marketo: Last Time of Web Form Submit | date |
activityDate | mo_last_web_visit_ts | Marketo: Last Time Visited Web | date |
activityDate | mo_lastclick_ts | Marketo: Last Time Email Clicked | date |
activityDate | mo_lastopen_ts | Marketo: Last Time Email Opened | date |
primaryAttributeValue | mo_web_click | Marketo: Web Pages Clicked | []string |
activityTypeId | mo_web_click_count | Marketo: Count of Web Clicks | int |
primaryAttributeValue | mo_web_form_submit | Marketo: Web Forms Submitted | []string |
activityTypeId | mo_web_form_submit_count | Marketo: Count of Web Form Submit | int |
primaryAttributeValue | mo_web_visit | Marketo: Web Pages Visited | []string |
activityTypeId | mo_web_visit_count | Marketo: Count of Web Visits | int |
activityDate | yymm | Global: Events By Year/Month | map[string]intsum |
Configuration
Follow these steps to set up and configure an import of Marketo in the Lytics platform.
- Navigate to Marketo in the Integrations section of Lytics.
- Select Workflows from the menu on the left.
- Select Import Leads and Activities from the list of workflows.
- Select the authorization you would like to use.
- Click on the Show Advanced Options tab to expand the advanced configuration.
- Keep Updated: leave this box selected to continuously import leads and activity from Marketo. Unselect the box to run a one-time import of data.
- Import Email Activity: select this checkbox to import email activity data.
- Import Web Activity: select this checkbox to import web activity data.
- Use the Partition IDs to Import input to select Marketo partition IDs to import by adding them to the left column. If no partition IDs are selected, data from all partitions will be imported.
- From the Maximum Number of Calls numeric field, enter the maximum number of API calls to make to Marketo per day. By default, accounts have 10,000 calls available per day so Lytics sets this at 9,500. For more information see Marketo Integration Best Practices.
- From the Import Fields with Prefix text input, enter a value to import all user fields that start that value. NOTE: This will be in addition to all the default user fields and is a case-sensitive value.
- Click Start Import to start the workflow.
Import Limitations
File Size
Lytics uses the Marketo Bulk API, which allows an import of activity and leads data via large CSV files. However, Marketo restricts the amount of data Lytics can import daily. The default value of this limit is 500 MB per day.
For example, if your Marketo account generates a 700 MB file while importing leads and activities, the first 500 MB will be imported the first day and the remaining 200 MB will be imported when the daily limit resets on the following day.
If daily updates are critical for your use cases, spikes in activity volume may affect how timely Lytics can import data. In such scenarios, you can increase the daily limits for your Marketo account by contacting your Marketo customer success manager.
Filter Field
When data is imported from Marketo, it is queried with one of the fields:
createdAt
: Only new leads will be received. Leads with updated fields will be ignored.updatedAt
: Each time the import runs it will receive leads based on the time they were updated.
NOTE: Importing based on updateAt
is preferred so that any new changes are received. However, updatedAt
is not available as a filtering field for all Marketo accounts. If createdAt
is the only filter field available, this means that any updates made to existing leads will not be reflected in Lytics. See Marketo's documentation regarding Bulk Lead Extract Filters and contact their support to discuss gaining access to the updateAt
filter.