GA4 dimensions and metrics reference for 2026

Key Takeaway

GA4 regularly adds and deprecates dimensions and metrics. Queries that worked last quarter may break or return different data this quarter. Always validate your dimension/metric combinations against the current compatibility matrix.
Intermediate

GA4's dimensions and metrics are not static. Google regularly adds new dimensions, deprecates old ones, renames existing ones, and changes calculation methodologies. For teams that build reports, SQL queries in BigQuery, or Looker Studio dashboards on top of GA4 data, these changes break things. Understanding what has changed and why keeps your analytics infrastructure working reliably.

The structural changes teams should care about

Scope

User, session, and event scope still drive most reporting mistakes

Naming

UI and API terminology can shift, especially around key events

10

Maximum dimensions per API query

GA4 API quota documentation

10

Maximum metrics per API query

GA4 API quota documentation

Key events replaced conversions in much of the interface

Google shifted a large part of GA4 terminology fromconversionstokey events. The underlying idea did not disappear, but teams that maintain dashboards, API queries, and training material should expect naming differences between older documentation and current product surfaces. The naming change is one of the most visible parts of the broaderUA-to-GA4 migration.

This matters most when your reporting depends on hardcoded field names, metric labels, or stakeholder definitions. Always check the current Dimensions and Metrics Explorer and the relevant reporting interface before assuming an older label still maps cleanly.

Traffic source structures are more complex than they look

The number of traffic source-related dimensions in GA4 increased significantly from 2023 to 2025. The originalsession_sourceandsession_mediumwere supplemented withsession_source_platform,session_campaign_id, and various first-user variants. InBigQuery, the traffic source structure is split across three separate objects:traffic_source(first user acquisition),collected_traffic_source(raw hit-level data), andsession_traffic_source_last_click(last-click session attribution).

This complexity exists because GA4 stores attribution at multiple levels: user acquisition (first-ever session), session acquisition (the source of each session), and event-level attribution (the source when a specific event fired). Queries that mix these levels produce incorrect results. Always clarify which attribution level your analysis requires before selecting traffic source dimensions.

Universal Analytics
GA4 Equivalent
Bounce Rate
Single-interaction sessions ÷ total sessions
Non-engaged sessions ÷ total sessions (inverse of Engagement Rate)
Sessions definition
Resets at midnight and after 30 min inactivity
Resets after 30 min inactivity; does not reset at midnight
Users metric
Total Users, all users who triggered at least one session
Active Users, users with at least one engaged session (default in reports)
Average Session Duration
Time between first and last hit in the session
Average engagement time per session (foreground active time only)
Conversion tracking
Goals, configured separately in Admin
Key Events, mark any existing event as a key event in Admin > Events
Page path dimension
Page, full URL path including query string by default
Page path and screen class, path only, query strings excluded by default

Engagement time metric behaviour

Average engagement time per sessionandaverage engagement time per userare calculated differently from what Universal Analytics called average session duration. GA4 measures engagement time as the time the page or app was in the foreground (active tab) rather than the time between the first and last hit. Sessions where a user opens your page in a background tab and never brings it to the foreground will show zero engagement time even if many minutes pass.

This change produces lower engagement time figures compared to Universal Analytics session duration for the same site with the same users, because UA counted any time between events. GA4 only counts active foreground time. Comparisons of these metrics across the UA to GA4 migration boundary are not meaningful.

Deprecated dimensions and removed metrics

GA4 has progressively removed Universal Analytics-era dimensions that had no direct GA4 equivalent. Hit-level dimensions from UA (like hit type) do not exist in GA4. UA metrics that relied on the session with a bounce model (traditional bounce rate, average pages per session with old calculation methodology) have been replaced by engagement-based equivalents.

Several dimensions related to Smart Goals and UA-specific features were removed or are no longer populated with data. Teams that migrated dashboards from UA to GA4 by mapping dimensions directly often find that some dimensions produce empty or incorrect data because they were incorrectly mapped to a GA4 dimension that measures something subtly different. Reporting on registeredcustom dimensionsoften hits this problem first because the field names look familiar but the scope rules differ.

Are your BigQuery queries referencing deprecated GA4 dimension names?

Working with scope constraints

One of the most common causes of unexpected results in GA4 reports and API queries is using dimensions and metrics from incompatible scopes. User-scoped dimensions report on users. Session-scoped dimensions report on sessions. Event-scoped dimensions report on events. Mixing them in a single report produces results that may look like valid numbers but represent a cross-product calculation that is mathematically misleading. The full breakdown is covered inincompatible dimensions and metrics.

For example, combining a user-scoped dimension like city with an event-scoped metric like event_count produces a result where event_count is summed across all events for all users in that city. This is fine if that is what you need. But if you intended to count sessions from that city and used a user-scoped dimension instead of a session-scoped one, the results will be incorrect. The same metric definition can also produce different numbers depending on whether you query through the UI, the Data API, or Explorations — seewhy API, UI, and Explore numbers diverge.

Keeping your GA4 dimension and metric references current

The most reliable single source for current GA4 dimension and metric names, scopes, and calculation definitions is the officialGA4 Dimensions and Metrics API reference. For BigQuery-based analysis, Google's documentation on theBigQuery export schemais the authoritative reference.

For teams that build automated reports or data pipelines, a validation check that compares your dimension and metric names against the current API reference is a recommended part of any quarterly audit. Dimension names that return empty data in a report when they previously returned data are a signal that the dimension has been renamed or deprecated.

Dimensions and metrics audit checklist

  • Conversion-related dimensions in reports and API calls use current key_event naming where required
  • Traffic source dimensions consistently use the correct attribution level (user vs session vs event)
  • No UA-era dimensions are mapped directly to GA4 dimensions without validation that they measure the same thing
  • Engagement time is communicated to stakeholders as foreground active time, not session duration
  • BigQuery queries reference the current schema documentation for field names
  • Dimension and metric names in Looker Studio reports are validated quarterly against the current API reference

Validate your GA4 dimensions and metrics setup

G4 Audits checks for deprecated dimension references, scope mismatches, and naming changes across your reports and queries.

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