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
View JSON Schema on GitHub

JSON Schema

snowplow-event-schema.json Raw ↑
{
  "$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.
All 92 tools

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 email required.

A second provider on the same verified email joins the account you already have.