Measurement debugging: how to find errors with GTM Preview, Tag Assistant, GA4 DebugView, and Meta Events Manager
Measurement debugging should have a process: reproduce the problem, find the specific event, verify the dataLayer, trigger, consent, outgoing request, and receipt in the target platform.
Short answer
Measurement debugging should have a process: reproduce the problem, find the specific event, verify the dataLayer, trigger, consent, outgoing request, and receipt in the target platform. GTM Preview shows what happened in the container. GA4 DebugView shows what arrived in GA4. Meta Events Manager shows Pixel/CAPI events. Each tool answers a different question.
Define the error first
"Measurement does not work" is not a diagnosis. The precise question sounds like this: form_submit_success appears in the dataLayer, but the Google Ads conversion tag does not fire. Or: the tag fires, but the conversion is not in Google Ads diagnostics. Or: Meta Pixel sends Purchase, but the CAPI event is not deduplicated.
Until you know which part of the flow contains the problem, you will only change triggers randomly and wait to see whether the numbers improve.
Five steps in the debugging process
Step 1: Reproduce the event in a clean browser. Step 2: In GTM Preview, find the event in the timeline. Step 3: Verify variables and the trigger. Step 4: Check consent state. Step 5: In the Network panel or target tool, verify that the request actually left and that the platform accepted it.
If the event is not in the dataLayer, the problem is on the website or in the form. If the event is in the dataLayer but the tag does not fire, the problem is in the trigger or conditions. If the tag fires but the platform sees nothing, the problem is in the request, consent, ID, endpoint, or platform diagnostics.
GTM Preview and Tag Assistant
GTM Preview shows the event timeline, fired/not fired tags, variable values, and reasons why a trigger did not run. Tag Assistant helps track Google tags, consent, and the debug session. For consent issues, watch the order of default and update.
Watch out for the situation where a tag is "fired" in GTM, but the request is blocked by consent, an ad blocker, or a template error. Fired in GTM does not automatically mean a conversion was accepted by the platform.
GA4 DebugView and Meta testing
GA4 DebugView shows events from the debug device. Watch event name, parameters, user properties, and time. If the event fires in GTM but is not in DebugView, verify measurement ID, consent, debug mode, and the network request.
For Meta, use Events Manager and Test Events for both Pixel and CAPI. For CAPI, check event_name, event_id, event_time, fbp/fbc, and matching parameters. For deduplication, compare the browser and server event for one specific order.
Document findings
Write down every error as a flow: expectation, reality, evidence, cause, fix, test. For example: we expect Lead after a successful submit, what actually fires is click_submit, evidence is the GTM event timeline, cause is a button trigger, fix is a custom event from the backend success response, test is valid/invalid submit.
This creates a knowledge base and prevents the same errors from returning after every redesign.
FAQ
Frequently Asked Questions
Next Article
ad account bad data optimization
How to tell your ad account is optimizing for bad data
An ad account optimizes for bad data when primary conversions do not reflect business value.
Looking for someone who can take this off your plate?
We will find the measurement error systematically: from the dataLayer through GTM and consent to the target platform.