The first question every store owner asks after launching campaigns is simple: are these ads actually making money? The quick answer is usually the ROAS figure in Ads Manager. But if you want to know how to calculate ROAS properly, one number pulled from a platform is not enough, because a misread ROAS can make a losing campaign look like a winner. This guide walks you through the formula, your break-even point and a target ROAS, with illustrative worked examples you can copy into your own spreadsheet.
What is ROAS and why it matters
ROAS stands for Return On Ad Spend. It answers one question: how much revenue came back for every unit of currency you spent on ads?
It is a fast way to compare campaigns, ad sets and platforms against each other. Most major ad platforms report it or let you measure it, and some offer value-based bidding built on it, such as Target ROAS in Google Ads. The catch is that ROAS measures revenue, not profit, and that gap is the root of most mistakes.
How to calculate ROAS step by step
The core formula is simple:
Illustrative example: you spend SAR 5,000 on a campaign over two weeks, and the platform attributes SAR 15,000 in sales to it.
- Add up actual ad spend for the period: SAR 5,000.
- Add up the revenue attributed to the campaign for the same period: SAR 15,000.
- Divide revenue by spend: 15,000 ÷ 5,000 = 3.
Your ROAS is 3, often written as 3x or 300%. Every riyal of ad spend brought back three riyals of sales. It looks great, but is the campaign profitable? You cannot tell yet.
Why a ROAS of 3 can still lose money
Those SAR 15,000 are revenue, not profit. From every order you still need to subtract:
- The cost of the product itself (cost of goods).
- Shipping, delivery and packaging.
- Payment gateway or marketplace fees.
- Returns and cancelled orders, which hit hard with cash on delivery.
With thin margins, a ROAS of 3 can sit below your break-even point, and every budget increase simply scales the loss. So learning how to calculate ROAS is only half the job; you also need the number that covers your costs.
Calculating break-even ROAS
Break-even ROAS is the lowest ROAS you need to avoid losing money on ads:
Contribution margin is what is left of the selling price after the variable costs of an order (product, shipping, payment fees), expressed as a percentage of the price.
Illustrative example: a product sells for SAR 200:
| Item | Value |
|---|---|
| Selling price | SAR 200 |
| Product cost | SAR 90 |
| Shipping and packaging | SAR 20 |
| Payment fees | SAR 5 |
| Left over (contribution margin) | SAR 85 = 42.5% |
Break-even ROAS = 1 ÷ 0.425 ≈ 2.35. Anything below 2.35 loses money at the order level; anything above it covers costs and leaves profit.
Here is a quick reference for margin versus break-even:
| Contribution margin | Break-even ROAS |
|---|---|
| 20% | 5 |
| 25% | 4 |
| 33% | about 3 |
| 40% | 2.5 |
| 50% | 2 |
Notice how quickly the required ROAS climbs as margin shrinks. Sometimes improving pricing or shipping costs helps your campaigns more than any targeting tweak.
From reported ROAS to real ROAS
Back to our example. The platform reported SAR 15,000 in sales, but your store data shows 20% of those orders were cancelled or refused at delivery. Collected revenue is SAR 12,000.
- Platform ROAS = 15,000 ÷ 5,000 = 3.
- Real ROAS = 12,000 ÷ 5,000 = 2.4.
- Break-even = 2.35.
Approximate campaign profit = 12,000 × 0.425 − 5,000 = 5,100 − 5,000 = SAR 100. The campaign that looked like a star barely covers its costs. Knowing how to calculate ROAS from collected revenue rather than the dashboard is what separates a professional media buyer from a guesser.
Target ROAS: what you need to make a profit
Break-even protects you from losses, but the goal is profit. If you want a 10% net margin after ad costs:
In our example: 1 ÷ (0.425 − 0.10) = 1 ÷ 0.325 ≈ 3.08. You need a real ROAS of about 3.1 to keep 10% as profit. That is the target to give your team, not a generic "good ROAS" copied from the internet, because a healthy ROAS depends on each business's margins and market.
Tracking checks before trusting platform ROAS
For the dashboard number to be close to reality, confirm that:
- Your pixel or tracking sends the actual order value with the purchase event, not a fixed value.
- The currency in your store and ad account match, or you convert at a clear rate.
- The purchase event does not fire twice when the thank-you page is refreshed.
- You know the attribution window each platform uses, so you compare like with like.
Common ROAS mistakes
- Trusting platform numbers alone: each platform claims sales based on its own attribution window. Add up Meta, Snapchat and TikTok and the total can exceed your actual store sales.
- Ignoring returns and cancellations: especially with cash on delivery, common in Saudi Arabia and Egypt.
- Using gross margin instead of contribution margin: forgetting shipping and payment fees gives you a break-even point lower than reality.
- Judging too early: one or two days of data is not enough, particularly during the learning phase.
- Comparing ROAS across different businesses: a ROAS of 2 can be excellent at a 60% margin and a disaster at 25%.
MER: the full picture above ROAS
Alongside campaign ROAS, track MER (Marketing Efficiency Ratio):
Illustrative example: this month you spent SAR 6,000 on Meta, 4,000 on Snapchat and 2,000 on TikTok, SAR 12,000 in total. The platforms together claim SAR 40,000, but your store actually recorded SAR 30,000. MER = 30,000 ÷ 12,000 = 2.5, the most honest number for deciding whether to raise or cut overall budget. Use ROAS to compare campaigns inside a platform and MER to judge the whole picture. If Snapchat is part of your mix, see our Snapchat ads guide for Saudi Arabia.
A weekly review checklist
- Calculate the contribution margin of each key product and update it when prices or shipping change.
- Derive break-even and target ROAS for each product or category.
- Compare platform ROAS with collected revenue after cancellations.
- Calculate weekly MER from your store data.
- Pause or fix campaigns that stay below break-even for long enough, and scale gradually the ones above target.
For channel choice before you split budget, read our Google Ads guide for Saudi businesses, and if you run a Salla store see how to market a Salla store.
How AI helps you keep score
You can pull platform and store data into one sheet, then use an AI tool to produce a daily report showing spend, collected revenue and real ROAS against break-even, with an alert when a campaign drops below the threshold. Automation does not make the decision for you, but it removes manual calculations and reduces errors.
The takeaway
Knowing how to calculate ROAS is the starting point, not the finish line: calculate it from real revenue, compare it with break-even (1 ÷ margin), set a target ROAS that delivers the profit you want, and watch MER for the full picture. This method is a core part of our Performance Marketing & AI course, which combines analysis and automation in one practical track.
Frequently asked questions
What is the formula for ROAS?
ROAS = revenue from ads ÷ ad spend. For example, SAR 1,000 in spend that generates SAR 4,000 in sales gives a ROAS of 4.
What is a good ROAS?
There is no universal number. A good ROAS is one above your own break-even point, which is 1 divided by your contribution margin, plus enough headroom for the profit you want.
How do I calculate break-even ROAS?
Divide 1 by your contribution margin after product cost, shipping and payment fees. At a 40% margin, break-even ROAS is 1 ÷ 0.40 = 2.5.
What is the difference between ROAS and ROI?
ROAS compares revenue with ad spend only, while ROI compares net profit with all costs. A campaign can show a high ROAS and still lose money.
Why does platform ROAS differ from my store sales?
Each platform attributes sales using its own attribution window and does not subtract cancellations or returns. Always compare with collected revenue and track MER from store data.