Marketo is a leading marketing automation platform that enables you to identify the right audiences through effective behavioral tracking and deliver automated, personalized marketing campaigns.
RudderStack supports Marketo as a destination where you can seamlessly send your event data.
Getting started
userId
and anonymousId
. RudderStack looks up the Marketo Lead objects using these properties. Without these two fields, all the events will fail.Before configuring Marketo as a destination in RudderStack, verify if the source platform is supported by Marketo by referring to the table below:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | - | - | - |
Cloud mode | Supported | Supported | Supported |
Once you have confirmed that the source platform supports sending events to HubSpot, follow these steps:
- From your RudderStack dashboard, add the source. Then, from the list of destinations, select Marketo.
- Assign a name to the destination and click Continue.
Connection settings
To successfully configure Marketo as a destination in RudderStack, you need to configure the following settings:
- Munchkin Account ID: Enter your Munchkin account ID.
- Client ID: Enter your Marketo client ID.
- Client Secret: Enter your Marketo client secret next.
Custom Activity Settings
- Track anonymous events: Enable this setting to track events that don't contain a
userId
.
userId
field will automatically fail.- Create lead if it does not exist: If enabled, RudderStack will create a new Marketo lead if the user is not present.
The following settings are associated with the track
events and require you to first create a Custom Activity in Marketo before sending the events. You also need to approve the activity in order to get the Custom Activity ID.
- Map events to Marketo Activity ID: Map the event name to your Marketo custom activity ID.
- Map event properties to Marketo property name: Use this setting to map your
track
event properties to the Marketo fields listed in your custom activity. - Map event name to Marketo primary key: Map the
track
event name to the Marketo primary key associated with the custom activity.
Lead Mapping settings
- Map your traits to Marketo custom fields: This setting lets you map your event traits to custom Marketo fields apart from the mappings specified in the Identify trait mappings section below.
Identify
You can use the identify
call to create or update a Lead object in Marketo.
A sample identify
call is as shown:
rudderanalytics.identify("1hKOmRA4GRlm", { name: "Alex Keener", first_name: "Alex", last_name: "Keener", email: "alex@example.com",})
Supported mappings
By default, RudderStack maps the following traits
to the Marketo fields:
RudderStack trait | Marketo field |
---|---|
address.city | City |
company.name | Company |
address.country | Country |
email | Email |
firstName | FirstName |
company.industry | Industry |
lastName | LastName |
leadSource | OriginalSourceInfo |
company.employee_count | NumberOfEmployees |
phone | Phone |
address.zip | PostalCode |
rating | Rating |
address.state | State |
address.street | Address |
title | Title |
birthday | DateofBirth |
website | Website |
Track
You can use the track
events to register custom activities in Marketo.
A sample track
call is as shown in the snippet below:
rudderanalytics.track("Order Completed", { checkout_id: "C324532", order_id: "T1230", value: 15.98, revenue: 16.98, shipping: 3.0, coupon: "FY21", currency: "INR",})
Event mapping settings
The following settings are associated with the track
events and require you to first create a Custom Activity in Marketo before sending the events. You also need to approve the activity in order to get the Custom Activity ID.
- Map events to Marketo Activity ID: Map the event name to your Marketo custom activity ID.
- Map event properties to Marketo property name: Use this setting to map your
track
event properties to the Marketo fields listed in your custom activity.
- Map event name to Marketo primary key: Map the
track
event name to the Marketo primary key associated with the custom activity.
FAQ
Why are my requests failing with the message "Lookup failed"?
Make sure you have created two fields in Marketo with the names userId
and anonymousId
, so that RudderStack can look up the Marketo lead database for leadId
with the userId
that are passed along with the event.
Why are my track
events failing?
- Make sure you have created two fields in Marketo with the API names exactly as
userId
andanonymousId
. RudderStack looks up the Marketo lead objects using these properties. Without these two fields, all the events will fail. - If you're sending
track
events withoutuserId
, make sure you have enabled theTrack Anonymous events
setting in the RudderStack dashboard. If this setting is disabled, events that don't contain theuserId
field will fail.
How do I obtain the Marketo client ID and secret?
To set up the Marketo API service and obtain the client ID and secret associated with it, follow these steps:
- Log into your Marketo instance and click the Admin tab.
- Select LaunchPoint.
- Here, you will able to see all the installed services used for connecting to Marketo.
- To create a new service, click New > New Service.
- Enter the Display Name. From the Service dropdown, select Custom.
- Under Settings, enter the Description and select the API Only User, as shown. Finally, click CREATE.
Once the setup is complete, you should have the client ID and client secret for the API service. Use this to configure the Marketo destination in RudderStack.
How do I create a custom activity in Marketo?
For a step-by-step guide on creating a custom activity in Marketo, refer to this Marketo documentation.
Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.