---
title: Integrate Marketo
slug: data-platform/docs/integrate-marketo
docTags: 
createdAt: 2026-08-10T12:05:18.000Z
---

:::hint{type="info"}
**Note**

The terms *audiences* and *segments* are interchangeable. Optimizely has updated all *segments* to *audiences* on the **Audiences** page and is updating the UI on other pages. See  [Understand audiences](docId\:v-gHiL9jfINBey-4QNtFM) to get information on audiences.
:::

Sync your customer data from Marketo to Optimizely Data Platform (ODP) to enrich your customer profiles, reports, and segmentation with Marketo lead record data, email activities, form submissions, program member statuses, and cookies.

You can also sync ODP audiences and customer attributes to Marketo lists to power your Marketo automation and personalization strategy.

## Prerequisites

- Marketo account
- Marketo API user with the following access permissions:
  - Read-Only Activity
  - Read-Only Activity Metadata
  - Read-Only Assets
  - Read-Write Person
- ODP account

## Update API app consent setting

You only need to complete the instructions in this section if your app consent setting for the API channel is set to **Opted Out**. This setting must be set to **Opted In** for this app to successfully send data.

1. Go to **Settings > App Consent Settings** in ODP.
2. Set the **Api** app's **Default Consent** to **Opted In**.

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/ReEqOwz9ep8rHhK3HVmLw_odp-app-consent-setting.png" size="90" width="1054" height="909" isUploading="false" darkWidth="1054" darkHeight="909" showCaption="false"}

3. Click **Update Consent** in the confirmation prompt.

## Configure the integration

1. Go to **Data Setup >** **App Directory** in ODP.
2. Select the **Marketo** app.
3. Click **Install App**.
4. Go to the **Settings** tab.
5. Enter your Marketo **Base URL**, **Client ID**, and **Client Secret** in the **Authentication** section.
6. Click **Authenticate**.
7. In the **Sync** section, enable the Marketo objects you want to sync to ODP and then click **Save**:
   - **Leads** – Syncs leads created on the last day, daily. Updates ODP customer profile.
   - **Email Activities** – Syncs hourly. Updates ODP customer profile.
   - **Programs** – Syncs updates from the last day, daily. Each program creates corresponding fields in ODP that you can use in reports and segmentation. Does *not* update ODP customer profile.
   - **Forms** – Syncs form submission events every 5 minutes. Updates ODP customer profile.

If you enable the **Leads**, **Programs**, and **Forms** Marketo objects, a corresponding section for each displays to manage leads field mappings, select programs to sync, and select forms to sync.

The data that you enable in step seven begins syncing from Marketo to ODP after you complete the configuration in each corresponding section. To sync historical Marketo data, see [Import historical data](docId\:WicA2GsBKMCnLx9R0JOmP).

### Leads Field Mapping

The **Leads Field Mapping** section includes a table that lists the Marketo fields that sync to ODP by default. You can add field mappings to sync additional fields not listed in the table. Repeat these steps for each field mapping you want to add:

1. Expand the **Leads Field Mapping** section.
2. Below the table, select the Marketo field from the first drop-down list.
3. Select the ODP field from the second drop-down list to which you want to map the Marketo field.

   :::hint{type="info"}
   **Note**

   If the Marketo field does not have a corresponding field in ODP, you must first [create that custom field in ODP](docId\:xSe13VUhsS-w2QE-GUxIZ).
   :::
4. Click **Save Field Map**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/SY9O0JCA_51GYbnGiTNX8-20260720-145649.png)

You can delete custom field mappings. Repeat these steps for each field mapping you want to delete:

1. Expand the **Leads Field Mapping** section.
2. Select the field mapping you want to delete from the **Field Map** drop-down list.
3. Click **Delete Field Map**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/puISbCWBuhv8JN6MYPq6X-20260720-145649.png)

### Programs

In the **Programs** section, select the Marketo programs from which you want to sync member statuses to ODP, then click **Save**.

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/n_bC0VL4sWIPz6CWkSDwy-20260720-145649.png" size="100" isUploading="false" showCaption="false" width="807" height="402" darkWidth="807" darkHeight="402" indent="2"}

:::hint{type="info"}
**Note**

Selecting a new program imports existing members and then syncs changes daily.
:::

### Forms

The **Forms** section includes a table that lists your Marketo forms and their corresponding fields that you can sync to ODP. Each form's sync status and field mappings are not configured by default. You must manually enable the sync and configure the field mappings for each form that you want to sync:

1. Expand the **Forms** section.
2. Select the form from the **Configure Marketo Form** drop-down list.
3. Toggle the **Sync Status** to **On**.
4. Select the Marketo form field that you want to map from the **Form Field** drop-down list.
5. Select the corresponding ODP field from the **Customer Field** drop-down list.
6. The form mapping autosaves and displays in the table.
7. After you configure the sync status and form mappings, click **Done**.

If you add, remove, or modify forms in Marketo after configuring this integration, you can click **Reload from Marketo** in the **Forms** section to sync those forms over to ODP. The reload does not affect your configuration changes to existing Marketo forms in ODP.

### API Usage

In the **API Usage** section, set daily limits for API calls:

1. Expand the **API Usage** section.
2. Toggle **Enable Daily API Limit** on.
3. Enter a number in **Maximum API Requests Per Day** to limit the maximum number of daily API calls. Enter zero if you want to disable this limit. 
4. Enter a number in **Maximum Download Size** to limit the daily maximum download size in megabytes. Enter zero if you want to disable this limit. 
5. Click **Save**. The app pauses if either limit is reached and resumes after the usage falls below the limits.   

   ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/JKnUB-ECY3ZQ_e3SFpxRk-20260720-145649.png" size="90" isUploading="false" showCaption="false" width="793" height="322" darkWidth="793" darkHeight="322"}

## Import historical data

This integration syncs Marketo lead, program, and form events that occur after you complete each section's settings. You can import historical data in a maximum of 31-day batches:

1. Expand the **Import** section.
2. Enter the start date and time for the import.
3. Enter the end date and time for the import.

   :::hint{type="warning"}
   **Important**

   The end date cannot be more than 31 days after the start date.
   :::
4. Click **Start Sync**.

If you want to import more than 31 days of data, repeat the steps above as many times as needed in 31-day intervals.

## Sync data from ODP to Marketo

After you configure the app, you can set up an activation in ODP to sync your customer data from ODP to Marketo.

1. Go to **Activations > Overview**.
2. Click **Create New Campaign**.
3. To sync your audiences and data once, click **One-Time**. To set up an automated, recurring sync, click **Behavioral**.
4. Click **Create From Scratch**.
5. Enter a name for your activation that represents the data you are syncing to Marketo (for example, *Marketo Data Sync*).
6. Select your desired audience and click **Apply** or click **Create New Segment**, select your desired audience conditions, and click **Save**.

   ![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/X3JBYL_nDcpdjBm2tp7Rp-20260720-145649.png)
7. Expand **Enrollment Rules** and adjust as desired.
8. Expand **Touchpoints**.
9. Click to edit **Touchpoint 1** and select **Marketo**.
10. Select the Marketo **List** you want to sync this data to.
11. (Optional) Select the **Number of Additional Fields** you want to sync to Marketo (up to 20).
    A drop-down list and input field display for the number of additional fields you selected. In each **Field #** drop-down list, select the Marketo field you want to populate. In each corresponding **Field # Value**, enter the ODP field you want to send to the selected Marketo field. For example, if you selected *Company Name* from the **Field #** drop-down list, enter  for the corresponding **Field # Value**.
12. Click **Save** and then click your activation name in the breadcrumb trail.
13. In the **Touchpoints** section, click **Select start time and schedule**.
14. For a recurring sync (behavioral campaign), complete the following settings, then click **Apply**:
    - **Recurring or Continuous** – Select **Recurring**.
    - **Start Date** – Enter the date you want to send the data to Marketo.
    - **End** – Defaults to **Never**. If you want to end the Marketo data sync on a specific date, set that here.
    - **Repeats** – Set to **Daily**.
    - **Repeat Every** – Set to **1 day**.
    - **Timing** – Enter the time you want to send the data to Marketo.
    - **Time Zone** – Select the time zone in which you want to send this data. Click **Apply**.
15. For a one-time sync (one-time campaign), complete the following settings:
    - **Send Date** – Enter the date you want to send the data to Marketo.
    - **Send Time** – Enter the time you want to send the data to Marketo.
    - **Time Zone** – Select the time zone in which you want to send this data.
    - Click **Apply**.
16. Click **Save** and then click **Go Live**. Your sync starts at your designated start date and time.

## Troubleshoot the data sync

To ensure data is syncing as expected from ODP to Marketo:

1. Go to **Settings > Event Inspector** in ODP.
2. Click **Start Inspector**.
3. When data is available in the inspector, a number displays next to **Refresh**. Click to view the data.
4. The raw data that ODP and Marketo sends back and forth displays. Click **View Details** to see the formatted version of that raw data.
5. Data fields sent from Marketo back to ODP start with `_marketo`.

Each data sync is also logged in the [ODP activity log](docId\:iFvVHEUE8tk4PlyXWw4Ro):

1. Go to **Settings > Activity Log**.
2. Filter the categories by **marketo**.
3. Click **View Details** for a formatted view of the log details, including the number of matches.
