Google Tag Assistant: how to see which tags fire and find what broke them
Google Tag Assistant is Google's debugging tool for the Google tag and Google Tag Manager. You connect your site at tagassistant.google.com, browse it in debug mode and see every event, the hits sent to Google Analytics or Google Ads, data layer values and errors. It shows that a tag broke, not which change broke it.
What is Google Tag Assistant and what does it show?
Google Tag Assistant is a web-based tool at tagassistant.google.com that verifies and troubleshoots installations of the Google tag (gtag.js) and Google Tag Manager, including the tags for Google Analytics and Google Ads. It replaced the old Tag Manager preview mode, which depended on third-party cookies that browsers increasingly block.
In one debug session you can follow a whole domain across pages and see:
- every event, numbered in the order it fired and grouped by the page where it happened;
- the API call behind each event, either a
gtag()or adataLayer.push()call; - the hits sent, their destination and type, with the parameters inside each hit;
- data layer values, Google Analytics enhanced measurement events and errors.
For Tag Manager containers, the debug view also lists which tags fired and which did not on each event, the variable values captured and the consent state when consent mode is in use. The debug information is only visible in your session, not to normal visitors.
What Tag Assistant does not give you is history. It shows how tags behave right now, in your browser. If a tag stopped firing last Tuesday, you still need to find out what changed last Tuesday.
How do I start a Tag Assistant debug session?
Start from tagassistant.google.com for any site with the Google tag, or from the Preview button in Tag Manager when you want to test workspace changes that are not published yet.
From Tag Assistant
- Go to tagassistant.google.com and click "Add domain".
- Enter the site URL, starting with https:// or http://.
- Click "Connect". Your site opens in a new window with a
_dbgdebug parameter in the URL. - Browse the pages and actions you want to test. Tag Assistant updates as you navigate.
From Google Tag Manager
- Open the container and, on the "Workspace" tab, click "Preview". Tag Assistant opens in a new tab.
- Enter your site URL and click "Connect". The site shows "Connected" in the bottom right corner.
- Go back to the Tag Assistant tab and click "Continue" to open the debug interface.
If the debug parameter breaks your site, uncheck "Include debug signal in the URL" before connecting. Google recommends the Tag Assistant Chrome extension: it adds debugging for tags inside iframes (only possible with the extension), pop-ups, new tabs and several windows at once. To end a session, click the X in the upper left of the debug interface or "Stop Debugging". To resume one, pick the domain under "Active Domains" or "History" on the Tag Assistant home page.
Read also: Tracking audit checklist: how to check tags, pixels and conversions, and log every fix · Marketing change log: what it is and how to keep one
How do I read what Tag Assistant shows?
Work from left to right: pick an event in the timeline, then check what that event sent and which tags it triggered.
The session opens on a "Summary" view. If several Google tags or containers are on the page, choose one at the top, and the hits are filtered to that ID. The left column is the event timeline; events marked with a <> icon are built-in events the Google tag emits on load.
| Where | What you see | Use it to check |
|---|---|---|
| Output and "Hits Sent" | Each hit with its destination and type; click a hit to see its parameters | Whether a GA4 event or a Google Ads conversion actually left the page |
| Tags (Tag Manager) | "Tags Fired" and "Tags Not Fired" for the selected event | Whether a trigger matched; click a tag to see its triggers |
| Variables | Variable values captured on each event | Undefined or wrong values, such as an empty transaction ID |
| Data Layer | The values pushed to dataLayer for each event | Whether the site still sends the data your tags expect |
| Consent | Consent state per type, such as ad_storage and analytics_storage | Tags held back by the consent banner |
| Errors | JavaScript errors and tag problems | Broken custom HTML tags |
A tag listed under "Tags Fired" is not the end of the check. Open the hit and read the parameters: a purchase tag that fires with a value of 0 or no currency is as broken for bidding as a tag that does not fire at all. Tag Assistant also warns you when an event is sent to a Google product without the matching Google tag firing first.
Why is my Google tag not firing?
Most tags that stop firing were broken by a change: to the site, to the container, to the consent setup or to the page flow. The table lists the usual causes and how each one shows up.
| Cause | What you see in Tag Assistant |
|---|---|
| A trigger was edited, or a site release changed a page path, button class or form ID | The tag appears under "Tags Not Fired" on the event where it used to fire |
| A developer renamed a data layer key or an event name | The event is missing from the timeline, or a variable shows undefined |
| The consent banner or its settings changed | Consent is denied and tags are held back or sent without cookies |
| The Google tag loads late or was removed from a page template | Tag Assistant cannot connect, or pages appear as untagged in the "Tag coverage summary" |
| A new redirect chain or a checkout on another domain | The debug window does not load, or the session stops after the redirect |
| An ad blocker in your test browser | The Google tag does not run at all, but only on your machine |
Some limits are by design: AMP pages are not supported, and tags inside iframes can only be debugged with the Chrome extension installed. If the Google tag loads after Tag Assistant tries to connect, click "Retry". Consent tools can block Google tags unless they are set up to work with Google's consent API; that case has its own post on how to prove a consent banner caused a conversion drop.
How do I isolate which change broke the tag?
Tag Assistant tells you a tag is broken today. To find which change caused it, find the last day the tag worked and line up everything that changed on and just before that day.
- Find the last day it worked
- Line up the changes before it
- Test the suspect in Tag Assistant
- Fix it and log the fix
Use your reports to find the break date: the day GA4 events or Google Ads conversions fall to zero or step down. Then collect the changes from that window: container versions published in Tag Manager (the Versions list shows when each one was published and by whom), site releases, CMS or theme updates, consent banner changes and checkout or form changes. Open the container version published nearest the break and check which tags, triggers and variables it touched; the post on Google Tag Manager version history shows how.
Then test one suspect at a time. Preview the version from before the break and the current one, run the same flow (for example, a test lead form), and compare "Tags Fired" and the hits. If the old version fires and the new one does not, the container is the cause. If both fail, look at the site side.
With every change on one timeline, this takes minutes instead of an afternoon: you would see that a container version and a checkout release both went live the day before conversions stopped, and test those two first. In Changeline the team logs site, tag and consent changes with date, owner and reason, and Google Ads edits are imported automatically through a read-only connection, so a tracking break and a bid change from the same week sit side by side.
Example: a client asks why Google Ads leads fell to zero on Thursday. Tag Assistant shows the form tag under "Tags Not Fired". The timeline for Wednesday has two entries: a container version that added a chat widget, and a website release that renamed the form event from form_submit to lead_submit. Previewing the older container on the live site still fails, so the container is not the cause: the trigger waits for an event the site no longer sends. Updating the trigger fixes it, and the answer to the client is one sentence with a date. Names and numbers are illustrative.
- WedGTMContainer version adds chat widget
- WedWebsiteForm event renamed to lead_submit
- ThuGoogle Ads leads fall to zero
How do I share a debug session or test an older container version?
You can hand a debug session to a colleague or a developer instead of describing the problem in an email.
- Share a workspace preview: in Tag Assistant, click "More Actions", then "Share". In the "Share debug session" dialog, enter the website domain, copy the preview URL and send it.
- Preview an older version: in Tag Manager, go to "Versions", open "More Actions" on the version and choose "Preview", or "Share Preview" to send it to someone else.
- Export a session: Tag Assistant lets you export and import debug sessions, so a developer can open exactly what you saw.
Preview mode only works in the browser where you started it, or for the people you shared it with. Testing the version from before the break against the live site is the quickest way to tell a container problem from a site problem.
How do I stop tags from breaking unnoticed after the next release?
Treat tracking like code: every change gets a name, a date and a test.
- Name every container version. Tag Manager asks for a "Version Name" and "Version Description" when you publish, and Google's own example is "GA page view tag - initial launch". A clear name is your first clue when you hunt for a break months later.
- Run Tag Assistant after every site release, not only after Tag Manager changes. Many breaks come from the site side: a renamed class, a new template, a moved checkout step.
- Test the events that carry money, such as purchase, lead and sign-up, end to end, and open the hits to check value, currency and transaction ID.
- Log the change where the whole team sees it, with the reason and who made it, next to campaign and site changes. A marketing change log template is enough to start, and the marketing change log guide explains what to record.
- Mark tracking fixes in your reports. When conversions come back after a fix, add a note so nobody reads it as a performance gain; see GA4 annotations.
If a broken tag already cost a week of conversions, the guide to explaining a conversion drop to a client helps you present the date, the cause and the fix.
Know which tag change broke your conversions
Changeline puts your team’s changes, imported Google Ads changes and site, tracking and CRM edits on one timeline per client.
Free plan: 1 project, 2 editors, 15 days of history. No card.
FAQ
Do I need the Tag Assistant Chrome extension?
No, the web version at tagassistant.google.com works without it. Google still recommends the extension, because it adds debugging for tags inside iframes, pop-ups, new tabs and several windows at once. Tags loaded in iframes can only be debugged with the extension installed, and it needs permission to read and change site data on the pages you test.
What happened to Tag Assistant Legacy and Tag Assistant Companion?
Google combined them into one Tag Assistant extension. Tag Assistant Legacy updates automatically to the new extension, and Tag Assistant Companion uninstalls itself after that update. Companion still works for now, but Google says it will be deprecated, so use the unified extension together with tagassistant.google.com.
Can my site visitors see the Tag Assistant debug panel?
No. Debug information is only shown in your own debug session and to people you share the session with. Normal visitors see the site as usual. Tag Assistant adds a _dbg parameter to the URL while you debug, which you can switch off if it interferes with how the page behaves.
Why won't Tag Assistant connect to my site?
The usual reasons are a Google tag that loads after Tag Assistant tries to connect (click Retry), several browser redirects in a row, an ad blocker, or a consent tool that blocks Google tags. AMP pages are not supported. If the debug parameter breaks the page, uncheck Include debug signal in the URL and connect again.
Does Tag Assistant show when a tag stopped working?
No. It shows how tags behave in your session right now. To date a break, find the day events or conversions dropped in GA4 or Google Ads, then check which container versions, site releases and consent changes went live just before it. Tag Manager's Versions list shows when each version was published.