What Google Tag Manager is, why one GTM container can hide dozens of tags, and how the audit detects containers and their IDs.
Google Tag Manager is a tag management container: a single JavaScript snippet installed on a site that loads and runs other tags — GA4, Google Ads conversions, Meta Pixel, custom scripts — based on rules configured in the GTM web interface. Marketers can deploy and change tracking without editing site code, which is why GTM is on a huge share of commercial sites.
Each GTM account workspace has a container ID of the form GTM-XXXXXX (e.g. GTM-W2SMVTRF), embedded in the snippet. The audit extracts every container ID it finds. Multiple containers on one page (common after migrations or on sites stitched together from templates) are reported separately — and usually indicate cleanup work.
The container snippet in static HTML is just a loader. The actual tags — which GA4 property, which ad pixels, which custom HTML — are fetched at runtime from Google's servers after the page's JavaScript executes. A static HTML scan therefore sees "GTM container GTM-XXXXXX present" but cannot enumerate the tags inside it. This is the single biggest reason static scans undercount trackers, and it's why the tool discloses the limitation and offers browser-render mode, which executes the page and observes what the container actually loads.
googletagmanager.com/gtm.js?id=GTM-XXXXXX, the dataLayer initialization, noscript iframes) and extracts the container ID.Beacon rows for GTM show the container ID and load method. Rows for tags deployed through GTM are marked "via Google Tag Manager (client-side tag)" — the container is verified evidence; the deployment path is the honest inference, confirmed only when a rendered scan observes the tag firing. If your tag manager shows tags the static report doesn't, that's expected: run it in render mode.