---
title: Data specification
slug: experimentation-strategy/data-docs/data-specification
createdAt: 2026-08-05T20:34:49.000Z
---

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

Amazon S3 export is being decommissioned on November 30, 2026. See the [GCS partitions](docId\:B2p4Fjd_uRAN93FjUU0Gh) and migrate using the [Authentication API](docId\:U-fPGtG4TQya8zNG2FAKS).
:::

Use the Experimentation Events Export when you need to analyze experiment data outside of Optimizely. For example, you might analyze the data in a data warehouse, business intelligence tool, or custom statistical pipeline. The Experimentation Events Export gives you access to the following data:

- **Decision events** (also known as impressions) – Events Optimizely Experimentation fires when it assigns a visitor to an experiment-and-variation pair.
  - Decision events in Optimizely Feature Experimentation.
  - Decision events in Optimizely Web Experimentation.
- **Conversion events** (also known as events) – Events Optimizely Experimentation fires when a visitor converts. For example, a click, page view, or purchase.
  - Conversion events in Optimizely Feature Experimentation.
  - Conversion events in Optimizely Web Experimentation.

Your export contains the same decision and conversion event data Optimizely uses to render the Experimentation Results page. Your analysis therefore aligns with what the Results page displays. For more, see How Optimizely Experimentation counts conversions.

## Event content

Your event data includes the following fields, among others:

- Event timestamp.
- Visitor ID.
- Event (entity) ID and event name.
- User attributes.
- Event tags.
- Additional visitor and event metadata.
- Server process timestamp.

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

As of October 9, 2023, Optimizely no longer generates the `session_id` field on decision events, or the `session_id` and `experiments` fields on conversion events.

For more, see the [Experimentation Analytics October 2023 release notes](docId\:LeGBBQxgBHBoMeglED9b4).
:::

For the complete field reference, see the [Schema](docId\:B2p4Fjd_uRAN93FjUU0Gh) section.

### Event data transformation

Optimizely preprocesses the data in the Experimentation Events Export to ensure accuracy, consistency, and usability. These transformations run on every export, so consumers downstream see the cleaned data, not the raw client events. The export applies the following transformations:

- **Remove duplicate events** – Deduplicates events based on `uuid`.
- **Populate missing event names** – Sets `event_name` to `entity_id` if `event_name` is blank.
- **Filter out incomplete conversions** – Removes a conversion unless `entity_id`, `revenue`, or `value` is populated, or `event_type` is `client_activation`.
- **Replace oversized values** – Substitutes `event_name` or `experiment_id` if the original value exceeds size limits.

## Access the export data

The data is stored in Parquet-formatted file parts. The number of file parts depends on your total event volume. Use parquet-tool to inspect file contents and schemas.

Your data is available in Amazon S3 and Google Cloud Storage (GCS). The format and schema are identical. Only the storage location and credentials differ. See the [Authentication API](docId\:U-fPGtG4TQya8zNG2FAKS) for how to obtain credentials for each.

The S3 data is encrypted using AWS-KMS. To access it, you need one of the following clients:

- AWS CLI version 1.11.108 or later
- AWS SDKs released after May 2016

The GCS data is encrypted at rest by Google Cloud Storage. To access it, use the Google Cloud CLI (`gcloud storage`) or a Google Cloud Storage client library.

### AWS S3 partitions

Your event data is exported in the following S3 partitions:

**Decisions** – `s3://optimizely-events-data/v1/account_id=ACCOUNT_ID/type=decisions/date=YYYY-MM-DD/experiment=EXPERIMENT_ID`

**Conversions** – `s3://optimizely-events-data/v1/account_id=ACCOUNT_ID/type=events/date=YYYY-MM-DD/event=EVENT_NAME`

**Legend**

- `optimizely-events-data` – S3 bucket name.
- `account_id` – Your unique account identifier.
- `date` – The data creation date.
- `experiment_id` – Unique experiment identifier (used for the decisions partition).
- `event_name` – Event (entity) identifier (used for the conversions partition).

### GCS partitions

Your event data is exported to a per-account GCS bucket in the following partitions:

**Decisions** – `gs://optimizely-e3-ACCOUNT_ID/v1/account_id=ACCOUNT_ID/type=decisions/date=YYYY-MM-DD/experiment=EXPERIMENT_ID`

**Conversions** – `gs://optimizely-e3-ACCOUNT_ID/v1/account_id=ACCOUNT_ID/type=events/date=YYYY-MM-DD/event=EVENT_NAME`

**Legend**

- `optimizely-e3-ACCOUNT_ID` – GCS bucket name (one bucket per account).
- `account_id` – Your unique account identifier.
- `date` – The data creation date.
- `experiment_id` – Unique experiment identifier (used for the decisions partition).
- `event_name` – Event (entity) identifier (used for the conversions partition).

### Status file

The daily partition files are ready for import when the `_SUCCESS` file is available.

**Amazon S3**

**Decisions** – `s3://optimizely-events-data/v1/account_id=ACCOUNT_ID/type=decisions/date=YYYY-MM-DD/_SUCCESS`

**Conversions (Events)** – `s3://optimizely-events-data/v1/account_id=ACCOUNT_ID/type=events/date=YYYY-MM-DD/_SUCCESS`

**Google Cloud Storage**

**Decisions** – `gs://optimizely-e3-ACCOUNT_ID/v1/account_id=ACCOUNT_ID/type=decisions/date=YYYY-MM-DD/_SUCCESS`

**Conversions (Events)** – `gs://optimizely-e3-ACCOUNT_ID/v1/account_id=ACCOUNT_ID/type=events/date=YYYY-MM-DD/_SUCCESS`

Poll for this file. When it is present, import the daily partition data.

### File structure

The Experimentation Events Export has the following file structure:

- **Decisions** – Visitor bucketing information for experiments. Bucketing is the process of assigning a visitor to one of the variations in an experiment, based on their identifier and the experiment's traffic allocation.
  - Experiment
    - Day
- **Events (conversions)** – All tracked events, such as a click, a hover, or any other configured event.
  - Event
    - Day

## Schema

### Decisions

Each row represents a single decision event.

| Field                  | Type               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \`uuid\`               | string (GUID)      | Event UUID generated by the client. Used to deduplicate events.                                                                                                                                                                                                                                                                                                                                                                                          |
| \`timestamp\`          | long (time millis) | Event timestamp – UTC, UNIX epoch milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                          |
| \`process\_timestamp\` | long (time millis) | Server process timestamp – UTC, UNIX epoch milliseconds. Indicates when the server processed the event.                                                                                                                                                                                                                                                                                                                                                  |
| \`visitor\_id\`        | string             | The user or visitor identifier set by the client.                                                                                                                                                                                                                                                                                                                                                                                                        |
| \`session\_id\`        | string             | Unique session ID. As of October 9, 2023, Optimizely no longer generates \`session\_id\`.                                                                                                                                                                                                                                                                                                                                                                |
| \`account\_id\`        | string             | Account identifier.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| \`campaign\_id\`       | string             | Campaign ID.                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| \`experiment\_id\`     | string             | Experiment ID. Set to \`null\` if the user is evaluated for the experiment and fails the audience condition.                                                                                                                                                                                                                                                                                                                                             |
| \`variation\_id\`      | string             | Unique variation ID. Set to \`null\` if the user is evaluated for the experiment and fails the audience condition.                                                                                                                                                                                                                                                                                                                                       |
| \`attributes\`         | array\\            | An array of user attributes (also known as segments).                                                                                                                                                                                                                                                                                                                                                                                                    |
| \`user\_ip\`           | string             | User IP address.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| \`user\_agent\`        | string             | User-agent.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| \`referrer\`           | string             | Client referrer (the page from which the event was sent).                                                                                                                                                                                                                                                                                                                                                                                                |
| \`is\_holdback\`       | boolean            | Indicates whether traffic allocation excluded the visitor from the experiment. When \`true\`, the visitor was excluded.                                                                                                                                                                                                                                                                                                                                  |
| \`revision\`           | string             | Client snippet revision.                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| \`client\_engine\`     | string             | Client engine string (for example, \`js\` or \`node-sdk\`).                                                                                                                                                                                                                                                                                                                                                                                              |
| \`client\_version\`    | string             | Client version.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| \`activation\_id\`     | string             | Available only for Web Experimentation products, including Performance Edge. Used to calculate bounce and exit metrics.                                                                                                                                                                                                                                                                                                                                  |
| \`anonymize\_ip\`      | boolean            | When set to \`true\`, the last octet of the IP address is removed before storage. When \`false\`, the full IP address is stored. Most relevant if your implementation runs in a web browser or mobile app under data-privacy regulations. This flag operates independently of the IP-anonymization setting in **Account** and **Project** settings. When \`true\`, IP-based filtering does not work, because anonymization runs before IP filters apply. |

As of October 9, 2023, Optimizely no longer generates `session_id`. See the [Experimentation Analytics October 2023 release notes](docId\:LeGBBQxgBHBoMeglED9b4).

### Conversions

Each row represents a single conversion event.

| Field                  | Type               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \`uuid\`               | string (GUID)      | Event UUID generated by the client. Used to deduplicate events.                                                                                                                                                                                                                                                                                                                                                                                          |
| \`timestamp\`          | long (time millis) | Event timestamp – UTC, UNIX epoch milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                          |
| \`process\_timestamp\` | long (time millis) | Server process timestamp – UTC, UNIX epoch milliseconds. Indicates when the server processed the event.                                                                                                                                                                                                                                                                                                                                                  |
| \`visitor\_id\`        | string             | User identifier set by the client.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| \`session\_id\`        | string             | Unique session ID. As of October 9, 2023, Optimizely no longer generates \`session\_id\`.                                                                                                                                                                                                                                                                                                                                                                |
| \`account\_id\`        | string             | Unique account identifier.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| \`experiments\`        | array\\            | An array of the campaigns, experiments, and variations the event is attributed to. As of October 9, 2023, Optimizely no longer generates the \`experiments\` field.                                                                                                                                                                                                                                                                                      |
| \`properties\`         | map \\             | Key-value pairs that define properties of the event. The value must be a string.                                                                                                                                                                                                                                                                                                                                                                         |
| \`entity\_id\`         | string             | Event entity identifier.                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| \`attributes\`         | array\\            | An array of user attributes (also known as segments).                                                                                                                                                                                                                                                                                                                                                                                                    |
| \`user\_ip\`           | string             | User IP address.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| \`user\_agent\`        | string             | User-agent.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| \`referrer\`           | string             | Client referrer (the page from which the event was sent).                                                                                                                                                                                                                                                                                                                                                                                                |
| \`event\_type\`        | string             | Event type – one of \`click\`, \`pageview\`, \`custom\`, or \`client\_activation\`.                                                                                                                                                                                                                                                                                                                                                                      |
| \`event\_name\`        | string             | Human-readable event name from the client, or \`multi-event\` when multiple events are batched.                                                                                                                                                                                                                                                                                                                                                          |
| \`revenue\`            | long               | Revenue (in cents).                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| \`project\_id\`        | string             | (Optional) Pass \`project\_id\` only when you are using the Optimizely Recommendations product.                                                                                                                                                                                                                                                                                                                                                          |
| \`value\`              | double             | The value used to compute value or numeric metrics.                                                                                                                                                                                                                                                                                                                                                                                                      |
| \`quantity\`           | long               | Quantity metric value.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| \`tags\`               | map\\              | Key-value pairs of event tags.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| \`revision\`           | string             | Client snippet revision.                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| \`client\_engine\`     | string             | Client engine string (for example, \`node-sdk\`).                                                                                                                                                                                                                                                                                                                                                                                                        |
| \`client\_version\`    | string             | Client version.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| \`activation\_id\`     | string             | Available only for Web Experimentation products, including Performance Edge. Used to calculate bounce and exit metrics.                                                                                                                                                                                                                                                                                                                                  |
| \`anonymize\_ip\`      | boolean            | When set to \`true\`, the last octet of the IP address is removed before storage. When \`false\`, the full IP address is stored. Most relevant if your implementation runs in a web browser or mobile app under data-privacy regulations. This flag operates independently of the IP-anonymization setting in **Account** and **Project** settings. When \`true\`, IP-based filtering does not work, because anonymization runs before IP filters apply. |

As of October 9, 2023, Optimizely no longer generates `session_id` or `experiments`. See the [Experimentation Analytics October 2023 release notes](docId\:LeGBBQxgBHBoMeglED9b4).
