BigQuery data specification
Data specification of Optimizely Experimentation data included in the BigQuery data export.
Note
This is a third-party integration and is not an Optimizely subprocessor. See Optimizely's Third-Party Add-Ons & Platform Integration Terms.
Data schemas for Optimizely Experimentation data in BigQuery.
Decisions
Field | Type | Description |
---|---|---|
uuid | String | Event uuid generated by the client. Used to de-duplicate events. |
timestamp | Integer | Event timestamp (in UTC). |
account_id | String | Account identifier. |
visitor_id | String | A unique identifier for the visitor. |
session_id ** | String | Optimizely no longer automatically generates the session_id as of October 9, 2023. |
campaign_id | String | The id of the campaign containing this experiment. |
experiment_id | String | The id of the experiment the visitor was exposed to. For Personalization campaigns, you should explicitly send null as the experiment_id for visitors not bucketed into any experiment, for the purpose of accurately computing campaign reach. Optimizely no longer automatically generates the session_id as of October 9, 2023, you can add it manually. |
experiment_id_hash | Integer | Integer-range partitioning column. Use ABS(MOD(FARM_FINGERPRINT("experiment_id"), 4000)) to query. |
variation_id | String | The id of the variation the visitor was exposed to. For Personalization Campaigns, clients should explicitly send null as the variation_id for visitors not bucketed into any experiment, for the purpose of accurately computing campaign reach. |
user_ip | String | User IP address. |
user_agent | String | User-agent. |
anonymize_ip | Boolean | Optimizely typically stores the client IP address for each request. If this flag is true, the last octet of the IP will be truncated before it is stored. If false, the entire IP address will be stored. This is most relevant for consumers of this API that are implemented in a web browser or mobile client context who are subject to policies or regulation restricting the storage of end-user identifying information. This flag is independent of the IP anonymization setting in the Account and Project settings, which only controls how Optimizely clients set this flag. If this flag is set, care must be taken when using the IP filtering feature, as fully-qualified explicit IP addresses will not function as filters (anonymization occurs before events are filtered by IP). |
referer | String | HTTP referer (the page from which the event was sent). |
is_holdback | Boolean | A boolean indicating if the visitor is bucketed into the experiment based on the traffic allocation settings. If set to true , the user was excluded from the experiment. |
client_engine | String | Client engine string (for example, 'js' or 'node-sdk'). |
client_version | String | Client version. |
revision | String | Client snippet revision. |
attributes | array <id:String, type:String, value:String> | An array of user attributes (also known as segments). |
process_timestamp | Integer | Timestamp set by the server. Indicates when the event was processed by the server (in UTC). |
** Optimizely no longer automatically generates the session ID
as of October 9, 2023, but you can add it manually. See the Experimentation Analytics October 2023 release notes
Conversion
Field | Type | Description |
---|---|---|
uuid | String | Event uuid generated by the client. Used to de-duplicate events. |
timestamp | Timestamp | Event timestamp in UTC. |
account_id | String | Account identifier. |
visitor_id | String | A unique identifier for the visitor. |
session_id ** | String | Unique session ID. Optimizely no longer automatically generates the session ID as of October 9, 2023. |
entity_id | String | Event entity identifier. |
event_type | String | Event type (click, pageview, custom, or client_activation). |
event_name | String | Friendly event name (from a client or 'multi-event' in case of multiple events). |
project_id | String | (Optional) The project_id needs only to be passed if you are using the Optimizely Recommendations product. |
revenue | Integer | Revenue (in cents). |
value | Float | The value used to compute value or numeric metrics. |
quantity | Integer | Quantity metric value. |
user_ip | String | User IP address. |
user_agent | String | User-agent. |
anonymize_ip | Boolean | Optimizely typically stores the client IP address for each request. If this flag is true, the last octet of the IP will be truncated before it is stored. If false, the entire IP address will be stored. This is most relevant for consumers of this API that are implemented in a web browser or mobile client context who are subject to policies or regulation restricting the storage of end-user identifying information. This flag is independent of the IP anonymization setting in the Account and Project settings, which only controls how Optimizely clients set this flag. If this flag is set, care must be taken when using the IP filtering feature, as fully-qualified explicit IP addresses will not function as filters (anonymization occurs before events are filtered by IP). |
referer | String | HTTP Referer (the page from which the event was sent). |
client_engine | String | Client engine string (for example, 'node-sdk'). |
client_version | String | Client version. |
revision | String | Client snippet revision. |
attributes | Array <id:String, name:String, type:String, value:String> | An array of user attributes (also known as segments). |
tags | Map <key:String, value:String> | Key and value pair of event tags. |
properties | Map <key:String, value:String> | Key value pairs defining properties or characteristics of the event. The value must be a string. |
experiments ** | Array <campaign_id:String, experiment_id:String, variation_id:string, is_holdback:Boolean> | An array of the campaigns, experiments, and variations the event is attributed to. Optimizely no longer automatically generates the experiments field as of October 9, 2023 |
process_timestamp | Integer | Timestamp set by the server. Indicates when the event was processed by the server (in UTC). |
** Optimizely no longer automatically generates the session ID
and experiments
fields as of October 9, 2023. See the Experimentation Analytics October 2023 release notes.
Updated 2 days ago