How to Debug GTM Tags Properly

Preview mode tells you a tag fired. It does not tell you the data was correct or that it arrived. Here is the debugging process that finds real problems.

Most people debug tags by opening preview mode, seeing a green tag fired message, and declaring the job done.

Tag fired means the tag ran. It does not mean the data was correct, that the platform accepted it, or that it only ran once. Those are separate questions and each has its own check.

The four layers, in order

Work through these in sequence. Skipping ahead is why problems take three days instead of twenty minutes.

Layer one: did the trigger fire?

Open preview mode and perform the action. Look at the event in the left panel.

If the tag did not fire, the problem is the trigger, not the tag. Check the trigger conditions against the actual page values. A trigger looking for a URL containing the words thank you will not match a page whose address says order confirmation instead.

Layer two: was the data correct?

This is the layer everyone skips.

Click the tag in preview and look at the values it actually sent. Not the variable names, the resolved values.

Common findings: a revenue value of undefined, a transaction ID that is empty, a currency that says USD on a store that sells in euros, a product array that is empty. The tag fired perfectly and sent nonsense.

Layer three: did the request leave the browser?

Open the browser network tab and filter for the platform’s endpoint. You should see the request going out, and you can inspect exactly what was in it.

This catches things preview mode cannot see, including tags blocked by consent tools, requests stopped by ad blockers, and tracking hardcoded in the theme that GTM knows nothing about.

It is also the only reliable way to count how many requests went out, which is how you catch duplicates.

Layer four: did the platform accept it?

Check the destination. GA4 realtime, Meta Events Manager, Google Ads diagnostics.

A request can leave the browser correctly and still be rejected for a malformed value or a missing required field. Only the receiving end tells you that.

Things that make debugging much faster

  • Use an incognito window so extensions and cached consent choices do not confuse the results.

  • Test on a real device too. Mobile behaves differently, particularly on iOS.

  • Change one thing at a time. Change five and you will never know which one worked.

  • Test the failure path, not just the happy one. What happens on a validation error, or when someone goes back and resubmits?

  • Check with consent declined, not only accepted. Half your traffic may be in that state.

The bugs that hide from preview mode

Some problems never appear in preview, which is why people insist everything is fine while the numbers say otherwise.

  • Hardcoded tags in the theme. GTM does not know they exist, so preview shows one tag firing while two requests leave the browser.

  • Consent tools that behave differently in preview, because preview sometimes bypasses the banner.

  • Race conditions, where the tag fires but the page navigates away before the request completes. These look intermittent and drive people mad.

  • Server side processing, where the browser request is fine but something downstream drops or reshapes the data.

  • Container never published. Everything works in preview and nothing works in production. Check this first when a fix appears to have no effect.

A quick routine

When something looks wrong, in order: confirm the real numbers from your store or CRM, run one test conversion in preview, check the resolved data values, check the network request, then check the platform. Stop as soon as you find the break.

If everything looks correct at every layer and numbers are still wrong, the problem is usually attribution rather than tracking. That is a different investigation, starting with why platform numbers never match.

Need this fixed properly?

If you have a tracking problem that survives preview mode and nobody can explain it, that is exactly the kind of thing worth a second pair of eyes. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.

Have a look at what I do, or book a call and we can go through your setup together.

Need accurate tracking?

Its Free

500+ Happy Clients ⭐️

Keep Reading

See exactly where you’re wasting ad spend and how better tracking can double your sales.

See exactly where you’re wasting ad spend and how better tracking can double your sales.

Tracking in 3 Hours

Tracking in 3 Hours

I Manage Everything

I Manage Everything

24/7 Expert Support

24/7 Expert Support

TESTIMONIALS

Trusted by 500+ satisfied clients

Discover how we’ve driven growth and innovation.

500+ Tracking

500+ Tracking

Adélaïde De Vos

3,922 followers

I had the pleasure to work with Abdul and I can say that he exceeded my expectations. He was professional, patient, and clear in his explanations and committed to client satisfaction. If you're looking for someone who is not only highly skilled but also reliable and committed to client satisfaction, I highly recommend Kayium!

Dean Watson

1,030 followers

Kayium setup our tracking for Google Ads and Meta Ads, which helped us get 20%+ more conversions on the same ad spend. He didn’t just handle the technical setup,he also took the time to explain why it works and how it improves results. If you’re looking for someone skilled, reliable, and committed to delivering real results, I highly recommend him!

David Friend

CEO: Profitable Sites

Kayium set up accurate tracking that helped us scale ads fast and boost conversions by over 25%. He gave us clear insight into which ads drive revenue.

Lalita Sundari

7,924 followers

I've worked with Kayium; his strategic mindset and expertise in GTM, GA4, Pixel & Server Side Tracking, are invaluable! I highly recommend Kayium!