Setting up Marketo

Updated by Mikkel Settnes

To enable Dreamdata to access your Marketo account you will need to provide three pieces of information: 

  1. Your unique Base URL
  2. Your Client Id
  3. Your Client Secret 

.

The Base URL

You can find your base URL by logging in to Marketo and navigate to the Admin > Integration > Web Services menu. The base URL is labeled “Endpoint” and found in the “REST API” section as shown in the following screenshots:

.

The Client Id and Client Secret

To automatically generate a Client Id and a Client Secret you will need to create a “Custom Service”. To create this Custom Service, go to the Admin > LaunchPoint menu, and select New Service.

doc-rest-api-admin-launchpoint-new-service-menu

.

Give your service a descriptive name (say “Dreamdata connection”) and from the “Service” list select “Custom”.  Give your service a more verbose description and select the appropriate user from the API Only User list (make sure the user has access to the needed data described below), then press Create.

doc-rest-api-admin-launchpoint-new-service

This will add a new service to your list of LaunchPoint services, and the option to “View Details”.  Click on “View Details” and you’ll be given the Client Id and Client Secret:

doc-rest-api-get-token

.

With the Base URL, Client Id and Client Secret in hand, please log into your Dreamdata account and go to Data Platform -> Sources -> Marketo to enable the integrations.

The initial data synchronization from Marketo to Dreamdata is performed incrementally. This is due to daily data transfer limits imposed by Marketo. For this reason, it can take several days before all the historical data available for your plan is viewable in Dreamdata.

How will the data be mapped into Dreamdata?

  • Leads: Your leads will be mapped to Contacts in Dreamdata. This will allow you to track the engagement of individual contacts across multiple channels.
  • Activities: Activities can be mapped to Events in Dreamdata. These events can then be linked to specific customer journeys and applied with attributions.

FAQ:

What objects are synced into Dreamdata?

By default we pull the following objects, in the order described below:

  • Lead Properties
  • Leads
  • Campaigns
  • Activity Properties
  • Activities
    • Visit Webpage
    • Click Email
    • Click Link
    • Fill Out Form
    • Fill Out Facebook Lead Ads Form
    • Fill Out LinkedIn Lead Gen Form
    • Open Email
    • Open Sales Email
  • Programs
  • Program Member Properties
  • Program Members
How does Dreamdata handle limits?

To be able to pull the data, we need to make calls to all the endpoints used for each object and consume some of the bulk export quota to retrieve the data. If there is a lot of data, we may hit export quota limits and won't be able to take all available data, new or updated synced we last pulled data. We will retry the following day, again getting as much data as possible. The quota is shared will all services that use Marketo data.

Our implementation limits itself to 3 concurrent requests at a time. This is to avoid hitting Marketo’s shared limit of 10 concurrent API calls per instance or loosing too much data that is in process of being retrieved if we reach a state were a quota limit is hit.

How does Dreamdata handle retries?

All the requests to Marketo are using a retryable logic. Each request is retried up to 10 times before giving up. Retries are triggered for:

  • Network errors (connection issues, timeouts, etc.)
  • HTTP 5xx server errors
  • Marketo-specific rate limit errors - special case Marketo Rate Limit Error Code 606, where we wait 5 seconds between retries.


How did we do?