Guide 68 · Reports · GA4 + Tag Manager
Compare two groups in a GA4 report: build a comparison and read what actually differs
A comparison splits a detail report into two groups — for example, mobile against desktop — and shows both side by side. Build it from a dimension, not from a hunch.
After step 5, the report shows both groups' sessions, engagement rate, and key event rate in one table, and you can name the metric where they differ most.
Download the report reference: the Traffic acquisition with device comparison reference (JSON) (1365 bytes, MD5 ae459ed4dd36a03a2c37633bfd7c077a). It holds the report or exploration definition and the worked example with the recomputed figures shown on this page.
What you need
- Viewer access or above on the property.
- A detail report open — for example, Traffic acquisition — that already shows the metric you want to compare.
- Two groups defined by one dimension — for example, Device category mobile against desktop. A comparison needs one dimension and two values from it.
The trace
- Open the detail report. Sign in, click Reports, then open the report that holds your metric — for example, Acquisition, then Traffic acquisition. Read the plain table once first.
- Open the comparison builder. At the top of the report, click the comparison control, then Build a new comparison, or click Compare and add a condition. The builder asks for a dimension and a value.
- Define the first group. Pick the dimension — for example, Device category — and set its value to Mobile. Name the comparison after the group, for example, Mobile users. Apply it: the table now shows the Mobile group beside the All users baseline.
- Add the second group the same way. Build another comparison for the other value — for example, Device category Desktop — and apply it. The table now shows both groups side by side on the same metrics.
- Read the rate columns, not just the session columns. A group with more sessions can still have a lower engagement rate and a lower key event rate. The worked example below recomputes those rates for the two groups, so the comparison can be read as rates instead of volume.
Dead ends
DEAD END — COMPARING GROUPS DEFINED BY DIFFERENT DIMENSIONS. Mobile against desktop is one dimension. Mobile against organic search is two dimensions and the comparison cannot say which difference caused the gap.
DEAD END — READING A COMPARISON WITH NO BASELINE. A comparison shows each group against All users. If you remove the baseline, the two groups are still comparable to each other, but you lose the sense of whether either group is above or below the property average.
DEAD END — COMPARING VOLUME WHEN THE QUESTION IS QUALITY. Sessions answer how many; engagement rate and key event rate answer how well. Pick the columns that match the question before you build the comparison.
End state
A comparison turns one table into a side-by-side test. The worked example below recomputes engagement and key event rates for mobile and desktop, so the two groups can be compared on quality, not just on volume.
Worked example — stated inputs, recomputed results. The device groups below are stated inputs for the example. Every rate in the table was recomputed from them.
| Row | Sessions | Engaged sessions | Engagement rate | Key events | Key event rate | Revenue |
|---|---|---|---|---|---|---|
| Mobile | 2,610 | 1,305 | 50.0% | 118 | 4.5% | $2,140.00 |
| Desktop | 1,780 | 1,246 | 70.0% | 142 | 8.0% | $3,280.50 |
| Total | 4,390 | 2,551 | 58.1% | 260 | 5.9% | $5,420.50 |
Revenue per session is $5,420.50 ÷ 4,390 sessions = $1.23. Engagement rate is 2,551 ÷ 4,390 = 58.1%.
Sources
- Analytics Help — Get started with Explorations — explorations and reports support focusing on the most relevant data by using filters and segments
- Analytics Help — [GA4] Traffic acquisition report — detail reports group data by dimensions; the search bar above the table finds one row
Checked 11 November 2026. The click paths above are the ones in Google's help pages, opened or read 11 November 2026 (the Explorations and detail-report pages were opened in full; the report, library, navigation and thresholds pages were read from Google's help results the same day, after the browser hit a rate limit). No step in this guide was run inside a live Analytics property, because that needs a Google sign-in and this site does not sign in as anyone. The worked-example figures on this page were recomputed in Python with decimal arithmetic, and the downloadable JSON file carries the same recomputed figures. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.