Google Tag Manager is powerful — and the most common source of duplicate-tag bugs.
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.
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.
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.