Event parameters
This page lists all the parameters that Snowplow trackers use when firing events to push data into the Snowplow collectors. Each parameter maps onto one or more fields in the Snowplow events table employed in storage.
This page is for you if you want to understand the tracker payload in more detail, and especially if you are building your own tracker. In the latter case, utilizing the parameters documented here will ensure that your tracker works with the rest of the Snowplow stack.
When the event is sent from a Snowplow tracker, all parameters should be stringified. Those strings are parsed back to their actual type during Enrichment.
Snowplow events
At its heart, Snowplow is a platform for granular tracking of events. In the tracker protocol, each event is denoted by an e=... parameter.
There are 3 categories of events:
- Standard events, such as page views, page pings and transactions
- Custom self-describing events based on a schema
- Legacy custom structured events, which we don’t recommend using
Historically, custom self-describing events were called “unstructured” and the legacy custom events were called “structured”. This terminology can be confusing, so we don’t use it anymore. However, you might find its remnants in some of the APIs.
| Type of tracking | Event type (value of e) |
|---|---|
| Self-describing event | ue |
| Pageview tracking | pv |
| Page pings | pp |
| Ecommerce transaction tracking | tr and ti |
| Custom structured event | se |
Additionally, entities can be attached to events which gives additional context to the event.
Self-describing events
Structuring your data with schemas to perform self-describing event tracking is the defacto way to track events with Snowplow and allows any arbitrary name: value pairs to be captured with the event.
To learn about self-describing events and how they are serialized in the tracker payload, visit this page.
Other Events
There are a number of core Snowplow events which do not follow the self-describing event format.
Page Views
Pageview tracking is used to record views of web pages.
Currently, recording a pageview involves recording an event where e=pv. All the fields associated with web events can be tracked. There are no other pageview specific fields.
Page Pings
Page pings are used to record users engaging with content on a web page after it has originally loaded. For example, it can be used to track how far down an article a user scrolls.
If enabled, the activity tracking function checks for engagement with a page after load. (E.g. mousemovement, scrolling etc...).
Page pings are identified by e=pp. As well as all the standard web fields, there are four additional fields that pp includes, which are used to identify how users are scrolling over web pages:
| Parameter | Table Column | Type | Description | Example values |
|---|---|---|---|---|
pp_mix | pp_xoffset_min | integer | Minimum page x offset seen in the last ping period | 0 |
pp_max | pp_xoffset_max | integer | Maximum page x offset seen in the last ping period | 100 |
pp_miy | pp_yoffset_min | integer | Minimum page y offset seen in the last ping period | 0 |
pp_may | pp_yoffset_max | integer | Maximum page y offset seen in the last ping period | 100 |