The technical details.

We identify Google Tag Manager containers on the page (format GTM-XXXXXXX), validate container IDs against what you expect, and specifically check for conflicts between GTM-managed tags and standalone gtag implementations that may have been left behind.

Why your business cares.

GTM is meant to be the single place where all your tags live. But it's extremely common to find a GTM container managing your tags AND a hard-coded gtag.js in the header from before GTM was set up. The two fight each other, fire duplicate events, and create data that nobody can trust.

What you're missing.

  • Tags fire from both GTM and standalone code — doubling page views, events, and conversions silently.
  • Old GTM containers from previous agencies often still live in your code, sending data to accounts you no longer have access to.
  • When a tag misbehaves, you don't know whether to fix it in GTM or in the code — debugging takes 3x longer.

What this looks like in different businesses.

A brand switches agencies. New agency adds GTM. Old agency's hard-coded gtag.js is still there. Both fire. Reported conversions are 2x reality. The new agency gets blamed for over-promising results when really their measurement is just doubled.

A large company has three GTM containers from three different acquisitions, all still firing on the unified corporate site. The marketing analytics team spends weeks trying to reconcile reports and never can — because three different teams are sending overlapping data.

A retailer migrates from Magento to Shopify. The Shopify app installs GTM automatically. The legacy hard-coded GA tag from Magento is copied over with the theme. Every product page sends data twice — and the retailer assumes Shopify is just 'better' than Magento because the numbers look great.

Curious about your site?

Find out if this is happening on your site.

A free audit runs all 12 detectors — including GTM Detection — on every page of your site.

Request a Free Audit