The short answer
Tracking rarely breaks loudly. A plugin renames an event, a developer moves a button, a value comes through empty, and every report still looks plausible. Preview mode only proves a tag fired on your machine, once. What you need is a check on real traffic: is each important event still arriving, at its usual rate, with the fields it should have?
The pattern
I've rebuilt more than 250 Tag Manager containers. The single most common thing I find isn't a bad setup. It's a good setup that stopped working months ago, and nobody knew.
It goes like this. Tracking is set up carefully. Someone tests it in preview. Everything is green. Then, weeks later, something unrelated changes: a theme update, a checkout redesign, a new plugin, a developer tidying up the data layer. One event stops arriving, or starts arriving with an empty value. The reports keep filling up with numbers, so nothing looks wrong.
A developer on Hacker News described exactly this: they broke their Facebook pixel during a site change, there was "no alert, nothing in the logs", and they found out when the media buyer asked why ad conversions dropped. A week of wasted spend.
Someone else in a Tag Manager forum said it better than I can: once the setup is right, "the bigger risk becomes something changing later without anyone noticing."
Why preview mode doesn't catch it
Tag Manager's preview is a great debugging tool, and a poor monitor. It tells you that on your browser, on this page, just now, a tag's trigger matched and the tag ran.
It doesn't tell you:
- Whether the request reached anywhere. "Tag fired" means the tag's code ran. Whether Google Analytics received and accepted the hit is a separate question. As one analyst put it: GTM firing doesn't mean GA4 receives it.
- Whether it still works tomorrow. Preview is a moment. Breakage happens between moments.
- Whether it works for real visitors. Consent state, browsers, ad blockers, regions and logged-in states all differ from your test.
- Whether the values are right. A purchase with a missing value still "fires". It just counts as $0.
The failures I see most
| Failure | What it looks like in reports |
|---|---|
| An event renamed by a plugin or developer | The old event goes to zero; nobody is looking at the old event |
| A value or currency field arriving empty | Conversions counted, revenue flat or $0, ROAS falls off a cliff |
| A trigger that no longer matches (button text or CSS class changed) | A slow decline that looks like a demand problem |
| Test or duplicate tags left live | Conversions inflated, then everyone optimises against wrong numbers |
| A consent change that silently blocks a tag | Fewer conversions in one region only |
| A pixel pasted into the theme, removed in a redesign | The platform stops getting purchases; the ads algorithm starves |
The worst ones blend in. A 20% drop in one event on one page type can look like a bad week for a month.
What to actually watch
You don't need to watch everything. You need to watch the few events that money depends on, and have something tell you when they change.
- Pick your key events. Usually purchase, lead, sign-up, and one or two steps before them.
- Watch arrival, not firing. Measure what leaves the browser to Google, Meta and the rest, from real visitors.
- Know each event's normal rhythm. A page view every minute is normal. A purchase every hour might be. "Quiet" means different things for different events.
- Check the shape, not just the count. Does
purchasestill carryvalue,currencyanditems? You don't need the values themselves, just whether they're there and the right type. - Alert once, clearly. One message when something breaks, one when it recovers. A daily digest nobody reads is not an alert.
A cheap way to start today
Even without any tool, you can do a weekly five-minute check:
- In GA4, open the events report and compare each key event's count with the same weekday last week.
- In Google Ads, check that conversions recorded roughly track real orders or leads.
- Open your site in a private window, complete a test purchase or form, and watch the network panel for the requests you expect.
It's crude, but it beats finding out from a media buyer. Regulators notice this too: California fined Todd Snyder partly because its privacy tool was misconfigured for 40 days and nobody was checking.
Why we built monitoring into TagSentry
This is the part of tagging nobody ships, and the part that costs the most money. TagSentry watches every event and the tags it fired from real traffic, records the shape of what each one sent (never the values), and emails you once when an event stops arriving, and once when it recovers. On Pro it also tells you when a key event arrives with empty fields or drops below its usual volume.
Shaun Brown, founder
Sources
- r/GoogleTagManager: one event quietly stopped firing
- r/GoogleTagManager: the bigger risk is something changing later
- r/GoogleAnalytics: GTM firing doesn't mean GA4 receives it
- Hacker News: I broke our Facebook pixel and nobody noticed for a week
- r/PPC: conversions dropped to 0
- CPPA: Todd Snyder enforcement announcement