Mobile user acquisition
What to measure after the app install
A practical way to connect acquisition spend with activation, retention, and the actions that make an app valuable.

A low cost per install is easy to celebrate. It is also possible to buy inexpensive installs from people who never get past the welcome screen. Meanwhile, a more expensive source may bring people who use the app, come back, and pay. The install report alone cannot tell you which situation you have.
The useful question is what happens next, and how much it costs to get someone there. That requires a few shared definitions, reliable events, and patience while new users have time to act. You do not need to measure every tap. You need enough detail to distinguish an acquisition problem from an onboarding problem, and an encouraging early signal from a result worth funding.
Choose an action that means someone got value
Activation is the first behavior that gives you a credible reason to think a person has experienced what the app is for. A fitness app might use a completed workout. A budgeting app might use a first budget created with expenses added. Registration can be a necessary step, but it mostly tells you that someone completed registration.
Choose an event that happens soon enough to inform decisions and has a sensible relationship to later use. Then test that relationship as data accumulates. If people who complete your chosen action rarely return, it may describe onboarding compliance more than genuine value. Avoid changing the definition simply because another event produces a better-looking rate.
Keep the steps leading to that event visible: first open, onboarding completed, workout started, workout completed. If people start workouts but do not finish, that calls for a different investigation than an empty onboarding screen. These supporting events explain the outcome; they do not all need to become campaign goals.
Check the events before judging the traffic
Before spending more, walk through the journey on a real device and inspect what the measurement system receives. A completion event should mean the action finished successfully. A tap on a purchase button, for example, is not proof of a successful payment. Where practical, reconcile important outcomes with the system that records their completion.
- Complete the action once, repeat it, and retry after an interrupted connection. Check for missing events and duplicate counts.
- Test a failed attempt and a cancellation. Confirm they do not appear as completed actions.
- Check timestamps, time zones, app versions, and the handling of signed-out and signed-in users. Document how reinstalls and multiple devices affect your user count.
- Verify that test activity is identifiable and excluded from decision reports. Check that collection respects the choices and permissions in the app.
For apps using Firebase Analytics, DebugView exposes event data from development devices with minimal delay, including event parameters. It is useful for checking whether the intended event was recorded while you perform a test. Firebase: validate events with DebugView (opens in a new tab)
A clean test does not guarantee a clean production report. After a release, watch for abrupt changes across several sources at once. If activation falls everywhere on the same day, check the release and measurement pipeline before blaming every audience. Keep a simple change log so someone reviewing the chart next month can explain that break.
Put cost and useful activity on the same page
Take the spend assigned to an acquisition cohort and divide it by the number of unique users in that cohort who activate within the agreed window. That gives you cost per activated user. Show the activation rate and the underlying counts beside it, alongside cost per install.
| Measure | Campaign A | Campaign B |
|---|---|---|
| Campaign spend | $1,000 | $1,000 |
| Eligible installs | 500 | 250 |
| Activated users | 50 | 75 |
| Activation rate | 10% | 30% |
| Cost per install | $2.00 | $4.00 |
| Cost per activated user | $20.00 | $13.33 |
Campaign B costs twice as much per install but produces 25 more activated users for the same spend. Its activation cost is about a third lower. That is a reason to investigate B further, not proof that it will be more profitable or that it can maintain the result at a much larger budget.
In a real report, installs and recorded first opens may differ. Show the gap rather than silently switching denominators. Keep spend coverage consistent too: label media-only cost as media-only cost, and use a separate fully loaded view when creative, agency, or other acquisition expenses matter to the decision.
Give every cohort the same opportunity
A cohort is a group with a shared starting point, such as users first opening the app during a particular week. If activation has a seven-day window, everyone in the group needs the full seven days before you call the result complete. A weekly cohort that includes Sunday arrivals will not be mature on Monday.
Retention needs an equally precise definition. For your own analysis, “day-seven retention” might mean a user performs a useful action from 168 hours up to, but not including, 192 hours after first open, with day zero starting at first open. “Returned within seven days” instead counts a return after the initial session but within the first 168 hours. Someone returning on day two but never again can qualify for the second measure and fail the first.
Google Analytics groups users by acquisition date in its retention-by-cohort reporting. Check the definitions in the report you use before comparing its retention figure with a custom calculation or another analytics tool. Google Analytics: retention reporting (opens in a new tab)
State the denominator as well. Returning users divided by all eligible new users answers a different question from returning users divided only by activated users. The latter can help diagnose the product experience, but it hides the people acquisition failed to activate. Keep both when useful, with clear names.
Finally, compare similar conditions. Geography, operating system, app version, offer, and first-use experience can change the result. Start with the largest meaningful differences; slicing a small cohort into dozens of combinations usually leaves too little evidence in each one.
Carry the comparison through to the business
Activation is an early signal. Follow it with the outcome that supports the app: a paid subscription, fulfilled order, repeat booking, or another relevant result. For subscriptions, keep trial starts separate from first payments and renewals. For commerce, include cancellations and refunds rather than treating every checkout as money retained.
Revenue alone can also flatter a campaign. Suppose an illustrative cohort records $1,800 in revenue before refunds and costs $1,000 in media. Its revenue-to-ad-spend ratio is 1.8. If refunds and variable costs consume $900, only $900 remains before acquisition costs. After media, the cohort is $100 short, before any fixed overhead. The exact cost categories depend on the business, but the distinction matters.
Use a stated observation window for revenue and contribution, just as you do for activation. Keep observed value separate from projected lifetime value. A forecast based on a few early renewals is still a forecast. Record its assumptions and check them against later cohorts before allowing it to justify a higher acquisition cost.
Know what campaign credit can tell you
Attribution assigns credit according to a measurement method and its rules. Incrementality asks how much behavior happened because of the advertising. A person can receive an ad, install the app, and be credited to a campaign even if they were already planning to install.
Google describes Conversion Lift as a controlled comparison of groups exposed to advertising and groups held back from it. The aim is to estimate additional conversions caused by the advertising. Availability and suitability depend on the account and study setup. Google Ads: how Conversion Lift works (opens in a new tab)
You can use attribution for everyday monitoring while recognizing that causal questions need a stronger design. Before a substantial spending increase, consider whether a properly designed holdout or other incrementality study is feasible. Simply comparing an advertised week with a quiet week leaves seasonality, promotions, and product changes mixed into the answer.
Keep unattributed and modeled results visible where your reporting supports them. Do not allocate unknown users to whichever source needs a better number. Record the reporting settings so a change in campaign credit is not mistaken for a change in customer behavior.
Build a review that ends with a decision
Bring acquisition, product, and whoever owns revenue into the same recurring review. Use one cohort view with spend, eligible users, activation, a defined return measure, and the available commercial outcome. Mark incomplete windows clearly. Recent cohorts can reveal tracking failures quickly, but they cannot yet answer a thirty-day value question.
Always show counts alongside percentages. Four activations from twenty users is 20%; six from twenty is 30%. Two additional people create a ten-percentage-point difference. That is worth observing, but it is a fragile basis for moving the whole budget. There is no universal sample threshold: the required evidence depends on normal variability, the size of the change, and the cost of being wrong.
- Check whether the data is complete and whether tracking, spend, or the app changed.
- Compare the newest mature cohorts with prior mature groups under similar conditions.
- Locate the first meaningful drop: before activation, after initial value, or at payment and renewal.
- Choose one test, name an owner, and write down the expected result, review date, and spending limit.
If an ad promises a quick workout and new users face a lengthy setup before seeing one, test that mismatch directly. If activation looks healthy but renewals disappoint, examine what people receive after the first session. The point of the report is to choose the next useful piece of work, then see whether it helped.

