GA4 Realtime Is Not Showing Visitors: What to Check
An empty Realtime report is rarely a Google problem. Here are the four causes that explain almost every case, in the order that takes the least time to check.
On this page
GA4’s Realtime report covers active users from the last 30 minutes and nothing else, so an empty report has only four likely explanations: nobody is on your site right now, the tag never fired on the page being viewed, the visitor’s browser blocked it, or a consent banner stopped it before it could send anything. Those four causes cover almost every case, and you can tell them apart in about ten minutes using your own phone.
Work through them cheapest check first. Do not start by reinstalling the tag, because the single most common cause is a page that never loaded it, and adding a fresh tag on top of a cached page changes nothing at all.
What Realtime Actually Measures
Google documents the report as showing active users during the last 5 and 30 minutes, per minute. That window is narrower than most people assume. A reader who opened your article 45 minutes ago and is still scrolling through it may not appear at all, because the report is about recent activity rather than everyone currently on the site.
A few other limits are worth knowing. Report cards cap out at 700 rows and push the remainder into an “(other)” bucket, app data is batched to conserve battery so it arrives in clumps, and Google describes the whole service as best effort, prioritising timeliness over completeness. On a site with a few hundred visits a month, long stretches of zero are completely normal. Realtime is a smoke test, not a traffic report.
Test It With Your Own Visit
Before debugging anything, prove whether the pipe works. Open your site in a private browsing window on your phone using mobile data rather than your home wifi, so an internal traffic filter on your own IP address cannot quietly exclude you. Load two or three pages, then watch Realtime.
If you appear within a minute, tracking is fine and you simply had no visitors. If you do not appear, the problem is measurement, and the rest of this post applies. One thing to watch while testing on a phone: if your site routes mobile visitors somewhere else, you may be measuring a page you were not looking at, which is exactly how device based redirect rules in WordPress behave by design.
The Consent Banner In Front of Everything
If your cookie banner holds analytics back until someone clicks accept, then every visitor who scrolls past it without clicking is invisible to you. Google’s own DebugView documentation notes that events will not show up when privacy controls or consent settings are active and the visitor has not consented. Plenty of people never click anything, so this alone can hide most of an audience.
The fix is to configure consent properly so measurement resumes the moment someone accepts, not to quietly remove the banner. It is also worth asking whether you need that banner for analytics at all: a cookieless, GDPR-friendly tool sets no analytics cookie, so there is nothing to ask permission for on the analytics side. We covered where the line sits in do I need a cookie banner just for analytics.
Ad Blockers and Privacy Browsers
Ad blockers and privacy-focused browsers block requests to Google’s collection domains outright. The script never loads, the event never leaves the browser, and Realtime shows nothing, even though a real person is reading a real page. If you run a blocker yourself, your own test visit will vanish too, which sends people down a long debugging path for no reason.
Test in a clean browser with extensions disabled before concluding anything. This blind spot is not unique to page views either: the same blocking removes outbound click tracking, which is why ad blockers break click tracking on affiliate and outbound links.
The Wrong Measurement ID, or Two Tags
View the page source and search for “G-”. Compare what you find with the measurement ID listed under Admin and Data Streams in GA4. A mismatch of one character sends every event to a different property, which looks exactly like no data at all.
Duplicate tags are the other half of this problem. A theme option, a plugin setting and a Google Tag Manager container can each add their own tag, and sites often end up with two, pointing at two different properties. While you are there, confirm the container was actually published, since an unpublished workspace change is a common cause of a tag that exists everywhere except on the live site.
A Cached Page That Never Had the Tag
Caching is the most WordPress-specific cause on this list. Your cache plugin may still be serving HTML generated before the tag was added, so the visitor gets a page with no tracking code in it. Minify and combine settings can break the script separately, and script-deferring features sometimes hold it until an interaction that never happens.
Purge every cache layer you run, including any CDN, then retest in a private window. To confirm the tag is firing rather than guessing from a report, enable debug mode and watch DebugView, which lists events as they arrive from your device.
When the Tag Works and the Numbers Still Look Wrong
Sometimes Realtime sits at zero while your server logs look busy, and both are telling the truth. Most automated traffic never runs JavaScript, so it never reaches a browser tag, and GA4’s own filtering only removes known bots from the IAB list. On a small store we run, 30 days brought 11 human visitors against roughly 2,770 bot hits, which is a very loud server log attached to a very quiet Realtime report.
The deeper issue is that browser-based tracking will always miss some real people too. Measuring server side, through a first-party endpoint, catches requests a tag cannot see and lets each one be checked against signals like whether it reports a real browser, operating system and device. DevDome Analytics works that way: cookieless by default, a live visitor view with bots split out rather than blended in, and clicks captured server side so a blocker cannot remove them. If your Realtime report has been misleading you in the other direction, why Google Analytics shows too many visitors covers the inflation side, and we put the two tools side by side in DevDome vs Google Analytics 4.
Disclosure: DevDome publishes this blog and makes the products it mentions. We describe what they do rather than promise results.
Key takeaways
- Realtime only covers active users in the last 5 and 30 minutes, so a quiet site can legitimately show zero.
- Test with your own visit first: if you appear, tracking works and you simply had no traffic.
- Consent banners and ad blockers stop the tag before it ever sends data.
- A wrong measurement ID, a duplicate tag or a cached page are the usual technical causes.
- Browser-based tracking will always miss some people, so treat Realtime as a smoke test, not a traffic report.
Sources
- Google Analytics Help: Realtime report — active users in the last 5 and 30 minutes, row limits and best effort delivery
- Google Analytics Help: DebugView — how to enable debug mode, and why consent settings can keep events out of it
- Google Analytics Help: bot filtering — GA4 excludes known bots and spiders on the IAB/ABC list, by default
Links last checked August 12, 2026.
Frequently asked questions
How long does GA4 take to show a visit in Realtime?
Usually seconds. Google describes Realtime as a best effort service that prioritises timeliness, showing active users across the last 5 and 30 minutes. If your own test visit has not appeared within a minute or two, assume something is stopping the tag rather than waiting longer. App data is batched to save battery, so mobile app traffic can lag by minutes.
Why does Realtime show visitors but my standard reports are empty?
Standard reports are processed separately and can take up to 24 to 48 hours to fill in for a new property, so a fresh install often shows live activity and empty reports at the same time. If Realtime is working, your tag is working, and the fix is usually patience rather than reinstalling anything.
Does my cookie banner stop GA4 from counting people?
It can. If your banner blocks analytics until someone clicks accept, everyone who ignores it is invisible, and Google notes that events do not appear in debugging tools when consent has not been granted. The answer is to configure consent properly, or to use a cookieless tool that does not need an analytics cookie in the first place.
Can I test GA4 without waiting for real visitors?
Yes. Enable debug mode and open DebugView, which shows the events Analytics receives from your device in near real time. It is the fastest way to prove a tag is firing, because it tells you what arrived rather than what a report has decided to display.