Skip to main content

Why Your Google Analytics and Services Dashboard (Umami) Numbers Don't Match (And Why That's Okay)

If you're one of the clients we're migrating from Google Analytics to Umami, you've probably noticed something: the two dashboards don't agree. Usually, Umami shows more visitors than Google Analytics. That’s normal behavior, and here's why.

Written by Kylie Johnson

First Reason: Ad Blockers

Nearly a third of internet users worldwide now run some kind of ad blocker.[1] Popular tools like uBlock Origin and Brave's built-in shields specifically target Google's tracking scripts by name — so anyone using them is completely invisible to Google Analytics. Their visit simply never gets counted.

Umami, which we host on your own domain, doesn't get caught by these filters because it isn't recognized as a third-party Google service. It quietly counts visits that Google Analytics never sees.

This effect is bigger for some audiences than others. Sites that attract tech-savvy visitors can lose 40-60% of their traffic to ad blockers; general consumer sites tend to lose closer to 5-15%.

Second Reason: Cookie Consent

If your directory serves visitors in Europe, Google Analytics can't track anyone until they click "Accept" on a cookie banner. Visitors who click "Reject," ignore the banner, or just scroll past it never get counted — and in the EU, that can be more than half of all real visitors.[2]

Although Europe led the way for cookie consent and privacy laws, roughly 20 US states have adopted similar measures, meaning a portion of traffic from those states will be similarly invisible to Google Analytics.

Umami doesn't use cookies and doesn't collect personal information, so it doesn't need consent to count a visit. It sees everyone. We picked Umami carefully for its heavy emphasis on keeping users anonymous.

"Users" Doesn't Mean the Same Thing in Both Tools

Even when both tools capture the same visitor, they may not agree on whether to count them.

Google Analytics' main "Users" metric actually refers to Active Users — people who stayed for at least 10 seconds, viewed two or more pages, or completed a specific action. Someone who reads your page for 8 seconds and leaves doesn't count, even though Google technically recorded them.

Umami counts everyone who loads a page, full stop. That's a much closer match to Google's "Total Users" metric — which is buried deeper in the reports, and rarely the number people look at first.

We like Google’s approach to measuring user engagement incidentally and are working on our own similar metrics that match our particular users, app, and known behaviors.

A Few More Small Factors

  • Google's privacy thresholds: When certain Google Analytics features are turned on, Google automatically hides small groups of visitors from reports to protect their privacy. Umami doesn't do this.

  • Sampling: For very large datasets, Google Analytics sometimes reports on a sample of visits rather than all of them. Umami always reports every single visit.

  • Bot filtering: Both tools try to filter out non-human traffic, but they use different methods, so small differences can show up in either direction.

Key Takeaways

  • Every analytics tracker gets slightly different numbers.

  • Because Google Analytics is blocked so much, Umami tends to catch people and visits that Google misses.

  • Umami is more privacy focused than Google, which is partly why it can identify more users and visits than Google.

  • A difference of up to 50% between the numbers is to be expected, depending on whether your core audience is using ad blockers, or refusing consent to be tracked.


Sources

  1. Ad blocker usage statistics, 2026 industry data.

  2. GDPR/ePrivacy cookie consent rate studies, European market data, 2026.

  3. Google Analytics 4 Help Center: Active Users, Total Users, Data Sampling, and Data Thresholding documentation.

  4. Umami documentation: privacy-first tracking methodology and self-hosted deployment guides.

  5. IAB/ABC International Spiders and Bots List; Google Analytics bot filtering documentation.

Did this answer your question?