Docs
Tracking codes
Tracking codes
A deploy that drops the Google Tag Manager snippet does not take the site down. Nobody notices until marketing finds a hole in the data a week later. From the Pro plan, every website target gets a tracking code check, and it does not use a monitor slot.
What we look for
Google Tag Manager, Google Analytics 4, Google Ads, Meta Pixel, TikTok Pixel, LinkedIn Insight Tag, Microsoft Advertising (UET), Pinterest Tag, Snap Pixel, X Pixel, Microsoft Clarity, Hotjar, Matomo, Plausible, Fathom, Umami, plus the consent banner (Cookiebot, CookieYes, OneTrust, Usercentrics, Complianz, Borlabs, iubenda and others) and whether Google Consent Mode is set up.
We read the page's HTML once a day, the same way the uptime check fetches it (same headers and password, see allowlisting). Most sites load GA4 and ad pixels through Google Tag Manager rather than straight from the HTML, so we also read the public GTM containers the page loads. The Tracking tab on the target shows every code, its ID and where we found it.
Note: This shows which codes are installed, not whether a visitor's browser fires them. Before a visitor accepts cookies, most codes should not fire at all. Checking that takes a real browser clicking through the consent banner, which we do not do.
Each code is matched by its snippet and ID, never by a word on the page: a product called "G-Shock" is not Google Analytics.
Where you see it
- Dashboard: the Tracking column shows the codes on each site in short (
GTM · GA4 · Meta +2). A missing code turns it red (Meta missing); an amber dot means the page still has a retired Universal Analytics code. - Tracking in the top menu: every site in one table, one column per code your sites use. Filter by Missing codes, No consent banner or Universal Analytics to find the sites that need work.
- Status pages: tick Tracking codes next to a monitor to show the logo and ID of every code found on the page. A missing code is not listed: a public page is not where your client should learn about a problem.
- Tracking tab on a site: every code with its ID and where we found it, the history of changes, and Accept current state.
When we alert
The first reading is the starting point. After that:
| What changes | What happens |
|---|---|
| A code that was on the page disappears | warning |
A code is replaced by another ID (GTM-ABC becomes GTM-XYZ) |
warning, naming both IDs |
| A new code appears | recorded in the history, no alert. If it stays, it becomes part of the starting point |
| The page or a GTM container cannot be loaded | nothing: we do not know, so we say nothing |
An alert needs two checks in a row that miss the same code. A/B tests and cached pages sometimes serve a different HTML once. When a check misses a code, the next one runs after 15 minutes instead of the next day. When the code is back, you get a recovery message.
A missing code is a warning: no SMS and no reminders. It does not count as downtime.
If you removed a code on purpose, open the Tracking tab and click Accept current state. The alert closes without a message and the current codes become the new starting point.
Expected codes
From the Agency plan you can list IDs that must be on a page, for example your agency's GTM container. We alert if one is missing, even if we have never seen it on that page. This is handy right after you take over a site.
On the same plan, every deploy tracked on the target (see deploy tracking) runs the tracking code check straight away instead of waiting for the daily one.
Universal Analytics
Google shut down Universal Analytics (UA-… IDs). If one is still on the page, the Tracking tab marks it Retired: the code is there but collects nothing.