Skip to main content

Scheduled exports of experience configuration data

O
Written by Optimize Team

This article describes how we handle scheduled exports of your experience configuration data to your systems.

This export complements our scheduled exports of raw analytics data. The raw analytics export tells you what visitors did. This export tells you which tests those events belong to: their names, status, variations, traffic allocation and key dates.

What data is included?

The export contains one row per experience (test) in your account. Each row includes:

  • Project and test IDs, names, descriptions and your project alias

  • Test type and current status, including whether the test is paused or archived

  • Key dates: created, last updated, went live, completed and archived

  • Traffic throttling at project and test level

  • Each variation's ID, name, traffic allocation and whether it is the control

  • Targeting references, such as the segment and location the test uses

Data schema

Column

Type

Description

Example

account

Number

Your account ID. Matches DID in the raw analytics export.

2000001

projectId

Number

Project ID

2000001

testId

Number

Test ID

2000001

Created

DateTime

When the test was created

2025-01-01 00:00:00.000

Updated

DateTime

When the test was last changed

2025-01-01 00:00:00.000

state

Number

Deletion flag. 0 = active, 1 = deleted.

0

testType

Number

1 = AB, 2 = Target, 3 = Baseline

1

testState

Number

0 = Pending, 1 = Live, 2 = Staging, 3 = Published, 4 = Archived

1

segmentId

Number

ID of the segment used to target the test, or NULL if none

2000001

locationId

Number

ID of the location the test runs on

2000001

moniker

String

Your project alias value

ta_1HomepageBannersAB

projectName

String

Project name

1 - Homepage Banners AB

projectDescription

String

Project description, or blank

projectThrottleValue

Number

% of traffic allowed into the project (0–100)

100

projectMetaData

XML

Project configuration, including project type, environment and counts of active and completed runs

<Meta>…</Meta>

testName

String

Test name

1 - AW26 - All devices

testDescription

String

Test description, or blank

testThrottleValue

Number

% of traffic allowed into the test (0–100)

100

testMetaFields

JSON

Custom metadata fields set against the test, or empty array

[]

testDateActive

DateTime

When the test went live, or NULL

2025-01-01 00:00:00.000

testDateComplete

DateTime

When the test was completed, or NULL

2025-01-01 00:00:00.000

testArchive

DateTime

When the test was archived, or NULL

2025-01-01 00:00:00.000

paused

Number

1 if the test is paused, 0 if not

0

expPin

Number

If one variation is being shown to all users, that variation's ID. Otherwise 0.

0

factors

JSON

The test's factors. AB tests have a single factor.

[[{"itemID":"0","name":"Factor 1"}]]

variations

JSON

One object per variation: itemID, name, allocation, control flag and segmentKey (see below)

[{"itemID":2000001,"allocation":50,"control":true,"name":"Control","segmentKey":null}, …]

experiments

JSON

Traffic allocation keyed by variation ID

{"experiments":{"2000001":{"allocation":50}, …},"factors":[1]}

author

String

User who created the test, or blank

priority

Number

The test's position in its project's priority ranking, used to decide which test is shown when several compete

0

The variations column

Each object in variations describes one variation:

  • itemID: the variation ID. This matches ExperimentID in the raw analytics export.

  • name: the variation name, such as "Control" or "Variant 1".

  • control: true for the control, false for challengers.

  • allocation: the % of the test's traffic sent to this variation. It is null when the split hasn't been changed from the default even split.

  • segmentKey: a segment reference for the variation, or null.

Joining to your raw analytics data

Use these keys to link the two exports:

Raw analytics column

Experience export column

How they match

DID

account

Same value

TID

projectId + testId

TID is the project ID followed by the test ID. For example, project 2000001 and test 2000002 give TID 20000012000002.

ExperimentID

variations → itemID

Same value

For example, to attach test names to events:

SELECT e.*, t.testName FROM raw_events e JOIN experiences t   ON e.TID = CAST(CONCAT(t.projectId, t.testId) AS BIGINT)

How is the data delivered?

We deliver a CSV file daily, overnight. Each file is a full snapshot of all your experiences as they stood at the time of the export, typically midnight.

Because every file is a complete snapshot, you can replace your table with each new file rather than merging changes. If you want to track how tests change over time, keep each day's file.

Available Destinations

This is a growing list for us, but current destinations include:

SFTP

For this, we will need the following:

  • Host / IP address

  • Port number, usually 22

  • Username

  • Password

  • Folder, if not /

Azure Blob Storage, AWS S3

For this, we will need the following:

  • Account name

  • Container name

  • Connection strings, if appropriate

  • Access keys, if appropriate

Snowflake (coming soon)

Soon, we will be able to upload your data into Snowflake in a shared Table.

Data will be retained for a week, and we expect you to copy it into your own tables using scheduled copy jobs in services like Snowpipe.

To do this, we will create a Direct Share, and just need to know which account to share data with.

If you already receive the raw analytics export, we can deliver this file to the same destination.

How do I request a scheduled export?

Create a support request for us, with a ticket in the support portal or an email to [email protected].

Did this answer your question?