Skip to content

Grokem · https://www.grokem.com/data/data-analytics/tracking-audits-and-qa/ga4-tracking-audit/ga4-events-missing-checklist

GA4 Tracking AuditTroubleshooting guide

GA4 events are missing or wrong: a systematic checklist

Work from the browser to the report in order: does the tag fire, does the event arrive, is it filtered or delayed, and is it configured so the report can show it?

Grokem Editorial

Editorial desk

Published
  • 4 min read

When a number in a report looks wrong, the cause usually has an ordinary explanation. Data takes a fixed path (the visitor's browser, the tag, the network, the collection, the processing and finally the report), and it can be lost or changed at each step. Debug in that order and stop at the first step that fails.

1. Does the tag fire?

Start in the browser. Open the developer tools, switch to the Network tab, and trigger the event. You should see a request to Google's collection endpoint carrying the event name and parameters.

  • No request at all. The tag did not fire. In your tag manager's preview mode check whether the trigger matched and whether anything blocked the tag (a consent setting, an exception, a typo in the event name).
  • A request that failed or was blocked. An ad blocker, privacy extension or content security policy stopped it. Test in a private window with extensions off.
  • A request to the wrong place. Compare the measurement ID with the one in your property's data stream.

2. Does the event arrive?

DebugView and the Realtime report show events within moments and are the right place to confirm that Google received something. DebugView needs the browser to be in debug mode (the tag manager's preview mode turns it on, or you can set the debug parameter yourself).

  • Check the event name: names are case-sensitive, so Add_To_Cart and add_to_cart are different events. Event names also have length limits and may not contain spaces.
  • Open the event and check each parameter: name, value and type.

If it shows in DebugView, the tag and the network are fine. The problem is later.

3. Is it filtered, delayed or limited?

  • Processing delay. Standard reports are not instant. An event missing an hour after it was sent is not missing yet.
  • Data filters. Filters can exclude internal or developer traffic. A filter in testing state marks data without removing it; an active one removes it for good.
  • Consent. When a visitor has not granted consent, tags may send limited signals or nothing at all, depending on your consent configuration. Compare your consent acceptance rate with the shortfall.
  • Thresholds and sampling. Reports that include demographic or similar data can hide small numbers to protect privacy, and explorations can sample large datasets. Check the report for a warning icon.
  • High-cardinality dimensions. A dimension with a huge number of distinct values (a full URL with identifiers) is grouped into an "(other)" row.

4. Is the report able to show it?

A custom parameter you send is not automatically available in reports. To use it as a dimension or metric you register it as a custom dimension or metric, with the right scope, and it only applies to data collected after you register it. A quick test is to try the same question in an exploration that lets you add the registered parameter.

5. Are you counting what you think you are?

  • Duplicates. Two triggers on one tag, two containers on a page, or a single-page application that pushes an event every time a component re-renders.
  • Missing identifiers. A purchase event without a unique transaction id can be counted again on a page reload.
  • Time zones. The property's reporting time zone defines where one day ends and the next begins. Compare like with like when reconciling.
  • Different definitions. "Users", "sessions" and "events" are not interchangeable, and the shop's order count is not GA4's purchase count.

A short routine

  1. Reproduce the action in a clean browser, with the tag manager in preview mode.
  2. Confirm the request in the network tab.
  3. Confirm the event and its parameters in DebugView.
  4. Check filters, consent and the property settings.
  5. Wait for processing, then check the standard report.
  6. Write down what you found and add a test for it, so the next release does not break it again.

Menu names in the Analytics interface change from time to time. If a label here does not match what you see, search the current help pages for the feature name.

Troubleshooting

ProblemLikely causeFix
The event never appears in DebugView or RealtimeThe tag did not fire, fired on the wrong measurement ID, or the browser blocked the request (ad blocker, tracking protection, a content security policy).Open the browser's network tab and look for a request to the Google Analytics collection endpoint when the event happens. If it is absent, test the trigger in your tag manager's preview mode. If it is present but blocked, test in a clean browser profile.
The event appears in DebugView but not in standard reportsStandard reports are processed with a delay, and the event may be a custom one that the report does not include.Wait for processing (it can take up to a day or more). To see custom parameters, register them as custom dimensions or metrics.
Only some visitors are counted, or the numbers are lower than expectedConsent is denied for some visitors so tags are limited or blocked, or visitors use browsers that block measurement scripts.Compare the share of visitors who accept consent with the drop. Check your consent setup is firing the tags once consent is granted.
Your own visits distort the numbers, or your tests do not appearAn internal traffic filter is active (hiding you) or not defined (counting you).Check the data filters in the admin settings. Use debug mode or a test property for experiments.
An event's parameters are blank in reportsThe parameter was never sent, was sent under a different name, or was not registered as a custom dimension.Look at the event in DebugView and compare parameter names exactly. Register the parameter under the right scope.
An event is counted twiceThe tag fires from two triggers, a single-page app pushes the event on every re-render, or two containers are installed.Check the preview mode for the tag firing twice, and search the page source for a second container or a hard-coded tag.
Conversions or revenue do not match the shop's own numbersDuplicates, missing transaction ids, refunds not sent, blocked visitors and time-zone differences.Send a unique transaction id with every purchase, compare totals for a short past period, and expect small differences rather than an exact match.

Frequently asked questions

How long until data appears in reports?

Realtime and DebugView show events within seconds to minutes. Standard reports and explorations are processed with a delay, and Google's documentation says how long to expect, so do not judge them in the first hour.

Why does GA4 show a different number from my server logs?

They measure different things. Logs see every request, including bots and visitors who block scripts. GA4 sees only the visits where its tag ran and consent allowed it.

References

From Grokem: https://www.grokem.com/data/data-analytics/tracking-audits-and-qa/ga4-tracking-audit/ga4-events-missing-checklist

How did this strike you?

Be the first to react – it is anonymous.

Comments (2)

  • Lucía F.

    DebugView shows my events but the standard reports stay empty. What am I missing?

    • Grokem Editorial

      DebugView shows events as they arrive; the standard reports are processed later and can take 24 to 48 hours to fill. If the events are still missing from reports after that, check that they are not filtered out by a data filter and that the event is marked as a key event where you expect it in the report.

Choose what we may use. You can change this at any time with “Privacy choices” at the foot of every page. Details are in the Cookie policy and the Privacy policy.

Strictly necessary

Remembers your theme, the lessons you marked as done and this choice. It stays on your device, tracks nothing and cannot be switched off.

Always on
What exactly is collected, and why

Grokem’s own counts

Collects
The pages you open and how long you stay, how far you scroll, where you came from, your device type, browser, screen size, language and time zone. Your IP address is turned into a code that changes every day; it is never stored as it is.
Why
To see how long lessons are read and where readers leave. Not shared with anyone.
Stored
A random visitor ID, a visit ID and the time of your last page view in your browser’s storage (gr_vid, gr_sid, gr_last). No name or email is attached.