On one project, I compared GA4’s user count to BigQuery exports. In the GA4 interface, the numbers were neat, rounded — and oddly stable, even when traffic clearly changed.

Something was off. Logs showed tens of percentage points in difference — not just 1–2%. That’s when I found out: GA4 doesn’t show exact user counts.
And it’s not a bug — it’s by design.

GA4 uses HyperLogLog++ (HLL++), a probabilistic algorithm to estimate unique users.

• It’s fast and scalable
• But it gives estimates - not precise counts
• On large datasets, the margin of error is small
• But on low-traffic segments or narrow filters, numbers can be way off
• And the UI doesn’t tell you they’re approximate

So if you’re acting on “+18% user growth,” it might just be algorithmic noise.
Because of HLL++, one client:

• Thought their audience was growing - and scaled spend
• Expected sales growth that never came
• Saw “new users” as stable - when they weren’t
• Built plans on numbers that looked solid —-but were estimates

GA4 didn’t lie. It just never said: “This is a guess.”

Now I follow these rules:

• For real user counts - I use BigQuery and user_pseudo_id
• For quick trends or dashboards - GA4 UI works, but I assume ±10% margin
• I avoid small segments (<10,000 users) in GA4 reports
• I treat minor bumps (like +5%) as possible noise
• I remind clients: GA4 is a visualization tool - not financial truth

If you’re making big decisions based on “unique users” in GA4, ask yourself: Are you seeing people - or probabilities?

Want to get all my top Linkedin content? I regularly upload it to one Notion doc.

Go here to download it for FREE.