User Acquisition

Cost Per Action (CPA)

Also known asCPACost Per AcquisitionCost per Conversion

The cost of acquiring one user who completes a defined action — registration, trial start, first purchase — rather than just installing. Always higher than CPI.

Key takeaways

  1. 01CPA targets a downstream action (trial start, registration, first purchase), not just install — so it always exceeds CPI.
  2. 02CPA / CPI ratio tells you funnel efficiency: a 5× ratio means 1 in 5 installs reaches the action; a 20× ratio means 1 in 20.
  3. 03Use CPA optimization in ad platforms when LTV signals don't arrive fast enough — trial-start, registration, level-N-completion as proxies.
  4. 04CPA is most useful for subscription apps (trial-start optimization) and high-funnel apps where install ≠ activation.

CPA (cost per action) measures the cost of one user completing a defined post-install action, not just installing. The "action" is whatever event you've configured as the optimization goal: trial start, account registration, first session length > 5 minutes, level-10 completion, first purchase. Because not every install reaches the action, CPA is always higher than CPI — sometimes 2× higher, sometimes 20× higher, depending on how many installs flow through to that event.

CPA / CPI ratio is a funnel-efficiency metric. A 5× ratio means 1 in 5 installs reach the action; a 20× ratio means 1 in 20. Mature UA programs track this ratio over time — a rising ratio means installs are converting less efficiently (worse targeting, weakening creative-to-product fit, or a product change that broke activation). A falling ratio means the funnel is improving.

When to optimize for CPA vs CPI

The trade-off: CPA optimization needs more data per ad-set than CPI optimization (the network needs ~50 actions per week per ad-set to learn). If your action is too rare, CPA optimization fails — use a higher-funnel proxy event.

Pass CPA signals back to ad networks. Meta, TikTok, AppLovin all accept post-install conversion events as optimization signals. Configure your MMP (AppsFlyer, Adjust, Singular) to fire these events server-side as users hit them — and let the ad platform's algorithm bid based on which users will likely complete the action, not just which will install.

Quick answers

What is CPA in mobile app marketing?

**CPA (cost per action)** is the cost of one user completing a defined post-install action — trial start, account registration, first purchase, content engagement milestone. Because not every install reaches the action, CPA is always higher than CPI. The target action is configurable per campaign; the ad platform optimizes bidding toward users likely to complete it.

How is CPA different from CPI?

**CPI** counts every install as a success. **CPA** only counts installs that complete a defined downstream action (trial start, purchase, registration). Because most installs don't reach the action, CPA is always higher than CPI — typically 5-20× depending on how deep in the funnel the action sits. CPI optimization rewards install volume; CPA optimization rewards install quality.

When should I optimize for CPA instead of CPI?

When install ≠ activation, and you need the ad network to filter out low-intent installs. Common cases: subscription apps optimizing for trial-starts, finance / fintech apps optimizing for KYC-completed users, content apps optimizing for engaged users. CPI optimization is fine when most installs convert to value (hyper-casual games, broad utility apps).

Why does my CPA optimization underperform?

Most often: the action event is too rare. Meta / TikTok / AppLovin need roughly 50 events per week per ad-set to learn well. If your "action" fires fewer than 50 times per week in a given ad-set, the optimization signal is too sparse and bidding becomes random. Fix: use a higher-funnel proxy event (registration instead of first purchase, session-length-5min instead of subscription-start) and trade specificity for signal density.

Back to glossary