To debug Google Tag Manager, start Preview mode, repeat the action that should fire your tag, then read Tag Assistant from that event: which tags fired, which did not, why the trigger failed, and whether the data reached GA4.
Open the container and click Preview in the top right of the Workspace tab.
Tag Assistant opens in a new tab. Enter the URL of the page you are testing.
Click Connect. Your site opens in a new window and shows "Connected" in the bottom corner.
Go back to the Tag Assistant tab and click Continue.
If the site breaks or won't load, untick Include debug signal in the URL and connect again.
Some sites reject the extra parameter.
Want to debug an older version instead of the draft?
Open Versions, choose the version, and pick Preview from its menu.
Step 3: Repeat the Action and Pick the Right Event
Now do exactly what a visitor does. Load the page. Fill in the form. Submit it.
Each thing that happens appears as an event in the list on the left of Tag Assistant: the page load events, any clicks Tag Manager listens for, and every data layer push.
This is where most people go wrong.
They look at the Summary or the first page load event, see their tag listed somewhere, and assume it worked.
Instead, click the exact event where your action happened.
For the quote form, that is the form_success event.
Everything you check from here on should be read at that event.
Pro tip: If the event you expect isn't in the list at all, the problem is upstream of Tag Manager. The site never pushed it. Send the developer your spec line from Step 1 and stop debugging tags for now.
Step 4: Read Tags Fired and Tags Not Fired
With the right event selected, open the Tags view.
You will see two lists: Tags Fired and Tags Not Fired.
Your tag is in one of them.
If it's under Tags Fired, click it and check the values it sent. Right event name? Right parameters? Right measurement ID?
A tag that fires with the wrong values is still a bug.
If it's under Tags Not Fired, click it and look at its firing trigger.
Tag Assistant shows each trigger condition and marks which ones passed and which failed.
The failed condition is your answer. Common culprits:
The trigger waits for a different event name than the site pushes (formSuccess vs form_success).
A filter checks a Page Path that doesn't match, often because of a trailing slash.
The trigger is a click trigger keyed to a CSS class that a redesign removed.
An exception trigger is blocking it.
Step 5: Check Variables and the Data Layer at That Event
Trigger conditions compare variables against values.
So when a condition fails, look at what the variable actually held.
Still on the same event, open the Variables view.
Find the variable your trigger uses and read its value at that moment.
Then open the Data Layer view to see what the site pushed.
Three faults show up again and again:
Case mismatch. Data layer keys are case-sensitive, so formName and form_name are different keys.
Undefined values. The Data Layer Variable points at a key the push never included.
Wrong timing. The value exists, but it arrives in a later push than the event that fires the tag.
The fix for all three is usually on the site side.
Change the push, not the container, so the specification stays true.
A tag can have a perfect trigger and still be blocked by consent.
That is often correct behaviour, not a bug.
Test the journey twice: once accepting the banner, once declining.
In Tag Assistant, a blocked tag sits under Tags Not Fired. Open it.
Tag Manager Help on unblocking Google tags with consent mode says a tag is blocked when a consent-based trigger or variable is one of its conditions, or when you see a Required Additional Consent section with rows beneath it.
You can also select a Consent event in the event list and open the tag's Consent tab.
The On-page Default and On-page Update columns show the state before and after the visitor chose.
What should happen with each choice is a decision for whoever owns your consent policy.
Your job here is to confirm the tags follow it.
Step 7: Confirm the Hit Reached GA4
Firing in Preview is not the finish line.
You need to see the data arrive.
Open GA4, go to Admin, and under Data display click DebugView.
According to Google's DebugView help, Tag Assistant and Preview mode turn on debug mode for your own device, so your events stream in as you test.
Repeat the action and watch for the event and its parameters.
Nothing arriving?
Check three things in order:
The measurement ID in the tag matches the property you are watching.
The visit was not blocked by consent (Step 6).
Your own traffic is not filtered out of the property.
If the property itself looks badly configured, that is a bigger job than one tag.
A GA4 audit checks the property settings end to end.
For conversions, also check the event is marked as a key event.
And if the property was never set up properly in the first place, a GA4 setup rebuild may be quicker than patching.
Make Debugging Part of Every Publish
Debugging is not just for emergencies.
Run Steps 2 to 7 before every publish and most bugs never reach your visitors.
Start with the tag that matters most to your business, usually the lead or purchase event.
Write its line from Step 1 today, then test it.
If your container fails these checks every time someone touches it, it probably needs structure rather than another fix.
That is the work I do on Tag Manager containers: data layer, naming, consent and safe publishing. It sits within my wider analytics services, next to GA4 setup and audits.
And if you would rather hand the whole thing over, my Google Tag Manager consulting starts with a look through your container export, free.
Frequently asked questions
Why is my Google Tag Manager preview not connecting?+–
Start with the basics: the container snippet must be on the page, and it must be the same container you are previewing. If the site breaks or refuses to connect, untick the option to include the debug signal in the URL and try again. Browser extensions that block scripts can also stop the connection, so test in a clean browser profile.
Can other people see my Google Tag Manager preview?+–
No. According to Tag Manager Help, the debug interface only appears in the browser that started Preview mode, or for people you share the session with. Regular visitors keep seeing the published container. To share, use More Actions and then Share in Tag Assistant and send your colleague the preview link.
Why does my tag fire in Preview but no data shows in GA4?+–
Firing only means Tag Manager ran the tag. The hit can still be blocked by consent settings, sent to the wrong measurement ID, or filtered out in the property. Check the consent state for that event in Tag Assistant, confirm the ID in the tag, then watch GA4 DebugView while you repeat the action.
How do I debug Google Tag Manager on a staging site?+–
Preview mode works on any domain where your container snippet is installed, including staging. If your team publishes to staging regularly, set up a custom environment in the container admin, install its snippet on the staging server and publish test versions there without touching the live container.
Independent SEO consultant · 6+ years in SEO · 60+ client websites worked on
I'm an independent SEO consultant with 6+ years in SEO. I run audits, migrations and content programmes for businesses in Europe, the UK and the USA, and I build the automation behind my own research.