Third-party sources
Snowplow provides tracking integrations that let you capture data from third-party tools deployed on your web and mobile properties.
Optimizely X
The Optimizely X web plugin captures experiment and variation data from Optimizely A/B tests. The tracker will add it to all tracked events as an entity.
This table shows the support for Optimizely X tracking across the main client-side Snowplow tracker SDKs:
| Tracker | Supported | Since version | Auto-tracking | Notes |
|---|---|---|---|---|
| Web | ✅ | 3.0.0 | ✅ | Requires Optimizely X plugin |
| iOS | ❌ | |||
| Android | ❌ | |||
| React Native | ❌ | |||
| Flutter | ❌ | |||
| Roku | ❌ | |||
| Google Tag Manager | ❌ |
summary
EntityExample
{
"experimentId": 12345,
"variationName": "Variation A",
"variationId": 67890,
"isActive": true
}
Properties and schema
- Table
- JSON schema
| Property | Description |
|---|---|
experimentIdinteger | Optional. The Optimizely experiment ID |
variationNamestring | Optional. The variation name (requires privacy setting) |
variationIdinteger | Optional. The variation ID |
isActiveboolean | Optional. Whether the experiment is active |
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for Optimizely X experiment context",
"self": {
"vendor": "com.optimizely.optimizelyx",
"name": "summary",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"experimentId": {
"type": [
"integer",
"null"
],
"description": "The Optimizely experiment ID"
},
"variationName": {
"type": [
"string",
"null"
],
"description": "The variation name (requires privacy setting)"
},
"variationId": {
"type": [
"integer",
"null"
],
"description": "The variation ID"
},
"isActive": {
"type": [
"boolean",
"null"
],
"description": "Whether the experiment is active"
}
},
"additionalProperties": true
}
Google Analytics cookies
The GA cookies web plugin captures Google Analytics cookie values (both GA4 and Universal Analytics) and attaches them to all events.
This table shows the support for GA cookie tracking across the main client-side Snowplow tracker SDKs:
| Tracker | Supported | Since version | Auto-tracking | Notes |
|---|---|---|---|---|
| Web | ✅ | 3.0.0 | ✅ | Requires GA cookies plugin |
| iOS | ❌ | |||
| Android | ❌ | |||
| React Native | ❌ | |||
| Flutter | ❌ | |||
| Roku | ❌ | |||
| Google Tag Manager | ❌ |
The entity schema depends on whether the tracker finds GA4 or Universal Analytics cookies.
GA4 schema:
cookies
EntityExample
{
"_ga": "G-1234",
"cookie_prefix": "prefix",
"session_cookies": [
{
"measurement_id": "G-1234",
"session_cookie": "567"
}
]
}
Properties and schema
- Table
- JSON schema
| Property | Description |
|---|---|
_gastring | Optional. The _ga cookie value |
cookie_prefixstring | Optional. The cookie prefix if configured |
session_cookiesarray | Optional. Session cookie values by measurement ID |
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for GA4 cookies context",
"self": {
"vendor": "com.google.ga4",
"name": "cookies",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"_ga": {
"type": "string",
"description": "The _ga cookie value"
},
"cookie_prefix": {
"type": [
"string",
"null"
],
"description": "The cookie prefix if configured"
},
"session_cookies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"measurement_id": {
"type": "string"
},
"session_cookie": {
"type": "string"
}
}
},
"description": "Session cookie values by measurement ID"
}
},
"additionalProperties": false
}
Universal Analytics schema:
cookies
EntityExample
{
"_ga": "GA1.2.3.4"
}
Properties and schema
- Table
- JSON schema
| Property | Description |
|---|---|
_gastring | Optional. The _ga cookie value |
__utmastring | Optional. Classic GA cookie |
__utmbstring | Optional. Classic GA cookie |
__utmcstring | Optional. Classic GA cookie |
__utmvstring | Optional. Classic GA cookie |
__utmzstring | Optional. Classic GA cookie |
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for Universal Analytics cookies context",
"self": {
"vendor": "com.google.analytics",
"name": "cookies",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"_ga": {
"type": [
"string",
"null"
],
"description": "The _ga cookie value"
},
"__utma": {
"type": [
"string",
"null"
],
"description": "Classic GA cookie"
},
"__utmb": {
"type": [
"string",
"null"
],
"description": "Classic GA cookie"
},
"__utmc": {
"type": [
"string",
"null"
],
"description": "Classic GA cookie"
},
"__utmv": {
"type": [
"string",
"null"
],
"description": "Classic GA cookie"
},
"__utmz": {
"type": [
"string",
"null"
],
"description": "Classic GA cookie"
}
},
"additionalProperties": false
}
Kantar Focal Meter
Some Snowplow trackers integrate with Kantar Focal Meter, a router-based audience measurement system. The plugin sends user IDs to Focal Meter endpoints to enable content audience measurement.
This integration sends data to Kantar's endpoint, rather than attaching an entity to events.
This table shows the support for Kantar Focal Meter tracking across the main client-side Snowplow tracker SDKs:
| Tracker | Supported | Since version | Auto-tracking | Notes |
|---|---|---|---|---|
| Web | ✅ | 3.16.0 | ✅ | Requires Focal Meter plugin |
| iOS | ✅ | 5.6.0 | ❌ | |
| Android | ✅ | 5.6.0 | ❌ | |
| React Native | ❌ | |||
| Flutter | ❌ | |||
| Roku | ❌ | |||
| Google Tag Manager | ❌ |
Privacy Sandbox (deprecated)
Privacy Sandbox has been deprecated by Google. This plugin remains available but the underlying browser API may no longer be supported.
The Privacy Sandbox plugin captures data from the Topics API, which was designed to provide privacy-preserving interest-based advertising signals.
This table shows the support for Privacy Sandbox tracking across the main client-side Snowplow tracker SDKs.
| Tracker | Supported | Since version | Auto-tracking |
|---|---|---|---|
| Web | ✅ | 3.14.0 | ✅ |
| iOS | ❌ | ||
| Android | ❌ | ||
| React Native | ❌ | ||
| Flutter | ❌ | ||
| Roku | ❌ | ||
| Google Tag Manager | ❌ |
topics
EntityExample
{
"topics": [
{
"topic": 123,
"taxonomyVersion": "1",
"modelVersion": "2"
}
]
}
Properties and schema
- Table
- JSON schema
| Property | Description |
|---|---|
topicsarray | Optional. List of topics for the current user |
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for Privacy Sandbox Topics context",
"self": {
"vendor": "com.google.privacysandbox",
"name": "topics",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"topics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"topic": {
"type": "integer"
},
"taxonomyVersion": {
"type": "string"
},
"modelVersion": {
"type": "string"
}
}
},
"description": "List of topics for the current user"
}
},
"additionalProperties": false
}