HomeGuidesAPI ReferenceGraphQL
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Optimizely Data Platform structure

Optimizely Data Platform (ODP) stores customer data in objects and fields that relate to various events (actions customers take). This data is segregated via different ODP accounts.

ODP data structure

At the core of ODP are Customers.

Every customer has a record of Events that they have performed over time. Every event is classified by an Event Type (for example, order, product, email) and Event Action (for example, purchase, view, open) and additional metadata stored in Fields (for example, product_id).

ODP considers Customers and Events Objects similar to a spreadsheet or a database table. Objects consist of Fields to store metadata and information about the data within the object.



The Event object has a ts field to store the time at which an event happened and the Customer object has an email field to store the last seen email for the customer.

ODP supports the addition of Custom Fields and Custom Objects to support customization of the schema to meet unique business needs (for example, a Concert Tickets object). See Objects & Fields.

ODP accounts

The way ODP segregates data is via Accounts. Every account has a unique Tracker ID (also referred to as a Public API Key) to separate its data from other ODP client data.



All APIs and SDKs use the Tracker ID to determine where to send data.

Common reasons to use multiple ODP accounts include:

  • Multiple Brands
  • International Stores
  • Business uses multiple eCommerce instances (for example, multiple Shopify stores)

Did this page help you?