To calculate ROAS (return on ad spend), divide the revenue your ads produced by what you spent on those ads. If you spent $2,000 and the ads brought in $8,000 in sales, your ROAS is 4, often written as 4x or 400 percent. A ROAS of 1 means you got your ad money back and nothing more, before any of your other costs.
The formula is simple. The hard part is deciding which revenue counts, and that is where most ROAS numbers go wrong.
The ROAS formula
ROAS = revenue from ads / ad spend
Both numbers have to cover the same ads and the same period. Revenue should be money you actually collected from buyers who came from those ads, after refunds. Spend should be everything you paid the platform for that period, including campaigns you have since paused or deleted.
Worked examples
All the numbers below are made up and rounded to keep the math easy to follow.
Example 1: a course launch
A course creator spends $3,000 on Meta ads to promote a $500 course. Twenty people buy, so checkout shows $10,000. Two of them ask for a refund within the guarantee period.
- Revenue collected after refunds: $10,000 minus $1,000 = $9,000.
- ROAS: $9,000 / $3,000 = 3.0.
If you had used the checkout total, you would have reported 3.3. The difference looks small here, but on a larger launch with a generous guarantee it can be the difference between scaling a campaign and cutting it.
Example 2: a coaching program on a payment plan
A business coach spends $5,000 on ads that drive people to a webinar and then to a sales call. Four people join a program that costs $1,000 a month for three months.
- After 30 days, each client has paid one installment: $4,000 collected. ROAS is 0.8.
- After 90 days, if all four keep paying: $12,000 collected. ROAS is 2.4.
The same campaign looks like a loss at day 30 and a solid return at day 90. With payment plans or longer sales cycles, read ROAS more than once, and note which date you read it on.
Example 3: per platform and blended
An agency runs ads on three platforms for a client in one month:
- Meta: $4,000 spend, $10,000 revenue. ROAS 2.5.
- Google: $1,000 spend, $1,500 revenue. ROAS 1.5.
- TikTok: $1,000 spend, $500 revenue. ROAS 0.5.
Blended ROAS adds it all up: $12,000 revenue / $6,000 spend = 2.0.
A blended 2.0 looks healthy, and it hides the fact that TikTok returned half of what it cost. Per platform ROAS shows where to move money. Blended ROAS tells you whether advertising as a whole is paying off.
Blended versus per platform ROAS
Per platform ROAS credits each sale to one platform, so it depends on how you decide where a buyer came from. Most small teams use the first tracked touch: the ad that first brought the person in.
Blended ROAS divides all new customer revenue in the period by all ad spend, without asking where each buyer came from. It catches sales your tracking missed, such as someone who saw an ad on their phone and later bought on a laptop. It also includes some sales that had nothing to do with ads, such as referrals.
When the two numbers disagree a lot, that is useful information. A blended ROAS far above the per platform numbers usually means your tracking is losing sources, or a lot of buyers are coming from somewhere other than ads.
Break-even ROAS
A ROAS of 1 covers the ad spend and nothing else. You still have to deliver the product, pay the payment processor, and perhaps pay a sales commission. Your break-even ROAS is:
break-even ROAS = 1 / gross margin
If delivering your program and paying commissions eats 40 percent of the price, your margin is 60 percent and break-even ROAS is 1 / 0.6, about 1.67. Below that, each sale from ads loses money. A digital course with low delivery costs has a lower break-even point than done for you agency work with staff time behind every sale.
Why revenue should be cash collected after refunds
Ad platforms report a "purchase value" based on what their pixel or your reported events told them. That figure is usually the checkout amount at the moment of purchase. It does not know about refunds issued later, failed card payments, or a client who stopped paying after the second installment.
Your payment processor does know. Take revenue from there, match each payment to the buyer, and subtract refunds. Leave out any internal payments, such as your own company paying for a subscription. Then decide whether you subtract processor fees, and keep that choice the same every month so the numbers stay comparable.
Pitfalls that inflate ROAS
Counting organic sales
A buyer who found you through a podcast interview, a referral or your own Instagram posts did not come from an ad. If their payment lands in your ad revenue, ROAS goes up and the ads get credit they did not earn. Keep organic sales in your revenue totals, but out of ROAS for any platform.
Counting revenue from before the first touch
A past client who renews and happens to click one of your ads on the way should not make that ad look like it produced their whole history. Count only payments made on or after the person's first tracked touch. Everything they paid before belongs to whatever brought them in originally.
Mixing time windows
Comparing October's spend with sales from people who first arrived in August gives you a number that describes neither month. Pick a window and count revenue from people whose first touch falls inside it.
Adding up each platform's own report
Each platform counts the sales it thinks it influenced. A buyer who clicked a Meta ad and later a Google ad can show up in both reports. Added together, the platform reports can claim more sales than you made. Use your own revenue and one rule for crediting each sale.
Deleting bad ads and forgetting their spend
Removing a campaign that did badly does not remove what it cost. Keep the spend from paused and deleted ads in the total for the period they ran.
Step by step: calculate last month's ROAS
- Export ad spend per platform for the month, including paused and deleted campaigns.
- List every new contact whose first tracked touch in that month was a paid ad, and which platform it was.
- Match each of them to payments in your payment processor by exact email, then exact phone.
- Add up what each person paid on or after their first touch, minus refunds.
- Divide each platform's revenue by its spend for per platform ROAS.
- Divide all revenue from customers new in the month by all ad spend for blended ROAS.
- Compare both with your break-even ROAS.
- Read the numbers again in 30 and 60 days if you sell on payment plans.
How Niche Engine handles it
The ROAS page in Niche Engine attribution puts Meta, TikTok, Google and OpenAI ad spend beside the revenue from people whose first touch falls in the date window you pick. Blended ROAS sits below it: sales from customers new in Stripe during the window, divided by all ad spend, with renewals from older members left out. Spend comes from daily snapshots, so a deleted campaign keeps its spend.
Revenue comes from Stripe, after refunds and before Stripe fees, and internal billing accounts never count. Each buyer is matched to their contact record by exact email, then exact phone, and attributed revenue counts only payments on or after their first tracked touch. Organic sales show on Revenue but are never reported to ad platforms as paid conversions.
Frequently asked questions
What is a good ROAS?
Any ROAS above your break-even point, which is 1 divided by your gross margin. With a 60 percent margin, break-even is about 1.67, so a ROAS of 3 leaves room for profit.
What is the difference between ROAS and ROI?
ROAS divides revenue by ad spend only. ROI looks at profit after all costs, including delivery, staff and tools, so it is always the stricter number.
Should ROAS include refunds?
Revenue for ROAS should be cash collected after refunds. Using the checkout total overstates the return, especially for offers with a money back guarantee.
What is blended ROAS?
All revenue from new customers in a period divided by all ad spend in that period, without crediting sales to individual platforms. It shows whether advertising as a whole pays off.