How to calculate ROAS
- Ad spend: what you paid the ad network for a campaign in a date range.
- Revenue from ads: the revenue from customers that the campaign brought in, as reported by your attribution.
- ROAS: revenue ÷ spend.
Write the result as a multiple (2.5×) or a percentage (250%). They mean the same thing. A ROAS below 1× means the campaign brought in less revenue than it cost.
Decide which revenue you count before you compare campaigns. Gross revenue is what customers paid. Net revenue is what you keep after app store fees, payment fees, and refunds. Net revenue gives a lower ROAS, but it shows what you actually keep.
Worked example
A fitness app runs two campaigns in September. Revenue is gross store revenue from the users each campaign brought in.
| Campaign | Spend | Revenue | ROAS |
|---|---|---|---|
| Meta | $4,000 | $10,000 | 2.50× |
| Google Ads | $2,500 | $3,000 | 1.20× |
| Total | $6,500 | $13,000 | 2.00× |
Both campaigns are above 1×. But if the app store keeps 30%, the Google Ads campaign brings in $2,100 after fees and cost $2,500. It lost $400. Break-even ROAS, below, shows how to see that from the ROAS alone.
ROAS calculator
Enter revenue and spend for one campaign. Add the share of revenue you lose to store fees or other costs that grow with each sale.
Break-even ROAS
A campaign breaks even when the revenue you keep equals what you spent. If a share c of each dollar goes to fees and other variable costs, you keep revenue × (1 − c). Set that equal to spend and solve for revenue ÷ spend.
Apple and Google keep 15% or 30% of most in-app sales, depending on the program you are in. On the web, card processing usually costs a few percent. If you sell physical goods, add product and shipping costs to the cost share. For example, a store that spends 60% of each sale on goods, shipping, and fees needs a ROAS of 1 ÷ 0.40 = 2.5× just to break even.
Cohort ROAS
Subscription revenue arrives over months, so a single ROAS for "September" mixes old and new users. Cohort ROAS fixes this. Take the users a campaign brought in during one period, and divide their revenue up to day N by what that campaign spent in the same period.
| Install cohort, $5,000 spend | Revenue | ROAS |
|---|---|---|
| By day 7 | $1,750 | 0.35× |
| By day 30 | $4,000 | 0.80× |
| By day 90 | $6,500 | 1.30× |
| By day 180 | $8,000 | 1.60× |
With a 30% store fee, this cohort needs 1.43× to break even. It gets there between day 90 and day 180. On day 7 it looks like a loss, for two reasons. Free trials delay the first payment by days or weeks. Monthly plans then pay in small parts, one renewal at a time. Apps that sell mostly annual plans collect more up front.
Many teams use earlier cohorts to predict later ROAS. If past cohorts reached 4 times their day 7 ROAS by day 180, a new cohort at 0.40× on day 7 projects to about 1.6×. Treat that as an estimate. The ratio changes when you change prices, trials, or audiences.
ROAS vs ROI
ROAS compares revenue with ad spend. Return on investment (ROI) compares profit with cost: (return − cost) ÷ cost. For the Meta campaign above, ROAS is 2.5×. After the 30% fee, it kept $7,000 on $4,000 of spend, so the ROI of the ad spend is ($7,000 − $4,000) ÷ $4,000 = 75%. Use ROAS to compare campaigns quickly. Use ROI, or break-even ROAS, to decide if a campaign makes money.
Common mistakes
- Treating 1× as break-even. Fees and refunds come out of revenue first. Compare each campaign with your break-even ROAS instead.
- Comparing different windows. Cumulative gross ROAS normally rises as a cohort earns revenue. Net ROAS can fall after refunds or attribution corrections. Compare campaigns at the same cohort age and on the same revenue basis.
- Adding up what each network reports. Two networks can both claim the same customer. The sum of their reports can be more than your real revenue.
- Mixing in organic revenue. Total revenue ÷ total ad spend is a different number, often called blended ROAS. It is useful, but do not compare it with campaign ROAS.
ROAS in apps
ROAS is only as good as the attribution behind it. To put revenue next to a campaign, something must link each install to the ad that caused it, and then link later purchases to that install. On iOS, users who do not allow tracking are reported through Apple's SKAdNetwork and AdAttributionKit. These reports come later and with less detail than ad network dashboards. Check that the revenue side of your ROAS comes from your own store or billing data, not only from each network's reports.
In DataDad, ad spend sits next to store revenue, so you see ROAS and cohort ROAS by network and campaign. See mobile attribution.
Questions
What is a good ROAS?
Any ROAS above your break-even ROAS earns money on the campaign. Start from your own cost share, not from a number for another business.
Is ROAS a percentage or a ratio?
Both are common. 2.5× and 250% are the same ROAS. Use one format across your reports.
Should ROAS use revenue or profit?
ROAS uses revenue by definition. To include costs, compare it with break-even ROAS, or calculate ROI.