You open Google Analytics 4, and the numbers do not make sense. Traffic shows zero, or double what it should be, or a mountain of “direct” visitors you cannot explain. Your first instinct might be that GA4 is broken. Usually, it is not broken. It is faithfully reporting exactly what it was told to measure, and what it was told is wrong.
This guide walks you through the most common GA4 tracking problems, organized by symptom so you can match what you see to its likely cause. For each one: what is happening, why it happens, and how to check it. Written for business owners, with the technical steps kept as simple as possible.
Before You Panic: Two Things That Are Not Problems
Data takes time to appear. GA4 standard reports can take 24 to 48 hours to process new data. If you installed tracking yesterday and see nothing today, wait. Check the Realtime report instead (it shows activity within the last 30 minutes). If Realtime shows visitors but standard reports show nothing, your tracking is fine; the reports just need time.
Sometimes it really is Google’s fault. In September 2026, a Google-side reporting issue caused GA4 standard reports to show no traffic for September 1 across a huge number of accounts, while Realtime reports worked normally. Google acknowledged the problem. So if your Realtime report shows visitors but your standard reports show zero for a specific recent day, check whether Google has reported an issue before you start rebuilding your setup.
If neither of those explains it, work through the symptoms below.
Symptom 1: GA4 Shows No Data At All
The Realtime report shows zero users even while you browse your own site. Nothing is being collected.
Likely causes, in order of probability:
-
The tracking code is missing or on the wrong pages. The most common cause on simple websites: the GA4 snippet was added to the homepage template but not to every page, or a redesign dropped it entirely. On WordPress sites, a caching plugin can also strip or delay the snippet.
-
Wrong Measurement ID. Every GA4 property has a unique Measurement ID (it looks like G-XXXXXXXXXX). If even one character is wrong, or curly “smart quotes” got pasted in from a document, Google’s servers silently discard every hit. Compare the ID in your site’s code, character by character, with the one shown in GA4 under Admin, then Data Streams.
-
The tag is installed twice in conflicting ways. If you added the Measurement ID both directly in your site’s code and inside Google Tag Manager, or in two different plugins, the tags can interfere with each other. Pick one installation method.
-
A consent banner is blocking the tag. If your site shows a cookie consent banner (increasingly a legal requirement), GA4 may not fire until the visitor accepts. That is correct behavior, but it means your own testing will show nothing until you accept the banner too.
-
Your ad blocker is blocking your own test. Many ad blockers block Google Analytics entirely. When testing, use an incognito window with extensions disabled, or check from a different browser.
How to check: Install Google’s free Tag Assistant extension, or open your site in an incognito window and watch the Realtime report in GA4 while you browse. If Realtime lights up, data is flowing.
Symptom 2: Traffic Suddenly Dropped Off a Cliff
Everything was fine, then numbers fell sharply on a specific date.
The usual suspect: a cookie consent banner was added. This is one of the most common and most misunderstood causes. When a consent banner goes live, visitors who decline tracking consent stop being measured the way they were before. Their sessions get bucketed into “direct” traffic or drop out of the dataset, depending on configuration. The result looks like an organic traffic collapse paired with a mysterious direct traffic surge. The traffic was fine; the measurement changed. (Documented in a 2026 case study by madfishdigital.com, where a client’s “traffic drop” turned out to be entirely a consent measurement gap.)
Other date-specific causes: a website redesign that dropped the tracking code, a plugin update that broke the integration, or a developer change that moved the snippet. Always ask: what changed on the site around the date the numbers changed?
How to check: Compare the drop date against your site’s change history (plugin updates, redesigns, new banners). If a consent banner launched that week, you have your answer. The fix is proper consent-mode configuration, which preserves modeled data for declined visitors rather than losing them entirely.
Symptom 3: Every Number Is Roughly Double What It Should Be
Pageviews are almost exactly twice your expected traffic. Conversions, too.
The cause: duplicate tracking. The same Measurement ID is firing twice on every page load. The classic version: the ID was entered both directly in the site (or a plugin) and inside Google Tag Manager. Each pageview gets counted twice, silently, and every metric inflates.
How to check: View your page source (Ctrl+U in most browsers) and search for “G-“. If your Measurement ID appears twice, or you see both a gtag snippet and a GTM container loading GA4, you have duplicates. Remove one. Note that historical data corrupted by double tracking cannot be fixed retroactively; you can only stop it going forward.
Symptom 4: Direct Traffic Is Suspiciously High
A huge share of visits shows as “Direct,” and you know most of those people did not type your URL from memory.
What “Direct” really means: GA4 labels traffic “Direct” when it cannot determine a source. It is the system’s way of saying “I do not know where this person came from.” Legitimate direct visits exist, but inflated Direct almost always means untagged links.
Common culprits: email newsletter links without UTM parameters, social media bio links, QR codes, PDF downloads, links shared in messaging apps, and redirects that strip campaign data. Every link you control should carry UTM tags (for example, ?utm_source=email&utm_medium=newsletter&utm_campaign=monthly_tip) so GA4 can attribute the visit correctly.
How to check: List every place you share links (email, social bios, QR codes on packaging, PDFs) and check whether they carry consistent UTM parameters. Inconsistent naming (instagram vs ig vs Instagram) splits reports into a mess, so pick one naming convention and stick to it. (UTM discipline framework via managednerds.com.)
Symptom 5: The Same Page Appears Multiple Times in Reports
One page shows up as three or four separate rows, each with a fraction of its real traffic.
The cause: URL parameters. When links carry tracking parameters (UTM tags, fbclid from Facebook, gclid from Google Ads), GA4 records each unique URL as a separate page. A page with 800 real visits can appear as several rows of 200.
How to check: Look at the page paths in your reports. If you see the same page with different query strings attached, parameters are the cause. The fix is to exclude unwanted query parameters in your GA4 settings so traffic consolidates under the clean URL going forward.
Symptom 6: Numbers Are Slightly Higher Than Reality
Traffic looks a bit too good, especially on low-traffic sites, and engagement seems oddly low.
The cause: your own visits are being counted. Every time you, your team, or your developer opens the site, GA4 counts it. On a site with modest traffic, a handful of daily internal visits meaningfully inflates the numbers.
How to check and fix: In GA4, go to Admin, then Data Streams, then Configure Tag Settings, and define your office IP address as internal traffic. Then activate the internal traffic filter under Data Settings, then Data Filters. Your visits will be excluded from reports going forward.
Symptom 7: Conversions Are Not Being Recorded
Traffic looks right, but form submissions, purchases, or calls show zero.
Likely causes:
- The event is tracked but not marked as a key event. In GA4, tracking an event and counting it as a conversion are two separate steps. If nobody marked the event as a key event, it will appear in event reports but never in conversion reports.
- The event is not firing at all. The trigger is misconfigured in Tag Manager, or the form uses a method (like AJAX submission without a page reload) that the tag was not built to catch.
- You are looking in the wrong place. After Google’s terminology changes, “conversions” in older tutorials usually means “key events” in current GA4. Make sure you are reading the current report names.
How to check: Use GA4’s DebugView (under Admin) while submitting a test form on your site. If the event appears in DebugView but not in conversion reports, it needs to be marked as a key event. If it never appears, the trigger is broken.
Quick Diagnostic Table
| What you see | Check first |
|---|---|
| No data at all, Realtime empty | Tracking code present on all pages; Measurement ID correct |
| Traffic dropped on a specific date | What changed that day: consent banner, redesign, plugin update |
| Numbers roughly doubled | Duplicate tag (snippet + GTM, or two plugins) |
| Huge unexplained Direct traffic | UTM tags missing on email, social, QR, and PDF links |
| Same page listed multiple times | URL parameters splitting the page rows |
| Numbers slightly too high | Internal traffic filter not set up |
| Zero conversions but traffic is fine | Event not marked as a key event; trigger misconfigured |
| One specific day shows zero, Realtime worked | Possible Google-side reporting issue; check official status |
The Deeper Problem: GA4 Can Accurately Report Inaccurate Data
One insight worth internalizing: GA4 does exactly what it is configured to do. If the configuration is wrong, it will faithfully report the wrong answer with complete confidence. More events tracked does not mean better data; a business tracking a hundred events without knowing which ones matter has a measurement strategy problem, not a data problem.
The fix is to configure GA4 around business objectives: define the handful of key events that represent real business outcomes (enquiries, bookings, purchases, qualified calls), make sure those are accurate, and treat everything else as supporting detail.
When to Get Professional Help
You can fix missing tags, UTM discipline, and internal filters yourself with the steps above. Call in help when: duplicate tracking has corrupted months of data and you need a clean rebuild, consent-mode configuration is beyond your comfort zone, conversion tracking involves custom development, or you simply do not trust any of the numbers and need an independent verification. Bad data is worse than no data, because bad data leads to confident wrong decisions.
Frequently Asked Questions About GA4 Tracking Problems
Why is GA4 not tracking any visitors?
The most common causes are a missing or broken tracking code, a wrong Measurement ID, the tag installed twice in conflicting ways, a consent banner blocking the tag before acceptance, or your own ad blocker interfering with testing. Check the Realtime report in an incognito window first.
Why did my GA4 traffic suddenly drop?
Check what changed on your site around the drop date. The most common cause is a newly added cookie consent banner changing what GA4 can measure. Redesigns, plugin updates, and broken integrations are the other usual suspects.
Why is my GA4 showing double the traffic?
Almost certainly duplicate tracking: the same Measurement ID firing twice per page, typically once via a direct snippet or plugin and once via Google Tag Manager. Remove one installation.
Why is direct traffic so high in GA4?
GA4 labels traffic “Direct” when it cannot determine the source. Untagged email links, social bios, QR codes, PDFs, and messaging-app shares all land here. Add consistent UTM parameters to every link you control.
Why are my GA4 conversions showing zero?
Either the event is not firing (broken trigger) or it is firing but was never marked as a key event. Use DebugView to see which one it is.
Can GA4 data be wrong even when setup looks fine?
Yes. Consent choices, ad blockers, and privacy restrictions mean some visitor data is always estimated or missing. And occasionally Google itself has reporting issues, as happened in September 2026. Treat GA4 as directionally reliable rather than exact to the last visitor.
Key Takeaways
When GA4 data looks wrong, diagnose by symptom: no data means a broken or blocked tag, doubled data means duplicate tagging, inflated Direct means missing UTMs, a sudden drop usually traces to a site change like a new consent banner, and missing conversions usually mean an event was never marked as a key event. Rule out the two non-problems first (processing delay and the occasional Google-side issue), fix what you can with the steps above, and remember the deeper lesson: GA4 reports exactly what it is configured to measure, so the configuration deserves the same care as the marketing decisions built on top of it.
If you would like your tracking verified by someone who does this every day, SWAF Digital’s SEO audit includes a tracking accuracy review: tag installation, duplicate detection, key event configuration, and UTM hygiene, so the numbers you make decisions on are numbers you can trust. SWAF Digital’s technical SEO services cover the tracking setup and configuration checks behind clean analytics data.
About the author: Muhammad Abbas is co-founder of SWAF Digital and a Google Ads and web infrastructure specialist, covering advertising platforms, hosting, and servers.