Quick answer: If GA4 events are not showing in reports, first confirm the tag fires in GTM Preview and DebugView, then check the usual blockers: processing delay (24 to 48 hours), wrong Measurement ID, data filters, Modify event rules, thresholding, unregistered custom parameters, consent settings and ad blockers. The 11 steps below find the cause in about 30 minutes.
This is one of the most common Google Analytics 4 and Google Tag Manager problems: the tag looks fine, but the numbers never appear. Work through the steps in order. Most issues are solved by Step 6.
In this guide: Before you start | 11 steps | Symptom table | FAQ
Before you start: know the timing
- Realtime and DebugView: update within minutes. They prove the tag fires, not that reports are correct.
- Standard reports and Explorations: allow 24 to 48 hours for new events.
- Custom dimensions: can take up to 48 hours and are not retroactive.
- Key events: not retroactive. Counting starts when you mark the event.
The 11-step fix
Step 1: Confirm the tag fires in GTM Preview
In Google Tag Manager click Preview, enter your site URL and perform the action (submit the form, click the button). In the Tag Assistant panel, your GA4 event tag should show under Tags Fired. If it shows under Tags Not Fired, the problem is your trigger, not GA4. Fix the trigger conditions and preview again.
Step 2: Check Realtime and DebugView
In GA4 open Reports > Realtime, and Admin > Data display > DebugView. Your event should appear within minutes while Preview mode is on. If it does not, the hit never reached GA4. Continue to Step 3, then Steps 9 and 10.
Step 3: Verify the Measurement ID
In GA4 go to Admin > Data streams, open your web stream and copy the Measurement ID (it starts with G-). Compare it character by character with the ID in your GTM Google tag. A wrong property is a common cause when several sites or test properties exist.
Step 4: Wait for processing and check the date range
If DebugView shows the event, allow 24 to 48 hours before judging standard reports. Then check the date picker in the top right. Also look at Reports > Engagement > Events, or build an Exploration with Event name as the dimension and Event count as the metric. The Admin events list can lag for days, so don't rely on it.
Step 5: Review data filters and internal traffic rules
Go to Admin > Data settings > Data filters. If an Internal or Developer filter is Active, it can exclude your own test events. Then open Admin > Data streams, select your stream, choose Configure tag settings > Show all > Define internal traffic and check whether a rule matches your IP address. Test from a different network, or temporarily set the filter to Testing.
Step 6: Check Modify event rules
Open Admin > Events > Modify event and read each rule. A rule can rename an event or parameter, or change its value, so the data exists but under a different name. If a rule renames a parameter, register the new name as a custom dimension (Step 8).
Step 7: Rule out data thresholding
At the top of a report, look for a status icon. If an orange exclamation mark mentions thresholding, GA4 is hiding small rows. Remove demographic dimensions such as age or gender and the data usually returns.
Step 8: Register custom parameters and check event names
Parameters you send (for example form_name) will not appear in reports until you register them in Admin > Custom definitions. Registration is not retroactive and can take up to 48 hours. Also keep event names under 40 characters. Long names are not collected correctly and old data cannot be restored.
Step 9: Disable blockers and check Content Security Policy
Turn off ad and content blockers (Ghostery, AdGuard, AdBlock Plus) one at a time and retest. Then open browser DevTools > Console and look for refused-connection errors mentioning google-analytics.com. If found, ask your developer to allow *.google-analytics.com and *.analytics.google.com in the Content Security Policy.
Step 10: Check Consent Mode and the ga-disable flag
If analytics_storage is denied by your consent banner, events may not appear in DebugView or reports. Test after accepting cookies. Also view your page source and search for ga-disable. A line such as window['ga-disable-G-XXXXXXX'] = true turns tracking off and must be removed.
Step 11: Mark the event as a key event
Conversions are now called key events. In GA4 mark the event as a key event under the Events section, or add its exact name manually if it has not appeared in the list yet. You need Marketer access or higher on the property. Key events are not retroactive, so only data collected after marking is counted. Then allow up to 48 hours for reports to update.
Quick symptom table
| Symptom | Likely cause | Go to |
|---|---|---|
| Tag not fired in Preview | Trigger conditions | Step 1 |
| Nothing in DebugView | Wrong ID, blocker, CSP, consent | Steps 3, 9, 10 |
| In DebugView, not in reports | Processing delay, filters, rules | Steps 4 to 6 |
| Rows missing or hidden | Data thresholding | Step 7 |
| Parameter shows (not set) | Not registered as custom dimension | Step 8 |
| Key event count is zero | Marked recently, not retroactive | Step 11 |
Frequently asked questions
How long does it take for GA4 events to show in reports?
Realtime and DebugView update within minutes, but standard reports and Explorations can take 24 to 48 hours. If an event is still missing after two days, work through the checklist.
Why does my event show in DebugView but not in reports?
DebugView only confirms the tag fires. Missing report data is usually caused by processing delay, data filters, thresholding, a wrong date range or a Modify event rule.
Are GA4 conversions now called key events?
Yes. Google renamed conversions to key events in GA4. You mark an event as a key event, and the setting is not retroactive.
Why are my custom parameters not showing in GA4 reports?
Custom parameters must be registered as custom dimensions under Admin, Custom definitions. They can take up to 48 hours to populate and do not apply to data collected before registration.
Can an ad blocker stop GA4 from tracking events?
Yes. Ad and content blockers can block requests to Google Analytics. Disable extensions one at a time and retest to find the cause.
Final thoughts
Start with the tag (Steps 1 to 3), then the settings that hide data (Steps 4 to 8), then the browser-level blockers (Steps 9 and 10). Once the event flows, mark it as a key event and give reports 48 hours to catch up.
Stuck on a specific GTM trigger or GA4 setup? Describe it in the comments and it may become the next step-by-step post.