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"]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/snowplow-event"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.