Why GA4 and BigQuery Numbers Don't Match
Last updated August 29, 2026 · By the SaturnSQL team
They are computed differently. The GA4 UI approximates distinct counts, applies privacy thresholding, and shows modeled data; the BigQuery export is the raw event log. Small gaps are normal, and large ones usually mean a definition mismatch, not missing data.
The usual suspects
1) The UI estimates users and sessions with approximation (HyperLogLog), BigQuery counts exactly. 2) The UI's Active users means engaged users; COUNT(DISTINCT user_pseudo_id) is total users. 3) Thresholding hides small rows in the UI when demographics or signals are on; the export has no thresholding. 4) Consent-mode modeled events appear in reports but never land in the export. 5) Daily tables cut on the property timezone while event_timestamp is UTC. 6) Intraday data is provisional until the daily table is finalized. 7) Explorations can sample; SQL never does.
Reproduce the UI's estimate
If the goal is matching the UI's user counts, approximate the same way it does:
SELECT APPROX_COUNT_DISTINCT(user_pseudo_id) AS approx_users
FROM `myproject.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260801' AND '20260828';Which number to trust
For auditing, joining to other tables, and anything that feeds a scheduled report, the export is the source of truth: it is the raw log. The UI is the faster directional read. The practical rule is to pick the BigQuery definition, write it down next to the report, and stop reconciling to the last percent.
Run this in SaturnSQL
SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.
Try it freeDo more with BigQuery
Related BigQuery guides
- How to Count Distinct Values in BigQuery
- How to Query GA4 Events in BigQuery
- How to Count Sessions in GA4 BigQuery Data
- How to Calculate Session Duration in GA4 BigQuery Data
- How to Get Session Source and Medium in GA4 BigQuery Data
- How to Count Active Users in GA4 BigQuery Data
- How to Query Today's GA4 Data in BigQuery
- How to Backfill GA4 Data in BigQuery