It's normal — even healthy — for Zenovay's visitor count to differ from Google Analytics by 5-30%. The two tools count different things, exclude different traffic, and survive ad blockers differently. This article breaks down the five biggest reasons.
1. Ad blockers eat GA, but often not Zenovay
uBlock Origin, AdGuard, Brave Shields, and most major ad blockers ship with default rules that block google-analytics.com and www.googletagmanager.com. Privacy-focused browsers actively encourage this.
Zenovay loads from api.zenovay.com, which is not on those default block lists. As a result, Zenovay typically captures 5-25% more visitors than GA on tech-savvy or privacy-conscious audiences (developer blogs, EU sites, B2B SaaS).
If you compare on a site visited mostly by general consumers in low-blocker regions, the gap shrinks.
2. Definitions of "visitor" are different
| Tool | "Unique visitor" means |
|---|---|
| Zenovay (cookieless) | A daily-rotating salted hash of IP-subnet + User-Agent. The same person visiting twice in the same day = 1 visitor; visiting on consecutive days = 2 visitors. |
| GA4 | A _ga cookie that persists for ~13 months. The same person across multiple days = 1 visitor. |
This means GA's daily count tends to be lower because it deduplicates returning visitors more aggressively across days. Over a 30-day window, the gap usually closes.
3. Bot and scraper filtering
Both tools filter known bots, but with different lists:
- Zenovay uses an in-house list plus the IAB/ABC International Spiders and Bots List. We aggressively drop traffic from data centers, cloud providers, and headless-browser fingerprints.
- GA4 uses Google's own bot list. It generally catches more aggressive crawlers (because Google sees them across the entire web) but sometimes lets through vibe-coding scrapers.
Result: numbers can differ by 1-5% just from bot exclusion alone.
4. GPC and DNT honoring
Zenovay drops every visit where the browser sends Sec-GPC: 1 (Brave, Firefox-with-GPC-on, DuckDuckGo). GA4's behaviour depends on your Consent Mode setup — by default it still records the visit but anonymizes it.
If your audience is privacy-conscious, this can account for 2-10% of the gap.
5. Page-tagging completeness
GA's measurement only fires when its tag fires. Single-page apps, soft navigations, and pages where GA failed to load (CDN issue, network error) all silently drop. Zenovay's tracker has the same constraint, but the script is smaller and loads earlier on most templates — so its tag-fire rate is typically higher.
Which one should I trust?
Neither is "the truth" — both are statistical approximations of real visitors. The right answer depends on what you need:
- For comparing trends week-over-week — pick one tool and stick with it. Both will move in the same direction.
- For ad-budget reconciliation — match the tool your ad platform uses (GA4 typically, sometimes Meta Conversions API).
- For accurate visitor counts on privacy-aware audiences — Zenovay is closer to ground truth.
- For cross-device user identity (logged-in users) — GA4 has stronger cross-device modeling, Zenovay needs the identified-users API.
Cross-checking the gap
If you want to validate the discrepancy, look at three things:
- Server logs — your real raw traffic count. Both tools should be lower (they exclude bots, GPC, and tag-fire failures), but the order of magnitude should match.
- Cloudflare Analytics — if you're behind Cloudflare, their analytics tab shows pre-tag counts.
- A specific high-traffic page — pick one URL and compare it across both tools for a single day. Big sources of variance (UTM cleaning, internal traffic exclusion) often surface there.