GA4 vs Universal Analytics: Key Differences and Migration Guide

Key Takeaway

The UA to GA4 migration changed data models, session counting, attribution logic, and event structures. Comparing GA4 numbers to UA baselines without understanding these structural differences leads to false conclusions about data quality.
Intermediate

Universal Analytics stopped collecting data in July 2023. GA4 is not a new version of the same product, it is a different measurement system with a different data model, different session definition, and different reporting logic. Teams that migrated their GA4 property but kept comparing numbers to UA benchmarks are comparing apples to oranges. This guide covers what actually changed and how to rebuild your reporting on solid ground.

Ecommerce schemas changed too — see theecommerce migration from UAfor the parameter-by-parameter mapping that has to be rebuilt before purchase reports line up again.

A fundamentally different data model

Universal Analytics was built on a hit-based model: pageviews, events, transactions, and social hits were distinct hit types, each processed differently. GA4 replaced all of that with a single event-based model. Everything is an event, a pageview is the eventpage_view, a purchase is the eventpurchase, a scroll isscroll. Parameters attached to each event carry the contextual data that UA encoded in hit type fields.

This is not cosmetic. It changes how sessions are defined, how bounce rate is calculated, how custom dimensions are scoped, and what you can do in BigQuery. Understanding the model difference is a prerequisite for reading GA4 reports correctly — and for choosing the rightGA4 attribution modelwhen comparing channel performance.

Universal Analytics
GA4
Data model
Hit-based (pageview, event, transaction, social)
Event-based (everything is an event with parameters)
Session definition
Time-based (30-min inactivity timeout, resets at midnight)
Event-based (session_start event, configurable timeout)
Bounce rate
% of single-page sessions with no interaction
% of sessions with no engagement (replaced by Engagement Rate)
Custom dimensions limit
20 event-scoped, 20 user-scoped (per view)
50 event-scoped, 25 user-scoped (per property)
BigQuery export
Premium (360) only, daily batch
Free for all properties, daily + streaming
Attribution
Last non-direct click (default), limited model options
Data-driven (default), multiple models available
Hit types
Pageview, event, transaction, social, timing
Single event type with flexible parameters

What bounce rate means now

UA bounce rate measured sessions where the user visited one page and left without triggering any interaction hit. A user who spent 10 minutes reading a single article was a "bounce." GA4 replaced this withEngagement Rate: the percentage of sessions that lasted longer than 10 seconds, had a conversion event, or had 2 or more page views. The inverse, non-engaged sessions / total sessions, is what GA4 calls Bounce Rate.

The numbers are not comparable. A UA bounce rate of 70% on a blog might translate to an Engagement Rate of 65% in GA4 for the same traffic. Neither is wrong, they are measuring different things. Stop benchmarking GA4 Bounce Rate against UA Bounce Rate — seehow GA4 engagement rate is calculatedfor the underlying definition.

Need to identify which UA metrics your team still relies on and find GA4 equivalents?

Session counting differences

UA sessions reset at midnight in the property timezone, at campaign changes, and after 30 minutes of inactivity. GA4 sessions start with asession_startevent and end after 30 minutes of inactivity by default (configurable). GA4 sessions do not reset at midnight, so a session that starts at 11:45 PM and ends at 12:15 AM is one session in GA4 but two in UA.

Expect GA4 session counts to be lower than UA session counts for the same traffic for this reason alone. This does not indicate tracking loss — for the full mechanic, seehow GA4 counts sessions.

BigQuery: now free for everyone

In UA,BigQueryexport required a GA360 subscription costing tens of thousands per year. GA4 includes BigQuery export at no cost for all properties. This is the most significant structural upgrade for teams that do any kind of custom analysis or data warehousing.

The export schema is event-level: each row is one event, not one session. Rebuilding session-level or user-level analysis from GA4 BigQuery data requires SQL aggregation that was not necessary in the UA export schema. The flexibility is greater but the setup requires more deliberate work.

Migrating from UA benchmarks

The most common migration mistake is treating GA4 numbers as directly comparable to UA. Here is how to audit your exposure and rebuild on solid ground.

Validate

  • Audit which UA metrics your team actively used in dashboards, reports, or KPIs
  • Identify which UA metrics have direct GA4 equivalents vs which require a new approach
  • Check whether any Looker Studio or third-party dashboards still reference UA data connectors
  • Confirm UA data export was completed before Google deleted historical data

Fix

  • Rebuild key reports using GA4 Explorations or BigQuery, documenting the equivalent metric and how it differs
  • Replace UA bounce rate KPIs with GA4 Engagement Rate or a custom non-engaged sessions metric
  • Rebuild conversion funnels using GA4 Funnel Exploration. UA Goals do not migrate automatically
  • If YoY comparisons are needed, use GA4 data from the overlap period and document the methodology difference

Watch for

  • Teams still referring to UA benchmarks for YoY comparison without flagging the methodology difference
  • Session counts presented as directly comparable when they use different session reset logic
  • Bounce rate presented as comparable when UA and GA4 definitions are different
  • Attribution model differences causing campaign performance to appear inflated or deflated vs historical UA data

UA to GA4 migration checklist

  • UA data exported or confirmed deleted, no team members expect to access historical UA data in the GA4 UI
  • All active dashboards and reports updated to GA4 data sources, UA connectors removed
  • KPIs reviewed and mapped from UA definitions to GA4 equivalents with notes on differences
  • YoY comparisons include a methodology note when comparing GA4 data to prior UA data
  • BigQuery export enabled and schema reviewed for any teams doing raw data analysis
  • Conversion events rebuilt in GA4. UA Goals do not carry over

Audit your GA4 property

G4 Audits checks 229 data quality and configuration issues across your GA4 property in under 2 minutes.

Audit findings should be reviewed by a qualified analyst before they are used for major reporting, media, or implementation decisions. Review your findings

GA4 Audits Team

GA4 Audits Team

Analytics Engineering

Specialising in GA4 architecture, consent mode implementation, and multi-layer audit frameworks.

Share