You check GA4 every morning. Traffic is stable. Conversion rate is holding. Things look fine.
But "fine" is based on a number that's missing 30-40% of your actual visitors. And you can't optimize what you can't see.
Where the missing sessions go#
GA4 counts a session when its JavaScript executes and a cookie gets set. Three things prevent that from happening, and all three are getting worse.
Cookie consent rejection#
Under GDPR, analytics cookies require explicit opt-in. The visitor has to click "Accept" before GA4 can start tracking. In the EU, rejection rates typically fall between 30% and 60% depending on how your consent banner is designed, your audience, and the country.
Those visitors still browse your site. They still add items to their cart. They still bounce from pages that aren't working. You just don't have any data about any of it.
And there's a bias problem: the visitors who reject cookies aren't a random sample. They tend to skew toward privacy-conscious, technically literate users. Your data is systematically biased toward the subset of visitors who don't mind being tracked — which may not represent your full customer base.
Ad blockers and privacy browsers#
uBlock Origin, Brave, Firefox with Enhanced Tracking Protection, and Safari's Intelligent Tracking Prevention all interfere with analytics cookies in different ways. Safari caps first-party cookie lifetime to 7 days. Firefox blocks known tracking scripts. Brave blocks them by default.
Roughly 25-40% of European tech-savvy audiences use some form of blocking. For certain segments — developers, designers, younger demographics — it's higher.
Script loading failures#
This one gets overlooked. GA4's tracking script needs to load from Google's CDN, then execute, then set a cookie, then fire events. On slow mobile connections, during CDN issues, or when a user navigates away quickly, the script fails silently. These aren't edge cases — they're especially common on mobile, which is likely your largest traffic source.
The math nobody wants to do#
Take a site with 100,000 monthly sessions in GA4.
If GA4 is capturing 65% of real traffic (a conservative estimate for EU e-commerce), your actual traffic is closer to 154,000 sessions. That's 54,000 sessions every month where you have no click data, no funnel progression, no indication of what's working or breaking.
Now apply your conversion rate. If you convert at 2.5% with an average order value of €80:
- What GA4 shows you: 100,000 × 2.5% × €80 = €200,000/month
- What's actually happening: 154,000 sessions generating revenue you can't attribute or optimize
The invisible sessions aren't zero-value. They're converting too — you just can't see which pages convinced them, where they hesitated, or which ones bounced. You're flying blind on a third of your revenue.
See your real traffic numbers
Run Grain alongside GA4 for a week. Most teams see 30-60% more sessions immediately — the traffic that cookie consent, ad blockers, and script failures have been hiding.
Why this isn't just a "data quality" problem#
The undercounting distorts every decision downstream.
Your A/B tests are less reliable. If 35% of visitors aren't in your dataset, your sample sizes are smaller than you think and your test segments are biased toward cookie-accepting users. You might be shipping a variant that wins with one audience segment and loses with the one you can't see.
Your attribution model is broken. You can't attribute a conversion to a marketing channel if the visitor's first touch was invisible. Paid campaigns look worse than they are because many converting visitors from those campaigns rejected the cookie on their first visit. Organic looks stronger because returning visitors who accepted cookies earlier get credit for conversions that actually started with a paid ad.
Your funnel analysis has holes. A checkout funnel that shows a 40% drop-off at step 3 might actually have a 25% drop-off — if the invisible visitors are completing at a different rate. Or it might be worse. You don't know, and that uncertainty makes every funnel optimization a guess.
Your heatmaps and session replays are sampling a biased population. The users you can observe through heatmaps are only the ones who accepted cookies. Their behavior patterns may not represent the visitors you're losing.
What changes when you capture 100% of sessions#
The first thing teams notice when they switch to cookieless tracking isn't a single insight — it's that their existing metrics shift.
Pages they thought were underperforming turn out to have decent traffic that GA4 was simply missing. Landing pages that looked low-traffic become mid-traffic pages that need optimization attention. The priority list changes because the inputs changed.
One pattern that comes up repeatedly: mobile conversion rates look different. GA4 disproportionately undercounts mobile sessions (more ad blockers, more script failures on cellular, Safari ITP) so the denominator is wrong. When you see the real mobile traffic, you often find the mobile conversion rate is lower than GA4 showed — which means mobile optimization is more urgent than the data suggested.
Another common finding: your actual bounce rate on certain pages is different from what GA4 reports, because the visitors who reject cookies and leave immediately were never counted. Adding them to the denominator can reveal that a page has a much higher true bounce rate — the kind of finding that changes your roadmap.
How cookieless tracking fills the gap#
Cookieless analytics platforms don't rely on cookies for session tracking. Instead, they use session-scoped identifiers that exist only in memory during a browser session. No cookie consent is required because there's no cookie to consent to. No ad blocker interferes because there's nothing to block.
The trade-off is real: you lose multi-session user identification. You can't see that the person who converted today visited your pricing page three days ago. For most e-commerce teams, that trade-off is worth it. Aggregate funnel data, heatmaps, and conversion analytics across 100% of traffic are more valuable than cross-session identity on 65% of traffic.
And the compliance upside is significant. No cookies means no cookie banner (which itself improves conversion — consent banners introduce friction that measurably reduces conversion rates). No EU data transfer issues. No DPA enforcement risk.
Run the comparison yourself
Install Grain's script alongside GA4. After one week, compare session counts. The gap is the data you've been making decisions without.
The uncomfortable question#
Every analytics report you've built, every board deck you've presented, every optimization you've prioritized — all of it was based on data that was missing a third or more of your visitors.
That doesn't mean the decisions were wrong. Many of them were probably directionally correct. But "directionally correct based on incomplete data" is a risk that gets more expensive as your business grows, your ad spend increases, and the cost of a wrong optimization call goes up.
The fix isn't complicated. It's a different tracking approach — one that doesn't depend on a technology (cookies) that browsers, regulators, and users are all actively dismantling.
The question is whether you want to find out what your real numbers look like.