---
title: Enable ODP in Configured Commerce
slug: optimizely-one/enable-odp-in-configured-commerce
docTags: 
createdAt: 2026-07-20T15:44:42.783Z
---

To use Optimizely Data Platform (ODP) with Optimizely Configured Commerce, you must configure the following integration jobs for exporting products, warehouses, orders, customers, user profiles, and customer user profiles data to ODP.

## Prequisites

Ensure you have followed all [prerequisites](docId\:AfREysc3UjD8AULfjaEyN). You must have validated whether or not your environment uses unique email addresses before integrating with ODP.

## Enable ODP Integration

This must be completed as part of a manual provisioning request. Verify ODP tracking is enabled under **Settings > Integration > ODP Integration**. Contact [Support](mailto\:support@optimizely.com) if the integration is not enabled.

::Image[]{src="https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/H524zjq_jFO3RsN2wQh0i-20260720-150121.png" size="60" isUploading="false" width="994" height="878" darkWidth="994" darkHeight="878" showCaption="false"}

When **Enable ODP Tracking** is turned on, and the settings change is saved, the Admin Console displays an **ODP Job Definitions** modal with the prompt: *"Do you wish to install the Job Definitions for ODP data export?"*

The modal includes an **ODP** toggle defaulted to **Yes**. Click **Save** to install the job definitions automatically. This replaces the previous manual process of creating each job definition individually.

The import installs eight job definitions: ODP Customer Export, ODP User Profile Export, ODP Order Export, ODP Warehouse Export, ODP Product Export, ODP Customer To User Mapping Export, Daily User Events Sync (recurring), and Historical User Events Sync.

The prompt appears each time **Enable ODP Tracking** is toggled on and saved.

## Custom order status mapping

If you have custom order statuses, you can configure which statuses should sync to ODP without any code changes.

1. Go to **Order Status Mapping** in the Admin Console.
2. Click **Edit** for the order status.
3. Map the order statuses to an ODP Action Type of **Purchase** or **Cancel**. If a status does not correspond to either action type, you can leave it unmapped.

   ![Update ODP action type.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/jj1YSqaKW5bYZOd3L2F_X-20260720-150121.png)

:::Paragraph{indent="1"}
Typically, you should map statuses such as *Submitted*, *Purchased*, *Order Placed*, or any custom status that represents an order being successfully submitted (or that aligns with an ERP order placed status) to **Purchase**. Map any status representing a cancelled order to **Cancel**.
:::

:::hint{type="info"}
**Note**
By default, Configured Commerce sends the following order statuses to ODP: *Submitted*, *Punchout*, and *ReadyForPickup* as **Purchase**, and *CancellationRequested* as **Cancel**. If needed, you can map additional order statuses to the appropriate ODP action types using the previous steps.
:::

## Real-time data

Once the ODP integration is enabled, any additions or updates to products, customers, users, and so on are sent in real time to ODP from the Configured Commerce backend through ODP REST APIs.

## Historical data

Create the following integration jobs to send product, customer, user profile, customer user profile, warehouse, and order data to ODP.

1. **Export products to ODP** – Create an integration job with **ProductOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![Product ODP Export.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/7lbC74NNNHEBVpF5yuxtC-20260720-150121.png)
2. **Export warehouses to ODP** – Create an integration job with **WarehouseOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![Warehouse ODP Export.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/_sq_iLFiknG0LSw15HzTO-20260720-150121.png)
3. **Export orders to ODP** – Create an integration job with **OrderOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![Order ODP Export.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/SRE2hauPZW7VTVqsWi8Ow-20260720-150121.png)
4. **Export customers to ODP** – Create an integration job with **CustomerOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![Customers to ODP.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/f2bbUV2U-PL-slt3AS8tL-20260720-150121.png)
5. **Export user profiles to ODP** – Create an integration job with **UserProfileOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![User Profiles Export.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/dtwW3MnA_XsmRCZlcte1r-20260720-150121.png)
6. **Export customer user profiles to ODP** – Create an integration job with **CustomerToUserMappingOdpExport** as the **Post Processor**, configure any necessary notifications, and schedule and run the job once. Verify the job runs in Configured Commerce and that ODP imports the data successfully.

   ![Customer User Profiles Export.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/kxZy9z1i72fzaauaTIm2d-20260720-150121.png)

### Recommended strategy for scheduling data exports

- You should use scheduled exports to initialize and periodically validate full data consistency across systems.
- Real-time updates help maintain continuous synchronization with minimal latency.
- Combine both approaches for optimal reliability:
  - Real-time feeds handle incremental changes as they occur.
  - Scheduled exports serve as a safety net to catch any data gaps caused by communication or processing issues.

### Important notes

**Date range parameters for historical export jobs**

Historical export jobs support optional parameters for controlling the date range of processed data:

- **LookBackDays**
- **StartDate**
- **EndDate**

These parameters let administrators fine-tune which records are included in each export run. When no parameters are provided, all data is exported.

**LookBackDays**

- All historical export jobs support the **LookBackDays** parameter, which restricts processing to entities modified within the specified number of days.

  ![LookBackDays.png](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/jyLbrHGosZIaKAi5QyRYT-20260720-150121.png)
- Setting **LookBackDays = 1** is recommended for daily job schedules, ensuring complete coverage of data changes within the last 24 hours while maintaining optimal performance.
- Data sourced from external systems is not updated in real time. To keep this data current, schedule daily exports with **LookBackDays = 1**, or refresh manually as needed.

**StartDate and EndDate**

In addition to LookBackDays, export jobs also support **StartDate** and **EndDate** parameters. These parameters accept specific date and time values and let administrators define an explicit date range for the export.

Use these parameters when you need precise control over the time window of data being sent to ODP, such as when backfilling historical data or exporting a specific period.

### Send custom properties to ODP

See [Send custom properties to ODP](docId\:cld1njOyysE-2shhRPz4Z) in the developer documentation to extend Configured Commerce using real-time transmission or batch integration jobs.

## User Events

Enabling storefront events tracks storefront users and sends the following events in real time to ODP through the ODP JavaScript tag and from the Configured Commerce backend through ODP REST APIs.

| **ODP event type** | **ODP action**         | **Sent from**              |
| ------------------ | ---------------------- | -------------------------- |
| product            | add\_to\_cart          | Storefront ODP JS Tag      |
| product            | remove\_from\_cart     | Storefront ODP JS Tag      |
| product            | detail                 | Storefront ODP JS Tag      |
| page\_view         | category               | Storefront ODP JS Tag      |
| page\_view         | cart                   | Storefront ODP JS Tag      |
| page\_view         | website                | Storefront ODP JS Tag      |
| navigation         | search                 | Storefront ODP JS Tag      |
| navigation         | sort                   | Storefront ODP JS Tag      |
| navigation         | filter                 | Storefront ODP JS Tag      |
| navigation         | autocomplete           | Storefront ODP JS Tag      |
| account            | update                 | Storefront ODP JS Tag      |
| order              | purchase               | Backend using ODP REST API |
| account            | register               | Backend using ODP REST API |
| account            | login                  | Backend using ODP REST API |
| account            | logout                 | Storefront ODP JS Tag      |
| product            | add\_to\_wishlist      | Storefront ODP JS Tag      |
| product            | remove\_from\_wishlist | Storefront ODP JS Tag      |
| pageview           |                        | Storefront ODP JS Tag      |
| business           | change\_business       | Storefront ODP JS Tag      |

