---
title: Integrate Salesforce CRM Sync
slug: data-platform/docs/integrate-salesforce-crm-sync
docTags: 
createdAt: 2026-08-10T12:05:16.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 Salesforce CRM data to Optimizely Data Platform (ODP) to enrich customer profiles and power segmentation, AI, and reporting. After you set up this integration, you can configure an ODP activation to sync data from ODP to Salesforce CRM.

The data syncs when you complete the configuration below and continues to sync hourly afterward.

## 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 **Salesforce CRM Sync** app.
3. Click **Install App**.
4. Click the **Settings** tab.
5. Enter your Salesforce **Instance URL** and click **Authorize**. This redirects you to Salesforce; complete the prompts until you are redirected back to ODP.

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

   For help with finding your Salesforce instance URL, see [Salesforce's help article](https://help.salesforce.com/s/articleView?id=000384755\&type=1).
   :::
6. Expand the **Sync** section, enable the Salesforce objects you want to sync to ODP, and click **Save**.
7. (Optional) Click **Fire Historical Import Job** if you want to sync historical data.

### (Optional) Create additional field mappings

The **Contacts**, **Accounts**, **Opportunities**, and **Leads** sections each include a table that lists the Salesforce fields that sync to ODP by default. You can create field mappings for each if you want to sync additional fields not listed in the tables.

1. Expand the section where you want to create field mappings: **Contacts**, **Accounts**, **Opportunities**, or **Leads**.
2. Select the Salesforce field from the first drop-down list below the table.
3. Select the ODP field you want to map the Salesforce field to from the second drop-down list.
4. Click **Save Field Map**.

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

Repeat these steps for each field mapping you want to add in each field type section.

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

If a Salesforce field does not have a corresponding field in ODP, you need to first [create that custom field in ODP](docId\:xSe13VUhsS-w2QE-GUxIZ). Then, you can map the custom field to your desired Salesforce field using these instructions.
:::

### (Optional) Delete field mappings

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

If you have a field mapping between ODP and Salesforce and delete that field in Salesforce, you must delete that field mapping from the integration settings.
:::

1. Expand the section where the field mapping you want to delete is defined: **Contacts**, **Accounts**, **Opportunities**, or **Leads**.
2. Select that mapping from the **Field Map** drop-down list.
3. Click **Delete Field Map**.

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

Repeat these steps for each field mapping you want to delete in each field type section.

## Use Salesforce data in ODP

As your Salesforce data syncs to ODP, it creates corresponding customer profiles. You can then create audiences to pull those customer profiles based on Salesforce CRM data. For example, create audiences to differentiate customers as [Salesforce Leads or Contacts](https://www.coastalconsulting.co/blog/salesforce-leads-vs.-contacts-understanding-salesforce#:~\:text=Essentially%2C%20Salesforce%20Leads%20represent%20any,to%20pursue%20a%20sales%20opportunity.) or to pull customers based on a Salesforce account stage or opportunity they are associated with.

### Create a segment for Salesforce Leads

1. Go to **Customers > Audiences > Create New Audience**.
2. Enter a name and click **Create**. Select the following:
   - **Who?** – Customers with certain attributes
   - **With attribute** – Salesforce CRM Sync Is Lead
   - **Salesforce CRM Sync Is Lead** – Is and True
3. Click **Done**.
4. Click **And** and select the following:
   - **Who?** – Customers with certain attributes
   - **With attribute** – Salesforce CRM Sync Is Converted
   - **Salesforce CRM Sync Is Converted** – Is and False
5. Click **Done**. 
6. Click **Save**.

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

### Create an audience for Salesforce Contacts

1. Go to **Customers > Audiences > Create New Audience**.
2. Enter a name (like *Salesforce Contacts*) and click **Create**. Select the following:
   - **Who?** – Customers with certain attributes
   - **With attribute** – Salesforce CRM Sync Is Lead
   - **Salesforce CRM Sync Is Lead** – Is and True
3. Click **Done**.
4. Click **And** and select the following:
   - **Who?** – Customers with certain attributes
   - **With attribute** – Salesforce CRM Sync Is Converted
   - **Salesforce CRM Sync Is Converted** – Is and True
5. Click **Done**. 
6. Click **Save**.

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

### Create an audience for a Salesforce account stage

1. Go to **Customers > Audiences > Create New Audience**.
2. Enter a name (like *All Active Salesforce Customers*) and select the following:
   - **Who?** – Customers with certain attributes
   - **With attribute** – Account Stage
   - **Account Stage** – Is and Active Customer
3. Click **Done**.
4. Click **Save**.

   ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/NSTgHO567HafCtq4ZSxYA-20260720-145713.png" size="100" isUploading="false" showCaption="false" width="1136" height="191" darkWidth="1136" darkHeight="191"}

## Sync data from ODP to Salesforce CRM

First, [create an activation](docId\:ep_XkmdGXZuFtF0ysLrKx) to sync your ODP audiences and data to Salesforce CRM on a one-time or recurring basis. Then, within that campaign, [add a touchpoint](docId\:ep_XkmdGXZuFtF0ysLrKx) with Salesforce CRM Sync as the channel. Configure that touchpoint to sync to a Salesforce contact or lead.

### Create an activation

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

   ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/P9EDqQoMd-Kpjfb9h-Y4y-20260720-145713.png" size="100" isUploading="false" showCaption="false" width="1161" height="604" darkWidth="1161" darkHeight="604"}
7. Expand **Enrollment Rules** and toggle the **must not have matched this campaign in the last 7 days** setting off.

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

   This should not affect a one-time campaign, but turning this setting off ensures you will not have any issues if you rerun this campaign.
   :::

### Add a touchpoint

1. Expand **Touchpoints** within your activation.
2. Click to edit **Touchpoint 1** and select **Salesforce CRM Sync**.
3. Complete the following fields in the **Configure** section:
   - **Create/Update Object** – Select **Contact** or **Lead**. This determines whether the activation syncs a Salesforce Contact or a Salesforce Lead.
   - **Only update existing records in Salesforce** – Toggle off to send email addresses to Salesforce, which creates new records in Salesforce if they do not exist. Toggle on to send only the Salesforce contact or lead ID, which only updates existing records in Salesforce.
   - **Mandatory fields** – ODP automatically populates these fields for you. They are not editable.
   - **Number of Additional Fields** – (Optional) Select the number of additional Salesforce CRM data fields you want to sync (up to 20).

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

     A drop-down list and input field display for the number of additional fields you selected. In each **Field #** drop-down list, select the Salesforce CRM field you want to populate. In each corresponding **Field # Value**, enter the ODP customer attribute you want to send into the selected Salesforce CRM field. For example, if you selected **Job Function \[string]** from the **Field #** drop-down list, enter `{{customer.job_function}}` for the corresponding **Field # Value**.
     :::

     ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/exJVmQpYxI59HhLDak5EJ-20260720-145713.png" size="100" isUploading="false" showCaption="false" width="3187" height="1811" darkWidth="3187" darkHeight="1811"}
4. Click **Save** and then click your activation name in the breadcrumb trail.
5. Click **Select start time and schedule** in the Touchpoints section.
6. 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 Salesforce CRM.
   - **End** – Defaults to **Never**. If you want to end the Salesforce CRM 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 Salesforce CRM.
   - **Time Zone** – Select the time zone in which you want to send this data.

     ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Xdmr0Ex4N5yYR1hg2ZsDf-20260720-145713.png" size="60" isUploading="false" showCaption="false" width="501" height="396" darkWidth="501" darkHeight="396"}
7. For a one-time sync (one-time campaign), complete the following settings, then click **Apply**:
   - **Send Date** – Enter the date you want to send the data to Salesforce CRM.
   - **Send Time** – Enter the time you want to send the data to Salesforce CRM.
   - **Time Zone** – Select the time zone in which you want to send this data.
   - Click **Apply**.

     ::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/eKL8fGjykKRaRvvFn4iwa-20260720-145713.png" size="60" isUploading="false" showCaption="false" width="356" height="343" darkWidth="356" darkHeight="343"}
8. Click **Save** and then click **Go Live**. Your sync starts at your designated start date/time.
