Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Marketo Source


Source Info
  • The Marketo Source is an Object Cloud source. This means that it sends information (traits) about a thing that exists and persists over time, such as a person or company, and which can be updated over time. Data from this source can only be exported directly to a warehouse, but it can then be used for further analysis. Learn more about cloud sources.

Marketo(link takes you to an external page) is a leader in marketing automation. Use the Marketo source to load your campaigns, emails, leads, and other collections into your data warehouse.

This will allow you to write SQL to analyze your email marketing campaigns ROI, or join your email data to other data sources like web and mobile events, Salesforce, and Zendesk to tie nurture emails to re-activation rates in your app.


Getting started

getting-started page anchor

Permissions

permissions page anchor

You will need Admin permissions to your Marketo account.

Add a new Marketo source

add-a-new-marketo-source page anchor
  1. From your workspace's sources page, click add source.

  2. Choose Marketo.

  3. Give the source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. Both can be whatever you like, but Segment recommends that you stick to something that reflects the source itself, like Marketo for nickname and marketo or marketo_prod for the schema name.

  4. Configure your Marketo source with the required settings (see section below for details)

    Screenshot of the set up flow for the Marketo source.
(warning)

Lead Activity Type IDs

In Marketo's settings, the Lead Activity Type IDs field is labeled as optional, but is required to see the lead_activities table. Segment recommends that you complete this field to see all available data. By default the activity type IDs 12,13,32,37 are used to sync data to the leads table and leads_activity_attributes table.

Configure your Marketo source

configure-your-marketo-source page anchor
  1. Open Marketo.

  2. Go to Admin > Munchkin to find your Munchkin Account ID.

    Screenshot of the Tracking Code section of Marketo's Munchkin page.
  3. Go to Admin > LaunchPoint

    1. If you don't already have a REST service setup, follow these steps(link takes you to an external page).

    2. Then, copy the "Client ID" and "Client Secret" parameters.

      Screenshot of the Details section of the LaunchPoint page.
    3. Paste the "Client ID" and "Client Secret" into the Segment Marketo source settings.

Data should start flowing into your warehouse in the next few hours.


The Marketo source is built with a sync component, which means Segment makes requests to Marketo's API on your behalf on a 3 hour interval to pull the latest data into Segment. In the initial sync, Segment grabs all the Marketo objects (and their corresponding properties) according to the Collections Table below. The objects will be written into a separate schema, corresponding to the source instance's schema name you designated upon creation (for example, my_source.charges).

The sync component uses an upsert API, so the data in your warehouse loaded using sync will reflect the latest state of the corresponding resource in Marketo. For example, if first_name goes from Jess to Jessica between syncs, on its next sync that field will be Jessica.

The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every three hours. Depending on your Warehouses plan, Segment pushes the Source data to your warehouse on the interval associated with your billing plan.


Collections are the groupings of resources Segment pulls from your source. In your warehouse, each collection gets its own table.

CollectionTypeDescription
leadsobjectAll available leads.
campaignsobjectAll available campaigns.
emailobjectAll available emails.
landing_pagesobjectAll available landing pages.
listsobjectA set of static list records.
lead_activitiesobjectActivities performed by leads.
lead_activity_attributesobjectAttributes found for each individual Lead Activity.
lead_activity_typesobjectAvailable lead activity types, along with associated metadata of each type.
lead_activity_type_attributesobjectAttributes found for each individual Lead Activity Type.
programsobjectAll available programs.
segmentationobjectAccessible segmentations (subgroups based on a Smart List rule).
segmentsobjectSegments inside a given segmentation.

Property NameDescription
idLead id
emailLead email
first_nameLead First Name
last_nameLead Last Name
created_atDate Lead created
updated_atDate Lead last updated
deleted_atDate Lead deleted
custom_lead_fields* Added during set up flow
Property NameDescription
idCampaign id
nameCampaign name
activeWhether the Campaign is active. Only applicable to trigger campaigns
typeType of the Campaign (['batch', 'trigger'])
workspace_nameName of the parent workspace if applicable
created_atDate Campaign created
updated_atDate Campaign last updated
Property NameDescription
idEmail id
nameEmail name
statusStatus filter for draft or approved versions
urlURL of the Email in the Marketo UI
descriptionDescription of the Email
operationalWhether the email is operational
templateId of the parent template
text_onlySetting to include text-only version of email when sent
web_viewWhether 'View as Webpage' function is enabled for the email
workspaceName of the workspace
versionVersion/Revision of the Email
subjectSubject Line of the Email
from_nameFrom-name of the Email
from_emailFrom-address of the Email
reply_emailReply-To address of the Email
folder_typeFolder type of the Email
folder_valueFolder value of the Email
folder_nameFolder name of the Email
created_atDate Email created
updated_atDate Email last updated
Property NameDescription
idLanding Page id
nameLanding Page name
statusStatus filter for draft or approved versions
workspaceName of the workspace
urlURL of the Landing Page in the Marketo UI
computed_url-
mobile_enabledWhether the page has mobile viewing enabled
robotsRobots directives to apply to the pages meta tags
keywords-
titleTitle element of the Landing Page
templateId of the template used
custom_head_htmlAny custom HTML to embed in the tag of the page
descriptionDescription of the asset
facebook_og_tagsAny Facebook OpenGraph meta tags to apply to the page
form_prefillBoolean to toggle whether forms embedded in the page will prefill
folder_typeFolder type of the Landing Page
folder_valueFolder value of the Landing Page
folder_nameFolder name of the Landing Page
created_atDate Landing Page created
updated_atDate Landing Page last updated
Property NameDescription
idList id
nameList name
descriptionDescription of the list
program_nameProgram name
workspace_nameName of the workspace
created_atDate List created
updated_atDate List last updated
Property NameDescription
idLead Activity id
activity_idLegacy Id of the activity (Deprecated)
lead_idId of the lead associated to the activity
campaign_idId of the associated Campaign, if applicable
primary_attribute_value_idId of the primary attribute
primary_attribute_valueValue of the primary attribute
activity_type_idId of the activity type
activity_dateDatetime of the activity type

Lead activity attributes

lead-activity-attributes page anchor
Property NameDescription
idCombination of Lead Activity id, Lead Activity Type id and Lead Activity Attribute name
activity_idId of the lead activity associated to the attribute
activity_type_idId of the lead activity type associated to the attribute
activity_type_attribute_idCombination of the attributes associated activity type id and attribute name
namename of the Attribute
valuevalue of the Attribute
Property NameDescription
idLead Activity Type id
nameLead Activity Type name
descriptionLead Activity Type description
primary_attribute_nameValue of the primary attribute
primary_attribute_data_typeType of the primary attribute

Lead activity type attributes

lead-activity-type-attributes page anchor
Property NameDescription
idCombination of Lead Activity Type id and attribute name
activity_type_idId of the lead activity type associated to the attribute
nameName of the Attribute
data_typeData Type of the Attribute
Property NameDescription
idProgram id
nameProgram name
descriptionProgram description
urlURL of the Program in the Marketo UI
typeProgram type (['program', 'event', 'webinar', 'nurture'])
channelProgram channel
statusProgram status (['locked', 'unlocked', 'on', 'off'])
workspaceName of the workspace
sfdc_idSFDC id of the program if linked to an SFDC campaign
sfdc_nameName of the linked SFDC campaign if applicable
folder_valueFolder value
folder_nameFolder name
folder_typeFolder type
created_atDate Program created
updated_atDate Program last updated
Property NameDescription
idSegmentation id
nameSegmentation name
urlURL of the Segmentation in the Marketo UI
descriptionDescription of the asset
statusStatus filter for draft or approved versions
workspaceName of the workspace
folder_valueFolder value
folder_nameFolder name
folder_typeFolder type
created_atDate Segmentation created
updated_atDate Segmentation last updated
Property NameDescription
idSegment id
nameSegment name
segmentation_idId of the related Segmentation
descriptionDescription of the asset
urlUrl of the asset in the Marketo UI
created_atDate Segment created
updated_atDate Segment last updated

Currently, Warehouses are the only supported destination for object-cloud sources.


How many API calls will the Segment source use to sync all my data?

how-many-api-calls-will-the-segment-source-use-to-sync-all-my-data page anchor

Segment doesn't provide statistics for these consumed API calls, since Segment systems only log the number of objects pulled from Marketo as throughput.

Can I limit API usage on the source?

can-i-limit-api-usage-on-the-source page anchor

Yes. You can specific a daily limit to the API calls the source will consume. If you don't set a limit, Segment will, by default, consume as many API calls as are available in the limit you agreed to with Marketo to sync the entire source.

Segment also uses the Lead and Activity Bulk Extract APIs(link takes you to an external page) to reduce the number of requests needed to sync the data. For these syncs, Segment has a limit of 500 MB worth of files downloaded per day.

What if my daily Marketo API quota isn't enough?

what-if-my-daily-marketo-api-quota-isnt-enough page anchor

If your source needs more than 10,000 REST API calls or more than 500 MB of data to sync, Segment will continue the sync when a new batch of API calls is available.

Marketo's API quota applies across your subscription. If other applications share the quota, it could interfere with Segment's ability to sync the source.

Why can't I find the lead_activities table in my data warehouse? does Segment not ingest it?

why-cant-i-find-the-lead_activities-table-in-my-data-warehouse-does-segment-not-ingest-it page anchor

You first need to enable the Activity Type IDs (optional) setting in the Marketo source, which must be enabled for Segment to pull the lead_activities collection source. Once Segment pulls the data, it will be available in your data warehouses.

Can I get other collections synced by the source?

can-i-get-other-collections-synced-by-the-source page anchor

Contact Support(link takes you to an external page) to get additional collections added to your source.

Can I get other columns synced by the source?

can-i-get-other-columns-synced-by-the-source page anchor

Yes. For leads and activities, choose Custom Lead Fields (optional), which lets you enter comma-separated custom files that will be synced by Marketo's REST API name.

View Marketo's List of Standard Fields documentation(link takes you to an external page) for a complete list of standard fields and Marketo's REST API names. Reach out to Segment support(link takes you to an external page) if you're interested in other fields.