You open a report in GA4: 12,430 users for the day. You pull the same data from BigQuery — now it’s 13,298. So... is this magic or math?

Turns out, it’s neither. GA4 and BigQuery just count users differently. Same data source, same tracker — but different logic.

The GA4 interface shows unique users based on Google’s full set of rules: User-ID stitching, modeled data for gaps, deduplication, and all kinds of marketing wizardry. The goal? Clean, tidy reports.

BigQuery, on the other hand, keeps it raw. It says: “Here’s how many distinct user_pseudo_ids we saw — you do the rest.” No magic, no stitching — unless you build it yourself.

That’s why BigQuery almost always (Okay, not always) shows more users. It counts everyone it sees, even if someone switched devices or didn’t log in.

So, who’s right? GA4 — if you want smooth modeled dashboards. BigQuery — if you want the unfiltered truth, even if it stings a little.

Takeaway:

GA4 is for business reporting.

BigQuery is for analysts.

And if your numbers don’t match — don’t panic.

Just ask yourself: Which version of the truth are you working with?

If you work with GA4 to BigQuery exports, be sure to check out my SQL cheat sheet.