ROAS Explained for Mobile Apps (Plus the Calculation Mistakes Most Devs Make)
What ROAS means for mobile apps, how to calculate it correctly across install ROAS, day-N ROAS, and lifetime ROAS — and the four mistakes that make most indie devs misread profitability.
ROAS — Return On Ad Spend — is the metric most indie devs use to judge whether paid acquisition is working. It's also the metric most indie devs calculate incorrectly, then either turn off profitable campaigns or pump money into unprofitable ones.
This is the glossary post for what ROAS actually means in mobile, including the three time horizons that matter and the calculation traps to avoid.
The basic formula
ROAS = Revenue from ad spend / Ad spend
If you spent $1,000 and got $1,500 back, ROAS = 1.5 (or 150%).
Simple. The problem is which "revenue" and which "ad spend" — and over what time window.
The three ROAS time horizons
1. Install ROAS (D0 ROAS)
Revenue from in-app purchases or subscription sign-ups that happen on install day. For most subscription apps, this is roughly the trial-start rate × trial price (often $0 if free trial).
Use it for: real-time campaign optimization within Apple Search Ads, Google App Campaigns, Meta. Networks need a same-day signal.
Don't use it for: profitability decisions. Most apps are unprofitable on D0.
2. Day-N ROAS (D7 / D14 / D30)
Revenue from users acquired by ad spend, measured at day 7, 14, or 30 after install. The most useful "early signal" of campaign quality.
Industry benchmarks (2026, varies by category):
- D7 ROAS ≥ 40-60%: campaign likely to break even.
- D30 ROAS ≥ 80-100%: campaign profitable on payback.
Use it for: pausing bad campaigns, scaling good ones.
3. Lifetime ROAS (LTV ROAS)
Total revenue from a cohort over their entire lifetime / spend to acquire them. This is the real answer to "is this profitable."
Most apps need 90-180 days of cohort data to estimate LTV ROAS confidently. See measuring true ROAS for subscription apps for the full method.
The four calculation mistakes
Mistake 1: Including organic revenue
If you tag your "ad spend" as the cost of one channel (say, Apple Search Ads) but tag your "revenue" as all revenue from users who installed via ads, you're double-counting any organic uplift from those ads.
Fix: attribute revenue strictly to the install source. Use an MMP (Adjust, AppsFlyer, Singular) or Apple's SKAdNetwork postbacks.
Mistake 2: Forgetting Apple's 30% (or 15%)
Your gross subscription revenue is not what hits your bank. Apple and Google take 15-30%. Use net revenue in ROAS, not gross.
If a $9.99/month subscription nets you ~$8.49 (small business program) or ~$7.00 (standard), your "revenue" number must reflect that.
Mistake 3: Wrong time horizon
A campaign with D7 ROAS of 25% looks terrible. But if your cohort hits D180 ROAS of 200%, you're leaving money on the table by pausing it.
Most ad-network dashboards default to "ROAS this week" or D7. Override to D30 minimum for serious decisions.
Mistake 4: Ignoring blended ROAS
You can have channel-level ROAS above 100% on every channel and still be unprofitable, if you've ignored fixed costs (devs, servers, support).
Blended ROAS = total monthly revenue / (total monthly spend + fixed costs). If blended ROAS < 100%, you're losing money even if every campaign looks fine.
How to actually calculate ROAS for your app
Run the funnel through the Ad Analytics Calculator — it walks through CPI, CTR, CVR, LTV, and gives you ROAS estimates at multiple time horizons.
The key inputs:
- Ad spend (e.g., $5,000/month)
- Installs (e.g., 2,000)
- Trial conversion (e.g., 30%)
- Paid conversion (e.g., 50% of trial)
- ARPU monthly (e.g., $7 net)
- Avg sub length (e.g., 8 months)
From this:
CPI = $5,000 / 2,000 = $2.50
Paid installs = 2,000 × 0.3 × 0.5 = 300
LTV per paid user = $7 × 8 = $56
Lifetime revenue = 300 × $56 = $16,800
LTV ROAS = $16,800 / $5,000 = 336%
Same campaign at D7 might show 15% ROAS — and you'd kill it if you weren't looking past the early-window number.
Benchmarks by category (2026)
These are approximate from our Ad Benchmark Analyzer data:
| Category | Median D7 ROAS | Median D30 ROAS | Top-quartile D30 ROAS |
|---|---|---|---|
| Health & Fitness | 35% | 70% | 130% |
| Games (casual) | 20% | 45% | 90% |
| Photo & Video | 50% | 100% | 180% |
| Productivity | 40% | 80% | 140% |
| Finance | 30% | 60% | 120% |
| Social | 25% | 50% | 100% |
(Median = the middle app in the category. Top-quartile = top 25%.)
Your category's medians are the floor — below them, find the leak before you scale spend.
When ROAS isn't enough
ROAS misses:
- Retention quality: 100% ROAS from a 1-week cohort that churns is worse than 80% ROAS from a 6-month cohort.
- Brand effects: paid acquisition that lifts your organic ranking via volume isn't credited to the ad spend.
- Cohort cannibalization: paid users who would've installed organically anyway.
Mature teams pair ROAS with payback period, retention curves, and incrementality tests. Indie devs mostly just need correct ROAS — get the basics right first.
Related reading
- Mobile Ad Metrics Guide
- CPM, CPC, CPI in App Advertising Explained
- Measuring True ROAS for Subscription Apps
- Mobile App Monetization Guide 2026
Try the tools
- Ad Analytics Calculator — plug in your numbers, see ROAS across horizons.
- Ad Benchmark Analyzer — see where you sit vs category medians.
Ready to Optimize Your App Store Listing?
Try our free ASO tools — no signup required.