// tracking quality monitoring
Know when your tracking breaks, before your reports do.
Tracking Sentinel continuously validates your website events against an explicit contract. It works from privacy-safe metadata, so you get diagnostics without building a second copy of your customer data.
Example data
// how it works
Four steps from “we think it works” to “we know it does.”
- 01
Discover & map your tracking contract
See which events and parameters your site really sends, and map them into one clear contract everyone agrees on.
One shared definition of “correct” - 02
Run an audit on the contract
Compare your live implementation with the contract and pinpoint missing events, changes and gaps.
From hunch to evidence - 03
Check event quality
Names, parameters, types and structure, checked after every release. Privacy-safe metadata only.
Quality you can see, every day - 04
Check GA4 results
Confirm the expected events and parameters land in GA4, so your reports rest on proof.
Report with confidence
// every event, one view
See exactly which event broke, and why.
Totals hide problems. Sentinel shows the status of every event in your contract side by side: what is valid, what is drifting and what has gone silent. A missing items[].price or a purchase that stopped firing after a release is right there, with the count and the reason.
And because it only stores the shape of your data, never the values, this view is safe to share with developers, agencies and clients.
page_view● valid12,480view_item● valid4,902add_to_cart● items[].price missing311begin_checkout● valid148purchase● not observed · 6h0generate_lead● valid37Stored: field names, types, counts, status. Not stored: IDs, amounts, product names, form contents.
// features
Built for analysts who are tired of finding out on Monday.
Event contracts
GA4-aligned default events are locked to the standard; custom events carry their own parameters. A misspelled page_location stays an error, not a new field.
Consent-gated monitoring
Nothing is sent before measurement consent. Withdraw consent and monitoring stops on the next page load.
Live and historical views
Live monitoring refreshes every 30 seconds; overall and per-client reporting covers any date range.
Per-client profiles
Keep contracts, allowlists and reporting separate for every site or client you manage.
Discovery of unknown events
Events that are not in the contract are captured as discoveries, so you can map or reject them deliberately.
Self-hostable
Runs as a small Docker Compose stack: FastAPI, PostgreSQL and a dashboard. Your infrastructure, your data.
For in-house teams
Catch a broken checkout event after a release, not after a month of missing revenue in GA4.
For agencies
Monitor every client's implementation from one place, with separate profiles and evidence to share.
// security & privacy
Designed to collect as little as possible.
- Shapes, not values. Order IDs, amounts, product names, form contents and arbitrary dataLayer values are never persisted.
- Consent first. The monitor only runs after measurement consent and respects withdrawal.
- Separated surfaces. The public collector accepts only allowlisted observations; the dashboard and API sit behind access control.
- Your infrastructure. Run it yourself, or in a dedicated pilot environment. Observations are never shared across customers.
// early access
Join the pilot.
We are onboarding a small number of teams running GA4 and Google Tag Manager. Pilot participants get hands-on setup of their first contract and direct input on the roadmap.
Or write to hello@trackingsentinel.com