Why Is GA4 Not Showing Data? A Practical Troubleshooting Guide for Realtime and Standard Reports
Learn why GA4 may show no data, how to tell whether the problem is tracking or reporting delay, and what to check first in Realtime, DebugView, tags, consent, and filters.
If GA4 is not showing data, the first question is not "what broke?"
It is "what kind of no-data problem am I looking at?"
Those are not the same thing.
Sometimes GA4 is collecting events correctly, but your standard reports have not processed yet. Sometimes Realtime works while acquisition reports stay empty. Sometimes the tag is missing on the landing page. And sometimes the data is there, but you are checking the wrong property, date range, or filtered view.
This guide walks through the fastest way to narrow it down without guessing.
Start by identifying the exact symptom
Before you change anything, figure out which of these situations you are in:
- Nothing shows in Realtime
- Realtime shows activity, but standard reports still look empty
- Only one report is empty, such as traffic sources or landing pages
- Only one environment or template is broken, such as a staging domain, checkout, or a specific landing page
That first split matters because each pattern points to a different root cause.
If Realtime is empty, the problem is usually implementation, consent, filtering, or simply no active traffic.
If Realtime works but standard reports do not, the issue may just be processing delay. Google documents that standard report freshness can take longer than Realtime and may vary depending on the report and property conditions.
If only one part of reporting is empty, you may be dealing with a configuration issue rather than a broken GA4 setup.
The fastest triage workflow
When GA4 appears blank, use this order:
- Confirm you are in the correct GA4 property.
- Generate your own test visit on the site.
- Check Reports → Realtime.
- If Realtime is unclear, check DebugView.
- Verify the GA4 tag is actually loading on the page.
- Check whether consent settings, filters, or date range are hiding the data.
This sequence helps you separate collection issues from reporting issues fast.
1. Make sure you are looking at the right property
This sounds obvious, but it is one of the most common causes.
It is very easy to:
- Open the wrong GA4 property
- Test on one domain while another domain is tagged
- Use a new Measurement ID on the site while checking an older property
- View a property that has little or no recent traffic
If you recently created GA4, double check the Measurement ID installed on the site matches the property you are inspecting.
If you need a full install walkthrough, start with our complete GA4 setup guide.
2. Check Realtime before standard reports
If you just changed your GA4 setup, Realtime is the quickest sanity check.
Open your site in a fresh browser window, visit a few pages, and then open Reports → Realtime in GA4.
If your visit appears there, that is a strong sign the property is receiving data.
If Realtime stays empty, you likely have one of these issues:
- The tag is not loading
- The tag is firing into the wrong property
- Consent is preventing analytics storage
- A filter is excluding your traffic
- You are testing a page template where the tag was never installed
If Realtime works but your normal reports still look blank, do not assume the setup is broken yet. Standard reports often take longer to populate than Realtime.
3. Use DebugView when you need event-level proof
If Realtime is inconsistent or too vague, DebugView is the next step.
DebugView lets you inspect events from a test device and confirm that they are reaching the correct GA4 property.
Use DebugView to answer questions like:
- Did the page view fire at all?
- Are events reaching the expected property?
- Are multiple tags firing?
- Is a consent or routing issue preventing the first page view from being recorded?
If Realtime and DebugView are both empty during a controlled test, the issue is usually on the implementation side, not in GA4 reporting.
4. Verify that the GA4 tag is actually present
A missing or broken tag is still the highest-probability cause of "GA4 shows no data."
Common reasons:
- The script was added to only some templates
- A Google Tag Manager container was changed but never published
- The Measurement ID is wrong
- The script loads too late or only after another script succeeds
- The site recently changed themes, layouts, or head injection settings
Use Tag Assistant or your browser dev tools to confirm the page loads the GA4 tag on the exact page you are testing.
Do not just test the homepage. Check the actual landing page a visitor would enter through.
This is especially important if your site has:
- Separate marketing and app domains
- Custom landing page builders
- Regional templates
- CMS pages that bypass the main layout
If users move across multiple domains and data disappears mid-journey, you may be dealing with cross-domain tracking issues rather than a basic tag failure.
5. Check whether consent is blocking analytics
If you use a cookie banner or Consent Mode, GA4 may appear blank because analytics storage is denied or delayed until after the initial page load.
This often creates confusing symptoms:
- Realtime shows nothing during your first test
- Only some visits appear
- Landing page attribution is incomplete
- Internal team tests behave differently from live traffic
If the tag is technically present but events are not being stored, review your consent flow carefully.
Questions to ask:
- Does GA4 load before the user grants consent?
- Does analytics begin only after an interaction?
- Is the first page view suppressed?
- Are different regions using different consent logic?
Consent issues can look like a reporting problem when they are really an implementation timing problem.
6. Look for filters or settings that exclude your traffic
Sometimes GA4 is receiving data, but your own test traffic is being filtered out.
Check whether you have:
- Internal traffic filters
- Developer traffic filters
- Environment-based exclusions
- Testing rules that only affect office IPs or preview domains
This matters most when you are using your own visit as the test case. If your IP or debug traffic is excluded, GA4 can look dead even though live visitors are still being tracked.
If you recently changed filters, confirm whether they are in testing mode or active mode and whether they apply to the traffic source you are using to validate setup.
7. Confirm the date range and report you are using make sense
Sometimes GA4 is not truly missing data. You are just looking in the wrong place.
Common examples:
- A custom date range excludes today
- You are checking an acquisition report too early
- You are expecting recent visits in a report that has not fully processed
- You are comparing a low-traffic property where there simply has not been a visit yet
This is why Realtime should come first.
If Realtime shows your test visit, the next question is not "is tracking broken?" It is "has the report I care about processed yet?"
Google's help docs on data freshness are worth checking when you suspect delay rather than data loss.
8. Check for site changes that quietly broke tracking
If GA4 used to work and suddenly stopped, look for what changed around the same time.
The usual culprits are:
- A redesign or theme change
- A new cookie banner
- A move from one domain or subdomain to another
- A GTM edit that removed or changed the tag
- A routing change that altered page rendering
- New redirect rules
This is where timeline matters.
If data stopped on a specific date, compare that date with deployments, tag changes, consent updates, and infrastructure changes. That is often faster than staring at reports.
9. If only some reports are wrong, narrow the problem by scope
When sessions appear but source, medium, campaign, or landing page dimensions look wrong, the issue is probably not "GA4 has no data."
It is more likely:
- Attribution data is incomplete
- Query parameters are being stripped
- Session context is not preserved
- You are comparing reports with different scopes
If your problem is less "nothing shows up" and more "traffic source reporting looks broken," use our guide to fix GA4 (not set) and Unassigned traffic.
A simple decision tree for GA4 no-data issues
Use this shortcut:
Realtime is empty
Start with:
- Correct property?
- Tag installed on the tested page?
- Consent blocking analytics?
- Filters excluding your traffic?
- Enough live traffic to expect activity?
Realtime works, standard reports do not
Start with:
- Wait for processing
- Check date range
- Check the specific report and dimension you expect
- Validate whether the issue is delay or an actual reporting gap
Only some pages or domains are affected
Start with:
- Missing tag on those templates
- GTM not published everywhere
- Domain or subdomain mismatch
- Cross-domain setup problems
Only attribution-style reports are wrong
Start with:
- UTMs
- Redirects
- Consent timing
- Source and medium classification issues
What "fixed" should look like
You do not need perfect reporting in every GA4 view immediately to know the setup is working again.
A healthy recovery usually looks like this:
- Realtime shows your controlled test visit
- DebugView shows expected events
- The correct property receives the events
- Standard reports begin filling in after processing time
- Your key traffic and page reports stabilize over the next day
That is enough to move from panic to monitoring.
Where BetterGA fits
GA4 is where the raw collection and debugging logic lives. You still need it for setup, validation, and troubleshooting.
But once tracking is working again, most teams do not want to keep checking six different GA4 reports just to answer simple questions.
BetterGA gives you a cleaner place to watch the numbers that matter day to day: sessions, traffic sources, top pages, countries, and realtime activity in one dashboard. That makes it easier to confirm whether your fix actually improved the reporting you care about, not just whether one obscure GA4 view finally populated.
Final takeaway
When GA4 is not showing data, do not start by changing random settings.
Start by splitting the problem correctly:
- No Realtime data
- Realtime works but reports lag
- Only certain pages or domains fail
- Only attribution-style reports look wrong
That one step removes most of the guesswork.
From there, check the correct property, validate the tag, test Realtime, inspect DebugView, review consent and filters, and only then decide whether you are looking at broken collection or normal reporting delay.
Once you know which one it is, the fix usually gets much simpler.
Keep the setup simple
Use BetterGA to check your numbers without fighting GA4.
Once your tracking is live, BetterGA gives you a cleaner view of your traffic, top pages, and growth trends without the usual Google Analytics clutter.