DataDad.

ROAS (return on ad spend)

ROAS is the revenue your ads bring in, divided by what you spent on them. If a $4,000 campaign brings in $10,000 in sales, its ROAS is 2.5×, which you can also write as 250%.

Formula
ROAS =Revenue from adsAd spend
Use the same campaigns, dates, and currency on both lines. A ROAS of 1× means the ads paid back their cost in revenue, not in profit.

How to calculate ROAS

  1. Ad spend: what you paid the ad network for a campaign in a date range.
  2. Revenue from ads: the revenue from customers that the campaign brought in, as reported by your attribution.
  3. 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.

CampaignSpendRevenueROAS
Meta$4,000$10,0002.50×
Google Ads$2,500$3,0001.20×
Total$6,500$13,0002.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.

ROAS
–
Break-even ROAS
–
Left after fees and spend
–

The last number does not include fixed costs such as salaries or servers. It shows what the campaign added before those.

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.

Break-even ROAS =11 − cost share
At a 30% store fee: 1 ÷ 0.70 = 1.43×. At 15%: 1 ÷ 0.85 = 1.18×.

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 spendRevenueROAS
By day 7$1,7500.35×
By day 30$4,0000.80×
By day 90$6,5001.30×
By day 180$8,0001.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.