About Tracking

Ad Platform Tracking

Meta Pixel + CAPI TikTok CAPI LinkedIn CAPI Snapchat CAPI Pinterest CAPI Quora Pixel Bing + UET Tag

Google Ecosystem

Google Ads Tracking GA4 Setup & Audit Google Tag Manager

Advanced Solutions

Server-Side Tracking Looker Studio Offline Conversion
Case Studies Blog Free Checklist Book Free Audit →

Google Tag Manager’s built-in debugging tool — Preview mode — is one of the most useful features in the GTM ecosystem. It lets you inspect every tag that fired (or failed to fire), every trigger evaluation, and every variable value on any page of your website in real time. Here is how to use it effectively to diagnose and fix tracking errors.

Opening GTM Preview Mode

In Google Tag Manager, go to your container and click Preview in the top right corner. GTM will open a new tab where you enter your website URL and click Connect.

Your website opens in a new tab with a debug banner at the bottom indicating GTM is in preview mode. In the original GTM tab, the Tag Assistant panel shows real-time debugging information as you navigate your site.

Understanding the GTM Debug Interface

The Tag Assistant panel has several sections:

Summary panel (left)

Shows each event that has been pushed to the dataLayer, in sequence. Click any event to see the full debugging details for that moment in time.

Tags tab

Shows which tags fired (green check), which did not fire (grey), and which failed with an error (red) for the selected event. This is where you find out if a tag fired when it should have, or why it did not.

Variables tab

Shows all GTM variable values at the moment of the selected event. If you are troubleshooting a tag that fired but sent wrong data, check the Variables tab to see what values were available when the tag fired.

DataLayer tab

Shows all the data in the dataLayer at the selected event moment. If your tag depends on a dataLayer value that should be there but is not, this tab shows what is and is not present.

Common GTM Tag Errors and How to Fix Them

Tag not firing at all

Symptom: GA4 purchase tag shows as “Not Fired” in the Tags tab on the thank-you page.

Debug: check the trigger for the tag. In Preview mode, when the thank-you page loads, click the page load event in the Summary panel. In the Tags tab, find your GA4 tag and see why it shows Not Fired. Click the tag to see which trigger condition failed. Common causes: trigger is configured to fire on a URL that contains “thank_you” but your actual URL uses “thank-you” with a hyphen. Trigger is set to “Page View” but the event is set to “Custom Event”. The tag has a blocking trigger (exception trigger) that is being met.

Tag firing but sending wrong value

Symptom: GA4 shows purchases with $0 or null revenue.

Debug: when the purchase event fires in Preview mode, go to Variables tab. Find the variable you are using for the purchase value (e.g. {{dlv – ecommerce.purchase.value}} or {{Ecommerce Revenue}}). Check what value it shows. If it shows “undefined” or “null,” the variable is not reading the dataLayer correctly.

Fix: go to DataLayer tab on the same event. Verify that the revenue is actually in the dataLayer under the expected key path. If the dataLayer has revenue at ecommerce.value but your variable is looking for ecommerce.purchase.value, update the variable path.

Tag firing multiple times

Symptom: duplicate purchases in GA4 or Meta Ads Manager.

Debug: in Preview mode, check how many times your purchase tag appears in the Tags tab for the thank-you page load event. If it fires twice, there are two triggers both matching. Also check if the thank-you page is being visited twice in a session (page reload after purchase confirmation).

Fix: add a deduplication mechanism. Use GTM’s built-in Tag Sequencing to fire a cleanup tag that resets the dataLayer after purchase. Or add a trigger exception that prevents the tag from firing on page reload if the purchase event has already been sent.

Variable reading wrong value

Symptom: event parameters in GA4 show values from the wrong product or wrong order.

Debug: check the Variables tab for the event in question. If the variable is reading from the DOM (CSS selector or element text) rather than the dataLayer, a DOM change may have shifted which element it reads.

Fix: migrate the variable to read from the dataLayer instead of the DOM. DOM-based variables are fragile; dataLayer-based variables are reliable.

Testing After Making Fixes

After making changes in GTM, use Preview mode to re-test before publishing. Walk through the complete purchase flow in preview mode, including adding a product to cart, going through checkout, and reaching the thank-you page. Confirm all tags fire correctly and all variable values are populated with the right data.

Only publish the container to live after preview testing confirms the fixes work correctly.

Get Your GTM Tracking Verified

GTM errors are one of the most common causes of inaccurate conversion data. A single misconfigured trigger or variable can affect weeks of campaign data before anyone notices.

Book your free Shopify tracking audit here and we will use GTM Preview mode and other diagnostic tools to find and fix any tracking errors in your current setup.

Leave a Reply

Your email address will not be published. Required fields are marked *