Skip to main content

For AI agents: a Markdown version of this page is at https://docs.snowplow.io/docs/event-studio/tracking-plans.md. The index of all documentation pages is at https://docs.snowplow.io/llms.txt, and the index for this section is at https://docs.snowplow.io/docs/cdi/llms.txt.

Tracking plan and event specification elements

A tracking plan is a logical grouping of the data you collect as an organization by domain, with an explicit owner. See Introduction to tracking plans for how tracking plans support ownership and governance.

Each tracking plan contains event specifications that define the events you want to track. By grouping related event specifications in tracking plans, you organize your data collection by domain, with clear ownership and implementation instructions for each event specification. Event specifications act as data contracts between teams: they define what data your applications should send, what your data warehouse will receive, and what your downstream consumers can rely on.

Tracking plan elements​

A tracking plan has these elements:

ElementDescription
NameA descriptive name for the tracking plan. The name must be unique
DescriptionA description of the data that the tracking plan captures
OwnerThe individual responsible for the tracking plan
DomainThe team or business domain that owns the tracking plan
Source applicationsThe source applications the tracking plan is implemented in
Event specificationsThe events that the tracking plan describes. See Event specification elements

A tracking plan also shows event volume metrics for its event specifications, which help you monitor data collection over time. See Monitor tracking plan data quality in Console.

Snowplow Console showing the "E-commerce Web" tracking plan Overview tab, including the tracking plan name, description, source application (website), ownership details, and a table of event specifications with their data structures, entities, source applications, last seen dates, and event volume counts.

Event specification elements​

An event specification has these elements:

ElementDescription
NameA descriptive name for the event
DescriptionA description to help people understand what action the event is capturing
Source applicationsThe source applications inherited from the tracking plan. The event specification inherits their application IDs, which are sent with this event, and references their application entity data structures, which are expected with each event
TriggersInstructions on where and when the event gets triggered, for example when a user clicks the "Add to basket" button
Event data structureOne version of the event data structure that this event validates against as your pipeline processes it. It can be a standard data structure, provided by the Snowplow tracker by default, or a custom one, provided by your organization
Entity data structuresThe versions of the entity data structures to attach to this event, for example user or product, and how many of each entity to expect
PropertiesInstructions for how each property of the event and entity data structures should be populated, as exact values or as a description

Snowplow Console showing the "Add to cart" event specification detail page, including event description, source application (website), application IDs with status indicators, the snowplow_ecommerce_action 1-0-2 data structure with a required "type" property set to the exact value "add_to_cart", and entity data structures for product and cart.

Event specification statuses and versions​

Each event specification has one of three statuses: Draft, while you edit it and before it's active in the pipeline (development environments still match events against drafts); Publishing, a transitional state lasting a few minutes while the pipeline propagates it; and Published, once it's active in the pipeline. Event specifications also have versions, which the History tab of each specification lists, with the changes between any two versions. See Test, promote, and publish a tracking design and Evolve a tracking design.

To create a tracking plan, see Create a tracking plan or Tracking plan templates. To add event specifications to it, see Define an event specification.

Was this page helpful?