Cohort Analysis

Cohort analysis groups users by a shared starting point, usually the period in which they were acquired, then tracks how each group behaves over the days, weeks, or months that follow. It separates changes in behavior from changes in user mix. A single retention figure tells you how many people came back; a cohort analysis tells you whether the people who joined in March came back more often than the people who joined in January.
Why Cohort Analysis Matters
Aggregate metrics blend every user into one number, and that number moves for reasons it cannot explain.
Consider a site whose 30-day retention sits at 22% for six straight months. Split it by acquisition month and the picture inverts: the January cohort retains at 14%, the June cohort at 31%, and the total only looks flat because older, larger cohorts dominate it. The product is improving. The headline metric hides it.
Cohort analysis answers three questions averages cannot:
- Is the product getting better? Compare cohorts at the same age, not on the same date.
- Which source produces users who stay? A channel with cheap clicks and a cohort that vanishes by week two is expensive.
- When do users leave? The drop-off period is where onboarding or lifecycle messaging belongs.
Types of Cohorts
Cohorts fall into two families, defined by what puts a user in the group.
| Cohort type | Grouped by | Example |
|---|---|---|
| Acquisition | When the user first arrived or signed up | Everyone whose first session fell in the week of 2 March |
| Behavioral | An action the user took | Everyone who completed onboarding, regardless of signup date |
Acquisition cohorts are the default, since the grouping date is recorded automatically. They answer questions about trend and channel quality.
Behavioral cohorts answer questions about causation. If users who connect an integration in week one retain at 3x the rate of users who do not, that action becomes an onboarding priority. Google Analytics 4 supports both: first touch builds an acquisition cohort, a specific event builds a behavioral one.
How to Read a Cohort Retention Chart
A cohort retention chart is a grid. Rows are cohorts, ordered by start period. Columns are periods elapsed since acquisition, not calendar dates. Each cell holds the percentage of that cohort still active.
Read it two ways:
- Across a row to see one cohort decay over its lifetime.
- Down a column to compare cohorts at the same age, which is the only fair comparison.
Week 0 (or Day 0) is always 100%, because every user in a cohort was active in the period that defined them. The grid forms a triangle, since the newest cohort has only one or two elapsed periods.
The shape of each row is the signal. A curve that declines steeply then flattens into a horizontal floor means a durable core of users stuck. A curve that keeps sliding toward zero means no stable base, regardless of how strong the first week looks.
How to Run a Cohort Exploration in GA4
Google Analytics 4 builds cohort reports in the Explore module, not in standard reports.
- Open Explore, then choose the Cohort exploration template.
- Set Cohort inclusion, which decides who joins a cohort: first touch (acquisition date), any event, any transaction, any conversion, or a specific event.
- Set Return criteria, which decides what counts as coming back: any event, any transaction, any conversion, or a specific event.
- Set Cohort granularity: daily, weekly, or monthly.
- Choose a calculation type: standard counts users active in that period alone, rolling adds every earlier period, cumulative counts users active in any period.
- Add a metric (active users, event count, or purchase revenue) and an optional breakdown dimension.
Two limits matter: a cohort exploration displays a maximum of 60 cohorts, and a breakdown dimension returns only its top 15 values. When cohorts are split by campaign, linkutm’s link analytics shows click data for each tagged link next to the GA4 report, making it clearer which campaigns fed which cohort.
Cohort vs Segment
A segment is a slice of data. A cohort is a slice plus a clock.
A segment isolates users, sessions, or events meeting a set of conditions, with no inherent time axis: “users from paid search” is a segment whether they arrived yesterday or last year. A cohort is defined by when its members entered, then measured forward through fixed periods of elapsed time.
Every cohort is a segment. Most segments are not cohorts. The difference shows in the report: a segment produces one row of numbers, while a cohort produces a grid that ages.
The two combine. Apply a segment to a cohort exploration and you get the retention curve for one channel, country, or device type.
Common Cohort Analysis Mistakes
- Comparing cohorts on the same date instead of the same age. The newest cohort has had less time to churn or return. Its numbers are incomplete, not better or worse.
- Assuming weekly cohorts are rolling 7-day windows. GA4 defines a weekly cohort as Sunday through Saturday. A campaign launched on a Wednesday splits across two cohorts.
- Expecting User-ID to merge devices. GA4 cohorts are built from device data; User-ID is not considered. One person on a phone and a laptop counts as two cohort members.
- Slicing until cohorts are too small. A weekly cohort of 40 users produces percentages that swing on single-digit changes.
Frequently Asked Questions
What is an example of cohort analysis?
A subscription business groups every user by signup month, then tracks what percentage stays active in month one, month two, and month three. The January cohort retains 40% at month three; the April cohort retains 55%. Both are measured at the same age, so the improvement is real and points to a change made between January and April.
What is a cohort retention chart?
A cohort retention chart is a grid where each row is a cohort, each column is a period since acquisition, and each cell shows the share of that cohort still active. The first column is always 100%, and the grid forms a triangle because recent cohorts have fewer elapsed periods to report. Reading down a column compares cohorts at the same age.
How do I run a cohort exploration in GA4?
Open Explore in Google Analytics 4 and select the Cohort exploration template. Set cohort inclusion (how users join a cohort), return criteria (what counts as returning), granularity (daily, weekly, or monthly), and a calculation type of standard, rolling, or cumulative. The report displays up to 60 cohorts, and a breakdown dimension returns only its top 15 values.
What is the difference between a cohort and a segment?
A segment is any subset of data defined by conditions, with no built-in time dimension. A cohort is a group defined by when its members entered, measured forward across fixed periods. Every cohort qualifies as a segment, but a segment such as “mobile users in Germany” is not a cohort until an entry period anchors it.
To split cohorts by source reliably, tag every campaign link with the free UTM builder at linkutm.