← All posts
Analytics

Why your GA4 numbers are lying to you (and the cheap fix)

When a client shows me their Google Analytics and says 'my traffic is down,' my first question is when they last audited their tracking. GA4 in 2026 is undercounting — sometimes by 30-40%.

March 22, 2026·6 min read·By Carey Davis

Quick behind-the-scenes one. When a client shows me their Google Analytics and says "my traffic is down," my first question is not about marketing or SEO. It is: when did you last audit your tracking?

Because GA4 in 2026 is undercounting. Sometimes by a little. Sometimes by 30-40%. And almost nobody is checking.

40%
Of sessions stripped of client-side tags in some markets
60%
True traffic relative to what GA4 shows
3
Fixes, ranked from free to advanced
$0
Cost of the simplest fix

What is happening under the hood

GA4 by default uses client-side JavaScript tracking. That JavaScript is loaded by the visitor's browser, runs in the browser, and sends a data ping back to Google.

Two things have been quietly killing that signal.

Ad blockers

Browser extensions that block ads typically also block analytics. uBlock Origin, AdBlock Plus, Brave's built-in shield, Firefox's Enhanced Tracking Protection — all of them block GA4 by default. Estimated ad blocker usage in the US is 35-45% of internet users in 2026, depending on age and tech-savviness of the audience.

Those visitors are real. They show up. They convert. GA4 just does not see them.

Safari ITP

Apple's Intelligent Tracking Prevention strips third-party cookies and shortens first-party cookie lifetimes aggressively. For Safari users (about 18% of US web traffic, much higher on iOS), GA4 either misses the visit entirely or attributes it incorrectly.

Ad blockers combined with Safari's ITP now strip client-side tags from around 40% of sessions in some US markets.
Server-side tracking research, early 2026

For a typical OC small business with a mostly-mobile audience, the actual undercount is usually 20-35%. For a tech-savvy audience, it can hit 50%.

What this actually means for your numbers

The math is straightforward, but rarely run.

If your GA4 shows 100,000 sessions, your real traffic is probably closer to 130,000 to 160,000.

That sounds good — more visitors than you thought! — but it has nasty downstream effects.

  1. 1
    Conversion rate looks better than it is

    Same conversions, smaller denominator. A real 2% conversion rate looks like 2.6% in GA4. Decisions based on "we are doing great" are built on inflated math.

  2. 2
    Attribution is wrong

    The lost sessions are not random. They skew toward Safari, mobile, and tech-savvy users — different demographics than the captured ones. So GA4's view of where customers come from is systematically biased.

  3. 3
    Ad spend decisions are off by 30-40%

    Cost-per-acquisition calculations use GA4 sessions in the denominator. If sessions are undercounted by 30%, your CPA is overstated by 30%, which makes ads look more expensive than they are. Owners cut campaigns that were actually working.

  4. 4
    Trends look flat or declining when they aren't

    Ad blocker adoption keeps growing. So GA4's gap with reality keeps widening. A flat GA4 line is often a real growth line being eroded by tracking loss.

Three fixes, ranked by cost

The good news: every level of fix is doable. Pick the one that matches the stakes.

Fix 1: enable Google Consent Mode v2 (free)

Consent Mode v2 lets GA4 model behavioral data from non-consented users. It does not recover the actual visit data, but it estimates the missing piece using machine learning trained on your historical data.

Setup time: about an hour, depending on your CMS. The result: your GA4 numbers shift up by roughly 10-20% as the modeled data fills in some of the gap. Free, fast, works for most small business sites.

Fix 2: server-side Google Tag Manager (mid)

This is the real fix. Move your GA4 tracking from client-side (browser) to server-side (your own subdomain serving the analytics endpoint). Ad blockers cannot block what looks like a first-party request to your own domain.

Setup time: roughly a day for a developer who has done it before, two days otherwise. Costs: about $5-20/month for the server-side infrastructure (Google Cloud Platform). Expect 30-50% recovery of lost sessions, which is most of the gap.

This is what I would recommend for any business making decisions worth more than a few thousand dollars based on the analytics.

Fix 3: parallel cookieless analytics (advanced)

Add a second analytics tool that does not rely on cookies at all. Plausible, Fathom, Simple Analytics, or Cloudflare Web Analytics. They use IP-based session estimation, are not blocked by ad blockers, are GDPR-compliant by default.

The point is not to replace GA4 — it is to have a second data stream you can compare against. When the two disagree, the true number is usually somewhere in between, and the gap tells you how much GA4 is missing.

Setup time: 30 minutes to add the script. Costs: $9-19/month for most services.

$5-20/mo
Cost of server-side tagging — by far the highest-impact fix
GCP server-side GTM hosting estimates, 2026

How to know if you actually need this

Not every business needs server-side tracking. The question is: how much does your decision-making depend on GA4 numbers?

You probably do not need this if:

  • Your decisions are mostly based on phone calls and form fills tracked separately
  • Your GA4 is mostly used to sanity-check trends, not for hard math
  • You are a small local business with mostly returning customers from word of mouth

You probably do need this if:

  • You are spending money on ads and calculating CPA from GA4
  • You are deciding whether to hire, pivot, or kill a channel based on GA4 data
  • You publish content and use GA4 to decide what to write next
  • Your business sells online and conversion rate decisions matter

The cost of tracking accurately is small. The cost of decisions made on 60% of the truth is rarely small.

What to do this week

If you have not touched your tracking setup in 18 months, it is worth a 30-minute audit.

  1. 1
    Pull the last 90 days of GA4 sessions

    Compare to the same period last year. If the line is flat or down, you may be looking at tracking loss, not real decline.

  2. 2
    Cross-reference with one independent source

    Server logs (raw traffic), GBP insights (search impressions), or any cookieless analytics tool. If those numbers are growing while GA4 is flat, GA4 is the problem.

  3. 3
    Decide which fix matches the stakes

    Free Consent Mode v2 is universal. Server-side tagging if decisions matter. Cookieless parallel for triangulation.