diff --git a/docs/event-studio/event-catalog/images/event-catalog-overview.png b/docs/event-studio/event-catalog/images/event-catalog-overview.png index 66183932b..e79aa8794 100644 Binary files a/docs/event-studio/event-catalog/images/event-catalog-overview.png and b/docs/event-studio/event-catalog/images/event-catalog-overview.png differ diff --git a/docs/event-studio/event-catalog/index.md b/docs/event-studio/event-catalog/index.md index 9bdbb9895..49a606f02 100644 --- a/docs/event-studio/event-catalog/index.md +++ b/docs/event-studio/event-catalog/index.md @@ -20,19 +20,19 @@ When your organization has multiple tracking plans across different teams and do Navigate to **Event Catalog** in the main navigation. -![Event Catalog page listing six event specifications across multiple tracking plans, showing their entities, event volume, last seen date, and status (Draft or Published), with a "Create event specification" button in the top right](images/event-catalog-overview.png) +![Event Catalog page listing published event specifications from the E-commerce Web tracking plan, showing their entities, tracking plan, event volume with a colored bar, last seen date, and status, with a pipeline selector and a "Create event specification" button in the top right](images/event-catalog-overview.png) ## Browse event specifications -The Event Catalog provides a comprehensive list of all event specifications defined across your tracking plans. Each row displays: +The Event Catalog provides a comprehensive list of all event specifications defined across your tracking plans. The volume and last seen columns show data for the selected pipeline. See [Monitor tracking plan data quality in Console](/docs/event-studio/tracking-plans/data-quality/index.md) for what the volume categories mean. Each row displays: | Column | Description | | ------------------------ | -------------------------------------------------------------------------- | | Event specification name | The name and schema identifier of the event specification | | Entities | The [entities](/docs/fundamentals/entities/index.md) attached to the event | | Tracking plan | The tracking plan containing the event specification | -| Volume | The number of events collected | -| Last seen | When the event was last received | +| Volume | The number of events collected in the last 30 days on the selected pipeline, split by category | +| Last seen | When the event was last received on the selected pipeline | | Status | The status of the event specification | ### Filter and search @@ -42,6 +42,7 @@ You can filter and search the list to find specific event specifications. Use th - **Search**: enter text to filter by event specification name - **Status filter**: show all specifications or filter by Draft or Published status - **Entity filter**: filter specifications by attached entities +- **Pipeline selector**: choose the pipeline used for the **Volume** and **Last seen** columns, by default your production pipeline ## Create event specifications diff --git a/docs/event-studio/tracking-plans/create-and-manage/images/create-tracking-plan-v2.png b/docs/event-studio/tracking-plans/create-and-manage/images/create-tracking-plan-v2.png index 27a460898..b5bda0cf7 100644 Binary files a/docs/event-studio/tracking-plans/create-and-manage/images/create-tracking-plan-v2.png and b/docs/event-studio/tracking-plans/create-and-manage/images/create-tracking-plan-v2.png differ diff --git a/docs/event-studio/tracking-plans/create-and-manage/images/tracking-plan-overview.png b/docs/event-studio/tracking-plans/create-and-manage/images/tracking-plan-overview.png index 386e24203..5679c9e28 100644 Binary files a/docs/event-studio/tracking-plans/create-and-manage/images/tracking-plan-overview.png and b/docs/event-studio/tracking-plans/create-and-manage/images/tracking-plan-overview.png differ diff --git a/docs/event-studio/tracking-plans/create-and-manage/index.md b/docs/event-studio/tracking-plans/create-and-manage/index.md index c45019b90..8dae4186f 100644 --- a/docs/event-studio/tracking-plans/create-and-manage/index.md +++ b/docs/event-studio/tracking-plans/create-and-manage/index.md @@ -9,7 +9,7 @@ keywords: ["tracking plan UI", "Console UI", "event specifications UI", "source To create a new tracking plan, navigate to the "Tracking plans" section from the navigation bar and click the "Create tracking plan" button. -![Tracking plans list page showing six tracking plans with their domain, status, event volume, event spec count, and last modified date, with a "+ Create tracking plan" button in the top right](images/create-tracking-plan-v2.png) +![Console with the Data collection section of the sidebar expanded and Tracking plans selected, showing five tracking plans with their domain, status, event spec count, event volume with a colored bar, and last modified date, with a "+ Create tracking plan" button in the top right](images/create-tracking-plan-v2.png) A modal will appear on the page, giving you the possibility to quickly create a tracking plan by using one of the existing templates or create one from scratch. @@ -33,17 +33,18 @@ When clicking on an event specification row, a page will allow you to enter addi The breadcrumb navigation allows you to quickly navigate to the tracking plan overview as well as to the list of tracking plans. Alternatively, you can access the list of available tracking plans by clicking `Tracking plans` prominently displayed in the navigation bar on the left. -In the image below, you can see an example of a tracking plan. It not only provides an overview of all the event specifications but also allows you to access three important pieces of functionality. +In the image below, you can see an example of a tracking plan. It provides an overview of all the event specifications and of the [data quality](/docs/event-studio/tracking-plans/data-quality/index.md) of the plan over the last 30 days, and gives access to the following functionality: - **Share**; allow other members of your organization to access the tracking plan - **Subscribe**; receive notifications of any changes in the tracking plan +- **Data quality rules**; choose whether events that fail [validation](/docs/event-studio/tracking-plans/event-specification-validation/index.md#send-invalid-events-to-failed-events) are loaded to your warehouse marked as violations, or sent to failed events - **Implement tracking**; automatically generate the code for your tracking plan to be included in your application (to learn more visit [Code Generation - automatically generate code for Snowplow tracking SDKs](/docs/event-studio/implement-tracking/index.md)) :::note Sharing and subscribing is only available for users registered in Snowplow Console. ::: -![E-commerce Web tracking plan overview showing general information, E-commerce domain ownership, and an event specifications table with four draft events (Add to cart, Checkout step, Internal promotion click, Internal promotion view) all using the snowplow_ecommerce_action 1-0-2 data structure](images/tracking-plan-overview.png) +![E-commerce Web tracking plan overview showing general information with owner and domain, a Data quality panel with a donut chart of valid events, inferred events, events with violations, and failed events, and an event specifications table with published events such as Add to cart and Checkout Step using the snowplow_ecommerce_action 1-0-2 data structure](images/tracking-plan-overview.png) ![Add to cart event specification page showing event description, four tracked application IDs, the snowplow_ecommerce_action 1-0-2 data structure with a "type" property set to "add_to_cart", and product and cart entity data structures](images/event-specification-details.png) diff --git a/docs/event-studio/tracking-plans/data-quality/images/event-catalog-volume.png b/docs/event-studio/tracking-plans/data-quality/images/event-catalog-volume.png new file mode 100644 index 000000000..e79aa8794 Binary files /dev/null and b/docs/event-studio/tracking-plans/data-quality/images/event-catalog-volume.png differ diff --git a/docs/event-studio/tracking-plans/data-quality/images/event-specification-tracking-summary.png b/docs/event-studio/tracking-plans/data-quality/images/event-specification-tracking-summary.png new file mode 100644 index 000000000..e31ead72f Binary files /dev/null and b/docs/event-studio/tracking-plans/data-quality/images/event-specification-tracking-summary.png differ diff --git a/docs/event-studio/tracking-plans/data-quality/images/tracking-plan-data-quality.png b/docs/event-studio/tracking-plans/data-quality/images/tracking-plan-data-quality.png new file mode 100644 index 000000000..5679c9e28 Binary files /dev/null and b/docs/event-studio/tracking-plans/data-quality/images/tracking-plan-data-quality.png differ diff --git a/docs/event-studio/tracking-plans/data-quality/images/tracking-plans-list.png b/docs/event-studio/tracking-plans/data-quality/images/tracking-plans-list.png new file mode 100644 index 000000000..855fdd885 Binary files /dev/null and b/docs/event-studio/tracking-plans/data-quality/images/tracking-plans-list.png differ diff --git a/docs/event-studio/tracking-plans/data-quality/index.md b/docs/event-studio/tracking-plans/data-quality/index.md new file mode 100644 index 000000000..f121ef370 --- /dev/null +++ b/docs/event-studio/tracking-plans/data-quality/index.md @@ -0,0 +1,63 @@ +--- +title: "Monitor tracking plan data quality in Console" +sidebar_label: "Data quality" +sidebar_position: 4 +description: "See how many events matched each tracking plan and event specification over the last 30 days, and how many of them were valid or inferred, had violations, or failed." +keywords: ["tracking plan data quality", "event specification validation", "event volume", "events with violations", "failed events", "tracking summary", "Console"] +date: "2026-09-17" +--- + +Console shows the results of [event specification inference](/docs/event-studio/tracking-plans/event-specification-inference/index.md) and [event specification validation](/docs/event-studio/tracking-plans/event-specification-validation/index.md) next to your tracking plans and event specifications. Every event volume figure is split into valid events, inferred events, events with violations, and failed events. You can see how well an implementation matches its specification without querying your warehouse. + +Metrics cover the last 30 days for one pipeline at a time. Every view that shows them has a pipeline selector, which defaults to your production pipeline. + +## Understand the event categories + +Console sorts every event that the pipeline matches to a published event specification into one of four categories: + +| Category | Meaning | +| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Valid events | Events that arrived with an `event_specification` entity and passed validation | +| Inferred events | Events that the pipeline matched to the specification by inference. Inferred events are valid events too, but the pipeline doesn't validate them | +| Events with violations | Events that arrived with an `event_specification` entity, failed validation, and were loaded to your warehouse with an `event_specification_validation` entity attached | +| Failed events | Events attributed to the specification that ended up in [failed events](/docs/fundamentals/failed-events/index.md). This includes events with schema violations, and events that failed validation in a tracking plan that [sends them to failed events](/docs/event-studio/tracking-plans/event-specification-validation/index.md#send-invalid-events-to-failed-events) | + +Only events that arrive with an `event_specification` entity go through validation, so only they can end up as valid events or events with violations. Tracking code generated with [Snowtype](/docs/event-studio/implement-tracking/index.md) attaches this entity for you. Events without it can only be matched by inference. + +The total volume is the sum of the four categories. Where Console shows a bar next to a volume, each segment is one category. Hover over the bar to see the count for each category. + +Failed event counts come from your [data quality dashboard](/docs/monitoring/index.md), not from the Console API. They are available when the selected pipeline loads failed events into your warehouse, the data quality dashboard is connected to that pipeline, and you have permission to view it. Otherwise the failed events category shows N/A, volumes exclude failed events, and a warning icon next to the volume explains why. + +## View data quality for a tracking plan + +Open a tracking plan to see its **Data quality** panel. The chart shows the total number of events across all event specifications in the plan, split by category, with the share and count of each. Click **View details** to open the data quality dashboard for the selected pipeline, or the failed events page when the dashboard isn't connected. + +![E-commerce Web tracking plan page with a Data quality panel showing a donut chart of 139.78k total events on the prod pipeline over the last 30 days, split into valid events, inferred events, events with violations, and failed events, above an event specifications table with a volume bar per specification](images/tracking-plan-data-quality.png) + +The event specifications table shows the same breakdown per event specification in its **Volume** column. The **Last seen** column shows the most recent event for the specification, whether it was valid or failed. + +The **Data quality rules** button in the page header controls whether events that fail validation count as events with violations or as failed events. See [Send invalid events to failed events](/docs/event-studio/tracking-plans/event-specification-validation/index.md#send-invalid-events-to-failed-events). + +## Compare tracking plans and event specifications + +The **Tracking plans** list shows the volume breakdown for every tracking plan in its **Event volume** column. The [Event Catalog](/docs/event-studio/event-catalog/index.md) shows it for every event specification across all tracking plans in its **Volume** column. Both views have a pipeline selector next to the filters. + +![Tracking plans list with a pipeline selector set to prod and an Event volume column showing a count and a colored bar for each tracking plan](images/tracking-plans-list.png) + +![Event Catalog filtered to published event specifications and sorted by tracking plan, with a pipeline selector and a Volume column showing a count and a colored bar for each event specification](images/event-catalog-volume.png) + +## Track specification versions and application IDs + +Each event specification has a **Tracking summary** tab that breaks the metrics down by specification version and application ID. Use it to check that a new version has reached all applications, or that an application still sends an old version. + +![Tracking summary tab of the Add to cart event specification listing versions 1 and 2, the app IDs that sent each version with green, yellow, and gray status badges, the last seen date, and a volume bar](images/event-specification-tracking-summary.png) + +Each row is one version of the specification that the pipeline saw events for in the last 30 days. The **App ID** column lists the application IDs that sent those events, with a status for each: + +| Status | Meaning | +| -------------- | --------------------------------------------------------------------------------------------------------------- | +| Green check | The app ID belongs to a source application of this version and sent events | +| Yellow warning | The app ID sent events, but doesn't belong to any source application of this version | +| Gray minus | The app ID belongs to a source application of this version, but didn't send events in the last 30 days | + +A yellow status usually means that an application tracks the event without being listed in the specification. Add its [source application](/docs/event-studio/source-applications/index.md) to the specification, or remove the tracking from that application. diff --git a/docs/event-studio/tracking-plans/event-specification-inference/index.md b/docs/event-studio/tracking-plans/event-specification-inference/index.md index 51b724113..e85862b78 100644 --- a/docs/event-studio/tracking-plans/event-specification-inference/index.md +++ b/docs/event-studio/tracking-plans/event-specification-inference/index.md @@ -15,7 +15,7 @@ Each event specification uses an explicit publishing model, replacing the previo - **Draft**: the specification is being edited and is not yet active in the pipeline, so no inference occurs there. [Development environments](/docs/testing/snowplow-micro/console/index.md#validate-event-specifications) do match events against drafts, so you can test a specification before publishing it. - **Publishing**: a transitional state, lasting a few minutes, while the pipeline propagates the specification. You do not need to take any action during this phase. -- **Published**: the specification is active. The pipeline matches incoming events against it, attaches an `event_specification` entity to it, and surfaces volume data and "last seen" timestamps in the Console. +- **Published**: the specification is active. The pipeline matches incoming events against it, attaches an `event_specification` entity to it, and surfaces [volume data and "last seen" timestamps](/docs/event-studio/tracking-plans/data-quality/index.md) in Console. The tracking plan list view reflects the status of the specifications it contains. A tracking plan shows **Published** if all of its specifications are published, and **With Drafts** if any specification remains in draft. diff --git a/docs/event-studio/tracking-plans/event-specification-validation/index.md b/docs/event-studio/tracking-plans/event-specification-validation/index.md index 3abdca5aa..be228ab37 100644 --- a/docs/event-studio/tracking-plans/event-specification-validation/index.md +++ b/docs/event-studio/tracking-plans/event-specification-validation/index.md @@ -26,6 +26,8 @@ In your warehouse, three cases are possible: These cases assume the default **Data quality rules** setting. If the tracking plan [sends invalid events to failed events](#send-invalid-events-to-failed-events), events that fail validation don't reach your warehouse `events` table. +Console shows how many events fall into each of these cases for every tracking plan and event specification, without a warehouse query. See [Monitor tracking plan data quality in Console](/docs/event-studio/tracking-plans/data-quality/index.md). + ## Validation entity The pipeline attaches an `event_specification_validation` entity to events that fail validation. It also attaches one when it cannot find the declared specification, either because it was never published or because its instructions are not valid, which stops the pipeline from loading it. @@ -114,6 +116,6 @@ The default is **Send to valid events and mark as violation**, which keeps those The setting applies to all event specifications in the tracking plan and all their versions. Changes take effect within a few minutes, with no new specification version to publish and no tracking code to redeploy. -These events appear in failed events as enrichment failures from the event specification enrichment. They keep both the `event_specification` and `event_specification_validation` entities, so you can inspect why each event failed. +These events appear in failed events as enrichment failures from the event specification enrichment. They keep both the `event_specification` and `event_specification_validation` entities, so you can inspect why each event failed. In Console, they count as [failed events](/docs/event-studio/tracking-plans/data-quality/index.md#understand-the-event-categories) rather than events with violations. If the pipeline cannot find the specification an event declares, that event stays with your enriched events, even when the tracking plan sends invalid events to failed events. diff --git a/docs/event-studio/tracking-plans/event-specifications/index.md b/docs/event-studio/tracking-plans/event-specifications/index.md index 915ba8b0a..7027aa1c7 100644 --- a/docs/event-studio/tracking-plans/event-specifications/index.md +++ b/docs/event-studio/tracking-plans/event-specifications/index.md @@ -35,7 +35,13 @@ To add more information or modify an existing event specification, follow these 2. Select the desired event specification 3. This action will open an overview of the selected event specification containing the details that have been added to date -This interface is divided into focused sections; explore each section below for more details. +The event specification page has three tabs: + +- **Details**: the sections described below +- **Tracking summary**: event volumes per specification version and application ID, see [Monitor tracking plan data quality in Console](/docs/event-studio/tracking-plans/data-quality/index.md#track-specification-versions-and-application-ids) +- **History**: the list of versions of the specification, with the changes between any two versions + +The **Details** tab is divided into focused sections; explore each section below for more details. ![Product Added to Cart event specification showing event description, source application, the cart_action 1-0-0 data structure with a type property required to be "add", user and product entity data structures, and an Add to Cart button trigger](images/event-specification-overview.png) diff --git a/docs/event-studio/tracking-plans/index.md b/docs/event-studio/tracking-plans/index.md index 64209ced6..f70c360ee 100644 --- a/docs/event-studio/tracking-plans/index.md +++ b/docs/event-studio/tracking-plans/index.md @@ -24,7 +24,7 @@ Event specifications bridge the gap between tracking design and data collection: - **Design phase**: you document your tracking requirements by creating event specifications that capture both technical structure and business context - **Implementation phase**: developers use these specifications to instrument tracking code, either manually or through code generation within the Snowplow Console or using tools like Snowtype. Snowtype generated code ensures type-safety and alignment with specifications, reducing implementation errors and accelerating development time -- **Observability phase**: monitor event specification usage directly in the Console. See the total number of events collected for each specification and when each was last seen. This visibility helps you confirm implementations are live, identify unused specifications, and understand event volume patterns across your tracking plan +- **Observability phase**: monitor event specification usage directly in Console. See the total number of events collected for each specification, when each was last seen, and how many of those events were valid or inferred, had violations, or failed. This helps you confirm implementations are live, identify unused specifications, and find implementation problems. See [Monitor tracking plan data quality in Console](/docs/event-studio/tracking-plans/data-quality/index.md) - **Data modeling phase**: event specifications enable automatically generated dbt models that transform atomic events into analysis-ready tables. These models understand the structure defined in your specifications, creating consistent table schemas and joining related [entities](/docs/fundamentals/entities/index.md). As you update specifications, corresponding data models can be regenerated, keeping your warehouse transformations synchronized with your tracking design ## Elements of a Tracking Plan diff --git a/docs/event-studio/tracking-plans/templates/index.md b/docs/event-studio/tracking-plans/templates/index.md index a0a7e764f..b2fbaf7bd 100644 --- a/docs/event-studio/tracking-plans/templates/index.md +++ b/docs/event-studio/tracking-plans/templates/index.md @@ -2,7 +2,7 @@ title: "Tracking plan templates" sidebar_label: "Templates" date: "2024-06-17" -sidebar_position: 4 +sidebar_position: 5 description: "Pre-defined tracking plan templates for Base Web, Base Mobile, Ecommerce, and Media tracking with included event specifications and implementation guidance." keywords: ["tracking plan templates", "Base Web template", "Base Mobile template", "ecommerce template", "media tracking template"] --- diff --git a/release-notes/event-specification-validation-results-in-console/images/data-quality-panel.png b/release-notes/event-specification-validation-results-in-console/images/data-quality-panel.png new file mode 100644 index 000000000..7b9044965 Binary files /dev/null and b/release-notes/event-specification-validation-results-in-console/images/data-quality-panel.png differ diff --git a/release-notes/event-specification-validation-results-in-console/index.md b/release-notes/event-specification-validation-results-in-console/index.md new file mode 100644 index 000000000..e1e21ca59 --- /dev/null +++ b/release-notes/event-specification-validation-results-in-console/index.md @@ -0,0 +1,30 @@ +--- +title: "Event specification validation results in Console" +description: "Console now shows how many events matched each tracking plan and event specification over the last 30 days, split into valid events, inferred events, events with violations, and failed events, with a per-version breakdown for each event specification." +sidebar_label: "Validation results in Console" +keywords: ["event specification validation", "tracking plans", "data quality", "Event Studio", "Console"] +date: "2026-09-22" +category: + - "Product news" +components: + - "Event Studio" + - "Console" +--- +Event specification validation results are now visible in Console. Until now, you had to look for them in your warehouse. Console shows how many events matched each tracking plan and event specification, and how many of them passed or failed validation, next to the tracking plans and event specifications themselves. + +## Validation results in Console + +Every event volume figure in Event Studio is split into four categories: valid events, inferred events, events with violations, and failed events. Metrics cover the last 30 days, and you can switch between pipelines. + +Data quality panel of a tracking plan showing a donut chart of 139.78k total events over the last 30 days on the prod pipeline, split into valid events, inferred events, events with violations, and failed events, with a View details button + +* **Tracking plan page**: a new **Data quality** panel shows the breakdown for the whole plan, with a link to the data quality dashboard +* **Tracking plans list and Event Catalog**: the volume column shows the breakdown for each tracking plan and event specification +* **Tracking summary tab**: each event specification has a new tab with metrics per specification version and application ID. You can see which applications send which version, and whether an application sends the event without being listed in the specification + +Failed event counts require the data quality dashboard to be connected to the selected pipeline. Whether an event that fails validation counts as a violation or as a failed event depends on the tracking plan's [data quality rules](/docs/event-studio/tracking-plans/event-specification-validation/#send-invalid-events-to-failed-events). + +## Documentation + +* [Monitor tracking plan data quality in Console](/docs/event-studio/tracking-plans/data-quality/) +* [Event specification validation](/docs/event-studio/tracking-plans/event-specification-validation/)