Mobile marketing analytics compares the users acquired by each campaign on activation, retention and recorded revenue. Follow a worked cohort comparison from acquisition and cost exports to checked spreadsheet results.
Mobile marketing analytics compares acquisition campaigns by activation, retention and recorded revenue after users join. The useful question is which campaign brings users who reach a meaningful outcome at a comparable age. Counting acquisitions alone cannot answer it.
A cohort contains users acquired through the same campaign during the same period. Keep the acquisition source recorded in your export; this report does not reconstruct attribution or resolve identities across devices. If an export counts installations rather than people, label the unit as installations throughout.
For an illustrative US fitness subscription business, activation means completing an initial workout within seven days. Retention means completing a workout during days 28 through 30 after acquisition. Recorded revenue includes transactions during the first 30 days, net of refunds posted by the reporting cutoff. These are the business's reporting definitions, not universal mobile benchmarks.
All users in the example joined during June 2026. The July 31, 2026 cutoff lets the full cohort complete the stated windows. A younger cohort belongs in a separate, earlier-age comparison.
Keep this fixed-window revenue distinct from lifetime revenue. User-lifetime reporting documentation explicitly distinguishes revenue over a user's lifetime from revenue for a selected month. Your acquisition comparison needs its own age limit written beside the revenue column.
Use an acquisition outcome export with one row per acquired user and a separate campaign cost export. Where orders arrive as separate rows, total their recorded net revenue to the acquisition key before attaching it. Repeated purchases must increase revenue without increasing the user count.
The acquisition worksheet uses this layout:
| Column | Field | Reporting rule |
|---|---|---|
| A | Acquisition key | One unique key per acquired user |
| B | Acquisition campaign | The recorded campaign, with unknowns retained |
| C | Complete observation flag | 1 only when the whole reporting window is available |
| D | Activated flag | 1 when the defined activation happened; otherwise 0 |
| E | Retained flag | 1 when the defined return happened; otherwise 0 |
| F | Recorded net revenue (USD) | Revenue assigned to that user within the window |
Unknown campaign rows stay in a separate group so the total still reconciles. Check blank outcome flags before counting; a missing export is different from a confirmed absence of activity. Keep unpaid acquisition separate when comparing paid campaign costs.
Put campaign names in J2:J4. The example has 2,400 acquisition rows, so the data range ends at row 2401. In Excel, K2 counts users with a complete window:
=COUNTIFS($B$2:$B$2401,J2,$C$2:$C$2401,1)
L2 counts activated users and M2 counts retained users:
=COUNTIFS($B$2:$B$2401,J2,$C$2:$C$2401,1,$D$2:$D$2401,1)
=COUNTIFS($B$2:$B$2401,J2,$C$2:$C$2401,1,$E$2:$E$2401,1)
Microsoft's COUNTIFS reference confirms that a row is counted when all specified criteria are met. Requiring the observation flag in every measure keeps the denominators aligned.
N2 totals the matching users' recorded revenue:
=SUMIFS($F$2:$F$2401,$B$2:$B$2401,J2,$C$2:$C$2401,1)
Microsoft's SUMIFS reference gives the syntax for summing a range subject to multiple criteria. Put the reconciled campaign spend in O2, then fill the formulas down.
The business's complete June cohort produces these totals. Spend includes campaign media charges, not every selling expense.
| Campaign | Acquired users | Activated users | Retained users | Recorded revenue (USD) | Spend (USD) |
|---|---|---|---|---|---|
| Paid search | 800 | 480 | 240 | 14,400 | 8,000 |
| Paid social | 1,200 | 480 | 180 | 10,800 | 7,200 |
| Partner campaign | 400 | 280 | 160 | 9,600 | 4,000 |
| Total | 2,400 | 1,240 | 580 | 34,800 | 19,200 |
The comparison follows directly from those rows:
| Campaign | Activation: activated / acquired | Retention: retained / acquired | Revenue / acquired (USD) | Spend / acquired (USD) | Spend / retained (USD) |
|---|---|---|---|---|---|
| Paid search | 60.0% | 30.0% | 18.00 | 10.00 | 33.33 |
| Paid social | 40.0% | 15.0% | 9.00 | 6.00 | 40.00 |
| Partner campaign | 70.0% | 40.0% | 24.00 | 10.00 | 25.00 |
| Total | 51.7% | 24.2% | 14.50 | 8.00 | 33.10 |
For the first campaign row, the formulas are:
=L2/K2
=M2/K2
=N2/K2
=O2/K2
=O2/M2
Format rates as percentages. The table rounds percentages to one decimal place and dollar ratios to two; calculations use unrounded values. If a denominator is zero, show an unavailable result and investigate rather than forcing a zero rate.
The acquisition count ties to 800 + 1,200 + 400 = 2,400 distinct keys. Activation ties to 480 + 480 + 280 = 1,240, and retained users to 240 + 180 + 160 = 580. The company retention rate is therefore 580 / 2,400 = 24.2%, rounded, using the summed counts.
The $34,800 revenue total must tie to the selected users' transaction rows under the same refund cutoff. The $19,200 spend total must tie to the selected campaign charges. Spend per acquisition is 19,200 / 2,400 = $8.00; spend per retained user is 19,200 / 580 = $33.10, rounded.
Paid social looks cheapest at acquisition. Its $40.00 cost per retained user is higher than the partner campaign's $25.00, while recorded revenue per acquired user is lower. The marketing owner can investigate targeting and the offer before shifting spend; the cohort table alone does not prove incremental lift.
Use customer acquisition cost when the decision needs fully loaded acquisition expense per new customer. Apply the separate marketing ROI versus ROAS margin test before treating recorded revenue as a profit result. Campaign response after a text message belongs in SMS marketing analytics; business lead progression belongs in B2B marketing analytics.
Bring your acquisition outcome, campaign cost and recorded revenue exports, with the observation windows defined. Covirage maps the columns; its tools compute and check the cohort comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, and bring a sample of your own data.
See Covirage for sales insights for the supporting business context.
Covirage is not affiliated with Microsoft or Google.
Start with acquired users, cost per acquired user, activation rate, retention at a stated age and recorded revenue per acquired user. Define each event and window before comparing campaigns. Add customer acquisition cost separately when the business needs the full cost of acquiring paying customers.
Activation is the first meaningful action you define, such as completing an initial workout. Retention is a later qualifying return. A user can activate and never return, so the report needs separate event rules, observation windows and counts for the two measures.
Only at an age both cohorts have reached. Compare early activation while the new cohort matures, and hold its later retention and revenue cells as unavailable. A missing observation period must not become a zero outcome.
No. Recorded revenue covers transactions observed within your stated window. Lifetime value reaches beyond that window and may require assumptions about future behavior and costs. Label the observed period clearly and keep forecasts outside this acquisition comparison.