Google Tag Manager Preview Mode and Tag Assistant
Preview mode lets you try a Tag Manager draft on your real site before anyone else sees it. This guide covers how to start a session, how to read the Tag Assistant screen, how to find out why a tag did not fire, how to check consent, and what to do when Tag Assistant won't connect.
This guide is built from Google's own pages, checked on 10 November 2026: Tag Manager Help on preview and debug containers, finding your way around Tag Assistant and sharing debug sessions, Tag Assistant Help on troubleshooting with Tag Assistant, and the developer guide to troubleshooting consent mode with Tag Assistant, plus the other pages linked below. What tags, triggers and versions are is in our Google Tag Manager basics guide. How to push data into the page is in our GTM data layer guide.
- What preview mode does
- Starting a preview session
- Reading the Tag Assistant screen
- Finding out why a tag did not fire
- Checking consent in preview
- Sharing a preview or a session
- When Tag Assistant won't connect
- Ending a session and what preview can't do
- How we test a container
- Frequently asked questions
What preview mode does
Changes in Tag Manager stay in a draft until you publish them. Google describes preview and debug mode as a way to "browse a site on which your container code is implemented as if the current container draft was deployed, so that you can test a container configuration before it is published." The site you preview is connected to Tag Assistant, so you can see "which tags fired and in which order."
The debug view is private. Google says it "will only appear on the same browser that was used to enable preview mode, or for shared users, and is not visible to your regular website visitors." Your live site keeps running the published version while you test.
Starting a preview session
Google's steps for a web container:
- Open the container at tagmanager.google.com.
- In the Workspace tab, click Preview (top right). Tag Assistant opens in a new tab.
- Enter your site's URL and click Connect. Your site opens in a new window and shows "Connected" in the bottom right.
- Go back to the Tag Assistant tab and click Continue to reach the debug interface.
A few details from the same page:
- Tag Assistant adds a debug parameter to the URL. Google notes that some pages "might be broken by an additional debug parameter", and you can untick Include debug signal in the URL if that happens.
- To test an older version, go to Versions, open a version's More Actions menu and choose Preview.
- With the Tag Assistant Chrome extension installed, your site opens in a new tab instead of a new window. Google recommends the extension: it adds detection of the Google tag inside an iframe, debugging of pop-ups and new tabs, and several windows in one session.
Tag Assistant Help explains that the debug parameter is _dbg and that it "helps you view events in other debugging surfaces, such as Google Analytics' DebugView." That is how a preview session shows up in our GA4 DebugView guide.
Reading the Tag Assistant screen
Google's guide to the interface says a session opens on the Summary view. If more than one Google tag or container is on the page, you pick one at the top to see its hits. The rest of the screen works like this:
- Event list (left): events are "grouped by the page where they took place", with a new page group added at the top as you move through the site. Events are numbered in the order they fired. Clicking a page title gives a page-level summary.
- API Call: the JavaScript that set up the selected event, "either a gtag() call or a datalayer.push() call."
- Output: "where hits were sent, updates to the data layer, and any errors." Under Hits Sent, each hit opens into the parameters it carried.
- Data Layer: the values in the
dataLayerobject. With Summary selected it shows the current state of the data layer and what was pushed for each event.
For a Tag Manager container, Google's consent and blocked-tag pages also send you to a Tags tab under Summary and a Consent tab. Google documents the tabs in most detail for server containers. There, the Tags tab splits into Tags Fired and Tags Not Fired, the Variables tab lists "the variable type, return type, and value", and the Console tab shows "all errors originating from fired tags."
| You want to check | Where to look |
|---|---|
| Did my tag fire on this event? | Select the event, then the Tags tab: Tags Fired and Tags Not Fired |
| What did the tag send? | Output, Hits Sent, then the hit's parameters |
| What did the page push? | API Call for the event, or the Data Layer tab |
| What value did a variable have? | The Variables tab for the selected event (see our GTM variables guide) |
| Was consent set before the tags? | The Consent event in Summary, or the Consent tab |
Select the event you care about before you read the tabs. A form tag that fired on a Form Submit event will not show as fired if you are looking at Container Loaded.
Finding out why a tag did not fire
Google's page on unblocking Google tags with consent mode gives the routine: start a debug session, go to Summary > Tags and check that every tag you expect is under Tags Fired. If one is missing, "find it in the Tags Not Fired section and click it." The page then names two consent reasons a tag is blocked:
- a trigger or variable based on the user's consent is one of the trigger conditions, or
- you see a section called "Required Additional Consent" with one or more rows in the table beneath it.
When consent is not the reason, the cause is usually in the trigger. Click the tag to open its details. Google's server-container page says the details include the tag's firing triggers, so you can see which filter did not match. The trigger types, filters and exceptions are explained in our GTM triggers guide.
Checking consent in preview
Google's developer guide on consent debugging says Tag Assistant can show whether the site "sets the correct default consent state before any tags fire", whether it "updates consent states correctly" after a visitor chooses, and which tags check which consent types. For a Tag Manager site its steps are:
- Start a Tag Assistant session and accept all on the cookie banner.
- In Summary, select the earliest Consent event and check in API Call that
ad_storage,ad_personalization,ad_user_dataandanalytics_storagewere set. The Consent tab's On-page Default column shows the same. - Select the most recent Consent event and check the same four values were updated (the On-page Update column).
- Open the Tags tab and click a tag to see whether it behaved according to the consent settings.
If you set different defaults by region, Google says to repeat the steps with simulated locations. Its consent mode troubleshooting page for Google Ads adds one error to watch for: "A tag read consent state before a default was set" means consent was set too late. The fix in Tag Manager is to make consent-writing tags fire before the trigger of the Ads tags, and Google recommends the Consent Initialization trigger for them. Banner and consent mode set-up are covered in our cookie consent banners guide.
Sharing a preview or a session
A preview only shows in the browser that started it, so Google gives three ways to involve someone else:
- Share the live preview: in Tag Assistant, open More Actions, select Share, enter the site domain and copy the preview URL. It "lets the user connect to your site in preview mode and to view the Tag Assistant debug interface."
- Share a version: under Versions, choose Share Preview on any version, current or older.
- Export a session: the overflow menu has Export session, which saves your debug history to a file someone else can import. Imported sessions "open in read-only mode", so no new tags fire in them. Google warns that if your tags send personal data, "that sensitive information gets exported as well."
When Tag Assistant won't connect
Tag Assistant Help lists these causes when the debug window fails to connect:
- The URL has no Google tag on it. Try a page where you expect the tag.
- The debug parameter breaks the page. Edit the domain and untick Include debug signal in the URL.
- gtm.js or gtag.js loads after Tag Assistant tries to connect. Click Retry.
- The page is an AMP page, which Tag Assistant does not support.
- The tag loads in an iframe, which can only be debugged with the Chrome extension installed.
- Several redirects stop the debug window from loading.
- An ad blocker stops the Google tag. Disable it for the pages you test.
- The extension lacks permission to read and change site data on those pages.
- A consent tool blocks Google tags. Google's consent guide notes the session may only connect after you accept the banner.
The same page's further checks include other browser extensions, a firewall or proxy blocking the container, and a content security policy that blocks it. If your site loads Tag Manager through your own domain, our Google tag gateway guide covers that set-up.
Ending a session and what preview can't do
To stop, click the X in the upper left of the Tag Assistant debug interface, or Stop debugging on the Tag Assistant activation page.
Google says the debug interface is not available for mobile app containers, which use the iOS and Android developer documentation instead, or for AMP containers, where you can still preview the site. Server containers have their own preview with different tabs, such as Request and Event Data. Our server-side tagging guide covers that set-up. Preview also does not publish anything: when the tests pass, you still submit and publish a version, as our basics guide describes.
How we test a container
This is our own practice, not Google's guidance:
- We write down the actions to test before opening preview: page view, the main click, the form, the purchase or lead. Then we do each one and check its event, not just the page load.
- For each conversion tag we open the hit and compare the values with what the site really did, such as the order total or form name. A tag that fired with an empty value is still a failure.
- We run the consent steps twice, once accepting and once rejecting, before anything goes live in a region that needs a banner.
- We share a preview link with the developer when a data layer push is wrong, so we look at the same session. We don't export sessions from pages that send personal data.
- After publishing, we check the live site and the reports in DebugView and the Google Ads conversion status.
Frequently asked questions
Can my site's visitors see Tag Manager preview mode?
No. Google says the debug interface only appears in the browser that started preview, or for people you shared it with, and is not visible to regular visitors. Visitors keep getting the published container.
Why does Tag Assistant say it could not connect?
Common causes Google lists: the page has no Google tag, the tag loads late (click Retry), an ad blocker or extension blocks it, the page is AMP, the tag is in an iframe without the extension, too many redirects, or a consent tool blocking Google tags until the banner is accepted.
How do I see why a tag did not fire?
Select the event in Tag Assistant, open the Tags tab and click the tag under Tags Not Fired. Check its firing triggers, and look for consent conditions or a Required Additional Consent section, which Google says mean the tag is blocked by consent.
Can I share a preview with a developer or client?
Yes. In Tag Assistant use More Actions and Share to copy a preview URL, or use Share Preview on a version. You can also export a session file, which opens read-only; Google warns it includes any personal data your tags sent.
Does preview mode publish my changes?
No. Preview shows the draft as if it were live, only for you. To make the changes live you submit and publish a version in the workspace.
For more on measurement, see our guides to Google Tag Manager basics, GTM triggers, GTM variables, the GTM data layer and GA4 key events.