AuditTag

Google Tag Manager checker

See every Tag Manager container a site loads, and whether each one is installed the way Google asks. No login, no access to the container.

Free, no sign-up. Reads the site's public homepage once, the way a search engine does. Works on any site, not just yours.

What a good install looks like

Google's install steps give a Tag Manager container two pieces of code, and say exactly where each one goes. The checker reads the page and tells you where yours are.

On Shopify

A container pasted into theme.liquid runs on the storefront and nowhere else. Shopify does not load theme code on the checkout or the thank-you page, so tags in that container never see a purchase. The checker says so when it finds a theme-only container on a Shopify store. A Tag Manager container added as a custom pixel runs in Shopify's sandbox instead, on checkout too, and does not appear in the page source at all. More on the theme.liquid trap.

What this can and cannot tell you

What it reads

  • Every Tag Manager container ID the page loads, and how it is installed
  • Where the snippet sits, and how many scripts run before it
  • Whether the noscript fallback is there, and where
  • A dataLayer replaced after the container starts, and a renamed dataLayer
  • A consent default in the page code, and whether it comes before the container
  • Containers loaded from a host that is not googletagmanager.com, and custom loaders that hide the ID

What it cannot see

What is inside the container: its tags, triggers and variables, and whether any tag fires. It reads one page, the homepage, as served, so a container a script adds later, or one added as a Shopify custom pixel, is not in it. For firing, open Tag Manager's Preview mode on your own site and watch each tag.

Questions people ask

How do I check if Google Tag Manager is installed on a site?

Enter the address above. The checker reads the homepage once and lists every Tag Manager container it loads, with its GTM ID, where the snippet sits and whether the noscript fallback is in place. On your own site, Tag Manager's Preview mode shows the same container running, along with every tag in it.

Where should the Google Tag Manager code go?

Google asks for the script as close to the opening <head> tag as possible, below any dataLayer declarations, and the noscript code immediately after the opening <body> tag. The checker tells you where both are on the page it reads.

Does the checker show which tags are in my container?

No. A container is downloaded from Google when the page runs, and the checker reads the page as served, so it sees the container being loaded but not what is inside it. Tag Manager's own Preview mode shows every tag, trigger and variable.

What does a hidden container ID mean?

The page loads Tag Manager with Google's snippet, but the GTM ID has been replaced with an encoded string. Custom loaders, such as the one Stape offers for server-side tagging, do this so ad blockers cannot recognise Tag Manager. It is deliberate, so it is not a fault, and it means the ID cannot be read from the page.

Is it a problem to have two Tag Manager containers?

Two different containers on one page is allowed. It becomes a problem when both carry a tag for the same thing, a GA4 tag for one measurement ID, say, because each sends its own hit and the numbers double. The same container loaded twice is a problem on its own, and the checker flags it.

Related