GA4 Cohort Exploration: Measuring Retention

A cohort exploration groups users by when they first did something, such as their first visit, and shows how many came back in the days, weeks or months after. This guide covers the inclusion and return criteria, cohort granularity, the three calculation types, breakdowns, how to read the table and the limits Google sets.

This guide is built from Google's Analytics Help articles on cohort exploration, getting started with explorations, data differences between reports and explorations and data thresholds. For the exploration workspace and its other techniques, see our guide to GA4 explorations; to compare your numbers with similar businesses rather than with your own earlier users, see GA4 benchmarking.

What a cohort exploration shows

Google defines a cohort as "a group of users who share a common characteristic", for example all users with the same acquisition date. The cohort exploration puts those groups in rows, one per day, week or month, and the periods that follow in columns. Each cell shows how many of that group came back and did something again.

That makes it the place in GA4 to answer retention questions: do people who first arrived during a campaign come back as often as everyone else, how long does it take new visitors to buy, and did a redesign change how many users return. Google's own examples are seeing "how long it takes newly acquired users to transact on your site" and whether "that new app design you just launched is improving retention rates."

Creating one

  1. Open Explore, and on the right of Start a new exploration, click Template gallery.
  2. Choose the Cohort exploration template.
  3. Set the inclusion criterion, the condition that puts a user into a cohort.
  4. Set the return criterion, the later condition that counts them as returned.
  5. Pick the granularity, the calculation type, an optional breakdown and the metric to show.

Google shows a plain-language explanation of your settings above the table, which is the quickest way to check you built what you meant to. Like every exploration, the date range is limited by your property's data retention setting: data older than the user and event level retention period isn't included. Google notes that properties "retain 2 months of data" by default, so check your retention setting before planning a cohort analysis that looks back further.

Inclusion and return criteria

The inclusion criterion decides who starts in a cohort, and when:

Inclusion optionWhat puts a user in the cohort (Google)
First touch (acquisition date)The first time the user visited your site or app, as measured by this property
Any eventThe user's first event within the exploration date range
Any transactionThe first transaction event within the date range
Any conversionThe first conversion event within the date range
OthersA specific event you choose

The return criterion uses the same choices (any event, any transaction, any conversion or a specific event) and counts a user as returned when they have at least one such event in a later period. Google's help still says "conversion" here; in the current interface these are your key events.

Only first touch is a true acquisition cohort. The other inclusion options start from the first matching event inside the date range you picked, which may not be the user's first visit ever. If the question is about new users, choose first touch.

One detail changes how often a user is counted: users are assigned to every cohort whose inclusion criterion they meet. Google's example is a user who completes a transaction in every week; with transactions as the inclusion criterion, that user appears in every row. Google also gives an app example that pairs a custom error event as the inclusion with the app_remove event as the return, to see whether users who hit an error go on to uninstall.

Daily, weekly or monthly cohorts

Granularity sets both the size of each cohort and the length of each return period; the two always match. Google defines them as:

  • Daily: "from midnight to midnight in the property timezone."
  • Weekly: "from Sunday to Saturday included, not on a rolling 7 days."
  • Monthly: from the start of the month to its end.

Because weeks are calendar weeks, a week that your date range cuts in the middle can hold fewer days than the others. The column labelled day 1 or week 1 is the first period after the cohort's own period: for a January 1 daily cohort, Google says day 1 is the users who met the return criterion on January 2.

Standard, rolling and cumulative

The calculation type decides which returning users count in each cell. Google explains it with a five-week example: weekly granularity, first touch as the inclusion, purchase as the return, and active users as the metric. User A buys only in week 5, user B buys every week, and user C buys in weeks 1 and 2 only.

CalculationEach cell counts (Google)Week 5 cell
StandardUsers who met the return criterion in that period, whatever they did in other periodsA, B
RollingUsers who met it in that period and every period before itB
CumulativeUsers who met it in any period up to that one; the metric is a running totalA, B, C

Standard answers "how many came back this week?". Rolling answers "how many have come back every single week?", which Google calls useful "for publishers tracking daily/weekly/monthly return users." Cumulative answers "how many have come back at least once so far?" and never goes down.

Breakdowns and values

A breakdown splits each cohort by a dimension, such as device category, so you can compare sub-groups. Google suggests breaking the app error cohorts down by mobile model to see whether problems are tied to specific devices. When you add a breakdown, a user is placed only under the first value that applies to them: a user who first appears on mobile and returns the same day on desktop is counted in the mobile row only. Only the top 15 values of the breakdown dimension are shown.

Values is the metric in the cells. Active users counts people; other metrics, such as transactions, count what those people did. That difference matters when reading the table, as the next section shows.

How to read the table

Google's help walks through one store's week of October 6 to 12, when it acquired 17,093 users:

  • With transactions as the metric, those users had 176 transactions in their first week and 38 in the week after.
  • With users who had at least one transaction, 171 bought in their first week and 31 bought in the week after.
  • With any transaction as the inclusion instead of first touch, the cohort is the 270 users who bought that week, and 14 of them bought again the following week.

The same cohort gives three different answers depending on the inclusion and the metric, so read the explanation line above the table before comparing numbers. Read the table across a row to follow one cohort over time, and down a column to compare cohorts at the same age: if week 2 retention is lower for newer cohorts, something changed for recent visitors. The bottom-right of the table is always sparse, because recent cohorts have not had time to reach later periods.

Limits and why numbers differ

  • A cohort exploration shows at most 60 cohorts.
  • A breakdown shows at most the top 15 values of its dimension.
  • Google says cohorts "are based on the user's device data only. User-ID is not considered when creating a cohort." If you send a User-ID, the same signed-in person on two devices can still count as two users here.
  • Demographic dimensions are subject to thresholding: small groups are withheld to protect anonymity. Google says you can't adjust thresholds, and that a wider date range can make previously withheld data visible.
  • Date ranges stop at your data retention limit, as with every exploration.

Because of the device-only rule and thresholds, user totals in a cohort table won't always match the standard reports. That is expected, not a tracking fault. Our guide to users vs sessions explains how GA4 counts users in reports.

How we use cohorts

This is our own practice, not Google guidance:

  • For service businesses we use weekly cohorts with first touch as the inclusion and an enquiry key event as the return, to see how many visitors enquire on a later visit rather than the first.
  • For shops we compare standard and cumulative on the same cohort: standard shows repeat buying week by week, cumulative shows how many have bought at least once.
  • We set the retention period to the longest the property allows before we need cohorts, because explorations can't reach data older than that.
  • When a campaign or redesign launches, we note the date with an annotation and compare cohorts from before and after in the same column.
  • For a single funnel or path in one visit, we use a funnel or path exploration instead; cohorts are for behaviour across visits.

Frequently asked questions

Where is the cohort report in GA4?

There is no standard report with the full cohort table. It is a technique in Explore: start a new exploration and choose the Cohort exploration template from the template gallery.

What is the difference between standard, rolling and cumulative?

Standard counts users who returned in that period. Rolling counts users who returned in that period and every earlier one. Cumulative counts users who returned in any period up to that one, so it only rises.

Are GA4 weekly cohorts rolling 7-day periods?

No. Google says weekly cohorts run "from Sunday to Saturday included, not on a rolling 7 days." Daily cohorts run midnight to midnight in the property's time zone.

Does cohort exploration use User-ID?

No. Google says cohorts are based on the user's device data only and User-ID is not considered, so one person on two devices can appear as two users.

How many cohorts can one exploration show?

Up to 60 cohorts. With a breakdown, only the top 15 values of the breakdown dimension are shown.

For more on measurement, see our guides to GA4 basics, GA4 segments, GA4 audiences and GA4 ecommerce tracking.