Snowplow · Schema
Snowplow Event
Schema for Snowplow behavioral event data collected via trackers and enriched by the Snowplow pipeline. Represents an enriched event with all standard fields.
Analytics PlatformBehavioral DataData CollectionData EngineeringData PipelineEvent TrackingOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| event_id | string | Unique ID for the event |
| event | string | The type of event |
| app_id | string | Application ID that triggered the event |
| platform | string | Platform the event was triggered on |
| collector_tstamp | string | Timestamp when the event was received by the Snowplow Collector |
| dvce_created_tstamp | string | Timestamp when the event was created on the device |
| dvce_sent_tstamp | string | Timestamp when the event was sent by the tracker |
| derived_tstamp | string | Calculated timestamp accounting for clock skew between device and collector |
| user_id | stringnull | Unique ID set by the application's business logic |
| domain_userid | stringnull | First-party cookie-based user identifier (UUID) |
| network_userid | stringnull | Third-party cookie or fingerprint-based user identifier |
| session_id | stringnull | Client-side session identifier |
| session_index | integernull | Session sequence number for the user |
| page_url | stringnull | URL of the page where the event occurred |
| page_title | stringnull | Title of the page where the event occurred |
| page_referrer | stringnull | Referrer URL |
| useragent | stringnull | Raw user agent string |
| br_name | stringnull | Browser name |
| os_name | stringnull | Operating system name |
| geo_country | stringnull | ISO 3166-1 alpha-2 country code from IP geolocation |
| geo_city | stringnull | City from IP geolocation |
| ip_address | stringnull | IP address of the event sender |
| se_category | stringnull | Structured event category |
| se_action | stringnull | Structured event action |
| se_label | stringnull | Structured event label |
| se_property | stringnull | Structured event property |
| se_value | numbernull | Structured event value |
| unstruct_event | objectnull | Self-describing event payload with schema reference and data |
| contexts | objectnull | Array of self-describing context entities attached to the event |
| enrichments | objectnull | Enrichment data added during pipeline processing |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://docs.snowplow.io/schemas/snowplow/event.json",
"title": "Snowplow Event",
"description": "Schema for Snowplow behavioral event data collected via trackers and enriched by the Snowplow pipeline. Represents an enriched event with all standard fields.",
"type": "object",
"properties": {
"event_id": {
"type": "string",
"format": "uuid",
"description": "Unique ID for the event"
},
"event": {
"type": "string",
"enum": ["page_view", "page_ping", "struct", "unstruct", "transaction", "transaction_item", "ad_impression"],
"description": "The type of event"
},
"app_id": {
"type": "string",
"description": "Application ID that triggered the event"
},
"platform": {
"type": "string",
"enum": ["web", "mob", "pc", "srv", "app", "tv", "cnsl", "iot"],
"description": "Platform the event was triggered on"
},
"collector_tstamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event was received by the Snowplow Collector"
},
"dvce_created_tstamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event was created on the device"
},
"dvce_sent_tstamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event was sent by the tracker"
},
"derived_tstamp": {
"type": "string",
"format": "date-time",
"description": "Calculated timestamp accounting for clock skew between device and collector"
},
"user_id": {
"type": ["string", "null"],
"description": "Unique ID set by the application's business logic"
},
"domain_userid": {
"type": ["string", "null"],
"description": "First-party cookie-based user identifier (UUID)"
},
"network_userid": {
"type": ["string", "null"],
"description": "Third-party cookie or fingerprint-based user identifier"
},
"session_id": {
"type": ["string", "null"],
"format": "uuid",
"description": "Client-side session identifier"
},
"session_index": {
"type": ["integer", "null"],
"description": "Session sequence number for the user"
},
"page_url": {
"type": ["string", "null"],
"description": "URL of the page where the event occurred"
},
"page_title": {
"type": ["string", "null"],
"description": "Title of the page where the event occurred"
},
"page_referrer": {
"type": ["string", "null"],
"description": "Referrer URL"
},
"useragent": {
"type": ["string", "null"],
"description": "Raw user agent string"
},
"br_name": {
"type": ["string", "null"],
"description": "Browser name"
},
"os_name": {
"type": ["string", "null"],
"description": "Operating system name"
},
"geo_country": {
"type": ["string", "null"],
"description": "ISO 3166-1 alpha-2 country code from IP geolocation"
},
"geo_city": {
"type": ["string", "null"],
"description": "City from IP geolocation"
},
"ip_address": {
"type": ["string", "null"],
"description": "IP address of the event sender"
},
"se_category": {
"type": ["string", "null"],
"description": "Structured event category"
},
"se_action": {
"type": ["string", "null"],
"description": "Structured event action"
},
"se_label": {
"type": ["string", "null"],
"description": "Structured event label"
},
"se_property": {
"type": ["string", "null"],
"description": "Structured event property"
},
"se_value": {
"type": ["number", "null"],
"description": "Structured event value"
},
"unstruct_event": {
"type": ["object", "null"],
"description": "Self-describing event payload with schema reference and data"
},
"contexts": {
"type": ["object", "null"],
"description": "Array of self-describing context entities attached to the event"
},
"enrichments": {
"type": ["object", "null"],
"description": "Enrichment data added during pipeline processing"
}
},
"required": ["event_id", "event", "app_id", "platform", "collector_tstamp"]
}