Read a Google Analytics cohort report using fixed membership, return events, and complete observation periods. Work the exported user counts and revenue in a spreadsheet, then check the totals before comparing acquisition periods.
A cohort report in Google Analytics compares users who share a starting condition and shows what they do in later periods. Read it by holding the membership and return rules constant, then comparing groups at the same age. A higher return rate is useful only when the underlying counts, observation periods, and business meaning are clear.
For GA4, open Explore, choose Template Gallery, and select Cohort exploration. Set First touch as the inclusion criterion for acquisition cohorts, choose a return criterion such as Any transaction, and choose your granularity and calculation. Google's cohort exploration guide defines these settings.
For the example below, use monthly granularity and Standard calculation. Standard measures each period separately; Rolling requires the return condition in that period and every preceding period; Cumulative includes qualifying activity through that period. Those definitions answer different questions. Monthly buckets follow calendar months, so month one means the following calendar month, rather than a fixed elapsed period for every person.
Write the selected configuration above the export. Include the property, timezone, date range, filters, return event, metric, and export date. Give the file a business description such as “first-visit cohorts returning to purchase.” The cohort glossary gives the underlying definition.
Use Export data in the upper right and choose CSV or Google Sheets. Google says these formats export all data available in the selected visualization, which may exceed the rows currently displayed. A custom date range stays fixed when the exploration is reopened. Both behaviors are explained in Google's Explorations instructions.
Consider an illustrative US business supplies website. Its reporting owner provides the following prepared summary, closed through September 30, 2026. Returning purchasers are distinct users meeting the purchase return condition. The revenue column is purchase revenue assigned to those same cohorts in month one, in USD.
This revenue assignment must be supported by the supplied export. If the available revenue total covers a different population, leave it out of the per-cohort calculation until the analytics owner supplies a consistent summary. Tracked purchase revenue also needs its own reconciliation before finance treats it as booked sales.
In a spreadsheet, put these columns in A through E:
| Acquisition cohort | Starting users | Month-one purchasers | Month-one purchase revenue (USD) | Month-two purchasers |
|---|---|---|---|---|
| July 2026 | 200 | 80 | 4,000 | 60 |
| August 2026 | 100 | 50 | 3,000 | |
| Month-one total | 300 | 130 | 7,000 |
August's month two is October, which has not finished at this cutoff. Its blank cell is intentional. July's month two is September and is complete. The distinction between activity and contractual retention matters here: net revenue retention by cohort requires a billing population and revenue movements.
Add F, G, and H for month-one purchaser retention, revenue per starting user, and revenue per returning purchaser. Enter these formulas in row 2 and copy to row 3. They work in Excel and Google Sheets.
F2 =IF(B2=0,"",C2/B2)
G2 =IF(B2=0,"",D2/B2)
H2 =IF(C2=0,"",D2/C2)
Format F as a percentage. Show dollar results to two decimal places and percentages to one decimal place, using unrounded values in subsequent calculations.
| Acquisition cohort | Purchaser retention | Revenue per starting user (USD) | Revenue per returning purchaser (USD) |
|---|---|---|---|
| July 2026 | 80 / 200 = 40.0% | 4,000 / 200 = 20.00 | 4,000 / 80 = 50.00 |
| August 2026 | 50 / 100 = 50.0% | 3,000 / 100 = 30.00 | 3,000 / 50 = 60.00 |
| Combined month one | 130 / 300 = 43.3% | 7,000 / 300 = 23.33 | 7,000 / 130 = 53.85 |
Calculate the combined retention rate from the summed counts:
=SUM(C2:C3)/SUM(B2:B3)
The following weighted-rate check must return the same result:
=SUMPRODUCT(B2:B3,F2:F3)/SUM(B2:B3)
For each row, revenue per starting user must equal purchaser retention multiplied by revenue per returning purchaser. July checks as 40% × $50.00 = $20.00; August checks as 50% × $60.00 = $30.00. This identity separates a better return rate from greater spending among returners.
July's completed month-two purchaser retention is 60 / 200 = 30.0%. Do not compare it with August's 50.0% month-one result: those cells represent different customer ages.
August is ahead by 50.0% − 40.0% = 10.0 percentage points at month one. Its revenue per starting user is $30.00 − $20.00 = $10.00 higher. That is a reason to inspect acquisition mix, purchase terms, and the experience offered to each group.
It does not establish that a website change caused the difference. The groups may contain different buyers, and the calendar months may have different trading conditions. Marketing owns the acquisition explanation, the analytics owner checks tracking and definitions, and finance checks what the revenue represents. Broader customer base KPIs help put the return signal beside business outcomes.
Covirage is not affiliated with Google or Microsoft.
Bring the cohort export and a consistently defined revenue summary, with the cutoff date and report settings included. Covirage maps the columns, its tools compute and check the comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See Covirage for renewal watch for the supporting business context.
It should show whether a defined group returns to do something valuable after joining. The report needs the original group size, a clear return event, and a completed observation period. A percentage without those definitions is difficult to act on.
No. A website return event measures tracked behavior. A renewal requires a contract or billing outcome. Compare the two only when the reporting owner can establish a consistent population and period; otherwise present activity and renewal results separately.
A group that has not reached an observation period has no finished result for that period. Recording zero would imply that nobody returned. Keep the cell blank, label it immature, and exclude it from comparisons until the observation window closes.
Use total returning users divided by total starting users when the cohorts are disjoint and the periods match. An ordinary average gives small and large cohorts equal weight. Keep the individual rates visible so the combined result does not hide differences.