Know whether your tags actually fire.
Reading a page's HTML tells you nothing. Anything deployed through GTM is injected at runtime and never appears in the source. This runs inside the page instead, so it sees the real network log: which containers loaded, which IDs are configured, and whether a single hit was ever sent.
Install
Drag this to your bookmarks bar, then click it on any page you want to check.
Prefer the console? Same loader:
var d=document,s=d.createElement('script');s.src='https://misfire.konvert7.com/check.js?t='+Date.now();d.body.appendChild(s);When the site has a strict CSP
Both of the above fetch check.js, and a strict script-src blocks that fetch. Running the loader from the console does not get around it. The <script src> it appends is still the page loading a script. Paste the whole checker instead; it requests nothing.
(()=>{function G(e){return typeof e==="objec… // the whole checker, 12.2 KB, no networkWhat it checks
- ·Container ID from the gtm.js request
- ·Loaded but never initialised
- ·More than one container
- ·Measurement ID from the tag and the beacon
- ·One property measured twice, doubling sessions
- ·Tag present but no hit ever sent
- ·Project ID from the tag request
- ·Loaded but window.clarity never booted
- ·Recording but uploading nothing
Also detected, but only listed when actually on the page: Plausible, PostHog, Vercel Analytics, Meta Pixel, Hotjar. And the consent platform (OneTrust, Cookiebot, Osano, CookieYes or a bare TCF framework), so a tag that loaded but sent nothing names what is holding it instead of shrugging at you.
See it catch something
The demo page installs GA4 twice over and denies analytics consent. Run the bookmarklet there and it should report both. If it does not, the checker is broken, not your site.