---
title: Import historical data
slug: data-platform/docs/import-data
docTags: 
createdAt: 2026-08-10T12:05:17.000Z
---

Optimizely Data Platform (ODP) uses customer, product, order, event and custom data to create segments, reports, filters, recommendation models, personalized customer content and more.

You can upload historical data and sync ongoing data through any of the following methods:

- [CSV](docId\:r08aUwwgh_GGvJsecodCC)
- [Amazon S3](docId:6Y161Xczr3LP1as_tSc-Q)
- [Optimizely Commerce Cloud integration](docId\:PSSC0uOUeWxJZsM3nfSdg)
- [ODP API](docId\:HAM04fNruWNu1MiI49RrG)

## Review data fields

In ODP, go to **Account Settings > Objects & Fields** to review your existing default and custom data fields. Switch among the **Customers**, **Products**, **Orders** and **Events** tabs to view the data.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/1Ds-v6Tm4UweQh-u1e1gP_9e84efc-image.png)

Orders in ODP are represented as **Events** and as **Orders** objects. The **Events** object stores item-level fields, meaning products that a customer purchased. The **Orders** object stores top-level order fields, meaning the order total, taxes, discounts and customer information.

When you import order data, ODP automatically creates an event for the orders and associates them with the customer you include in the import file. If a customer does not exist in your account, then ODP creates a new customer profile.

:::hint{type="info"}
**Note**
For details on standard fields and how order data behaves in ODP (including refunds, returns and cancels), see [Objects and Fields](docId\:jWr_e_ykksqkpe5ZA-7fn).
:::

### Create custom fields

If you import data fields that are not in ODP, you must [create these as custom fields](../../data-platform/account-settings/manage-custom-fields.mdx) in ODP before you can import your data. Once you create any necessary custom fields, you can import the associated data.

For order data imports, you can create both item-level fields and top-level fields.

To create an item-level field, go to **Account Settings > Objects & Fields** and add a custom field directly to the **Events** object. Item-level fields must start with `item` to pull the data out of the object and connect it to the event.

To create a top-level field, go to **Account Settings > Objects & Fields** and add a custom field directly to the **Orders** object.
