Marketo
Overview
Marketo is a marketing automation software that provides inbound marketing, social marketing, CRM, and other related services.
Connect Marketo and Lytics to import Marketo's robust lead information, including profile and activity data, into Lytics. You can also export Lytics audiences enriched with cross-channel data and behavioral scoring to Marketo.
This integration allows you to give high-value prospects a more targeted experience, follow up on unresponsive leads with a Facebook ad, or make your media spend more efficient by removing leads that you already have from lead generation activities.
Authorization
If you haven't already done so, you will need to set up a Marketo account before you begin the process described below. Create a new API user in Marketo. You will need your Client ID, Client Secret, and the portion of Marketo's Endpoint after ://
and before /rest
for the REST URL.
If you are new to creating authorizations in Lytics, see the Authorizations Dashboard documentation for more information.
- Select Marketo from the list of providers.
- Select the Marketo Client Credentials method for authorization.
- Enter a Label to identify your authorization.
- (Optional) Enter a Description for further context on your authorization.
- Enter your Client ID.
- Enter your Client Secret.
- Enter your REST URL.
- Click Save Authorization.
Import Audiences & Activity Data
Import leads and activity data from Marketo for use in Lytics audiences.
Integration Details
- Implementation Type: Server-side Integration.
- Implementation Technique: REST API Integration and File Based Transfer Integration
- Frequency: Batch Integration 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 job 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 an import leads and activities job for Marketo. If you are new to creating jobs in Lytics, see the Data Sources documentation for more information.
-
Select Marketo from the list of providers.
-
Select the Import Audiences & 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.
-
(Optional) Toggle Show Advanced Options.
- Select Keep Updated to continuously import leads and activity from Marketo.
- Select the Activity Types to configure the acticity types to import.
- Select the Partition IDs to Import to configure 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.
- Select the Lead Fields to only import those fields from Marketo. If no fields are selected, all available fields will be imported. Selecting only the necessary field can help lower the size of file exported from Marketo.
- Enter the Maximum Number of 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.
-
Click Start Import.
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.
Export Audiences
Export Lytics audiences to Marketo to refine your targeting and personalization efforts for high-value prospects.
Integration Details
- Implementation Type: Server-side Integration.
- Implementation Technique: REST API Integration - Audience Trigger Integration.
- Frequency: Real-time Integration and Batch Integration (every 10 minutes).
- Resulting data:
Lytics users that are members of the selected audiences are converted into Marketo leads in your Marketo account.
This integration utilizes the Marketo REST API to send user data. Once the export is started the job will:
- Scan the selected Lytics audience.
- For each user in the audience, it writes that user's identifier and any mapped fields to a CSV file.
- Upload the CSV file using Marketo's Bulk Import api and will create the bulk import job in Marketo. The export job will then go to sleep for 10 minutes to let Marketo finish the bulk import job.
- The export job continues to monitor bulk import job using Marketo's job status api. The export does not send any user unless the previous Marketo bulk import job is finished.
- The export job will run continuously. As users enter/exit the Lytics audience, they will be written to a file. The file will be sent to Marketo every 10 minutes or when the file reaches 10 MB in size.
Fields
You can export any Lytics user fields to Marketo Lead Fields. Lytics allows you to select user fields as part of the workflow configuration described below.
Configuration
Follow these steps to set up an export job for Marketo. If you are new to creating jobs in Lytics, see the Destinations documentation for more information.
- Select Marketo from the list of providers.
- Select the Export Audiences 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 the Audience to export.
- Select the Identifier Field to identify users in Marketo.
- Select the Field Mappings to map fields from Lytics to Marketo by selecting the Lytics field on the left, and Marketo Leads field on the right.
- (Optional) Select the Destination List to configure where Marketo fields will be exported.
- (Optional) Select Existing Users checkbox to send users who already exist in the selected Lytics audience.
- (Optional) Select the Audience Membership Field to configure the field name where audience membership information will be stored in Marketo.
- Click Start Export.
Updated 2 months ago