If you run ads, you have probably seen both numbers on the same dashboard and wondered which one to trust. They look similar, they are quoted in the same breath, and they can point in opposite directions on the exact same campaign. This guide walks the formulas, the arithmetic, and the one distinction that keeps stores from scaling themselves into a loss.
What ROAS measures
ROAS is the simplest ad metric there is: revenue attributed to ads divided by the ad spend that produced it.
ROAS = Revenue from ads ÷ Ad spend
Say you spend $10,000 on Meta and Google in a month and those ads drive $40,000 in tracked revenue. Your ROAS is $40,000 ÷ $10,000 = 4.0, often written as 4:1 or 400%. For every dollar in, four dollars of revenue came back.
That is useful for one job: comparing the efficiency of ad channels and campaigns against each other. It is not a profit number, and it was never meant to be one. ROAS stops counting the moment revenue lands — before your supplier, your shipping carrier, or Stripe take their cut.
What ROI measures
ROI widens the lens to the whole investment and swaps revenue for profit.
ROI = (Net profit ÷ Total investment) × 100
Net profit is what is left after every cost: the product, shipping, payment fees, the ad spend itself, and often fixed overhead like software and salaries. Because ROI is stated as a percentage of what you invested, a positive ROI means the effort grew your money and a negative ROI means it shrank it.
Indeed frames a healthy ecommerce ROI as roughly two hundred percent or higher, with anything past five hundred percent considered exceptional, though the "good" threshold depends heavily on your model. ROAS benchmarks are looser still: Triple Whale notes that a ROAS of two or higher is often cited as workable, with some advertisers pushing for four or more, and no universal "good" number exists.
ROAS vs ROI: the core difference
The gap between the two metrics is the gap between revenue and profit. Here is the same campaign read both ways.
Say you sell print-on-demand apparel at a $40 average order value. Your product cost (blank garment plus print plus the supplier's base fee) is $16 per order — a 60% gross margin. On $40,000 of ad-driven revenue, that is $24,000 of gross profit.
Now layer on the variable costs ROAS ignores: $5 shipping, $1.60 payment processing at 4%, and $1.40 pick-and-pack per order. Across 1,000 orders that is another $8,000, leaving $16,000 of contribution margin before ads. Subtract the $10,000 of ad spend and you keep $6,000.
- ROAS: $40,000 ÷ $10,000 = 4.0 — looks great.
- ROI on that ad spend: $6,000 profit ÷ $10,000 spend = 60% — still positive, but a fraction of what the 4.0 implied.
Same campaign, two honest numbers, very different feelings. ROAS graded the ad; ROI graded the business decision. If you want the full map of how these figures connect, our ecommerce metrics guide lays out every formula against one running example.
The trap: a "good" ROAS that loses money
Here is why the distinction is not academic. ROAS has a break-even point that depends entirely on your margin, and most people never calculate it.
Break-even ROAS = 1 ÷ contribution-margin ratio
If your contribution margin (after product, shipping, and fees, but before ads) is 40% of revenue, your break-even ROAS is 1 ÷ 0.40 = 2.5. Below a 2.5 ROAS you are paying to lose money; above it you profit. Now imagine a different store with a thin 20% margin: its break-even ROAS is 1 ÷ 0.20 = 5.0. A 4.0 ROAS that thrills the first store would bankrupt the second.
That is the whole point. A ROAS number means nothing until you know the margin behind it — and margin is exactly what ROI, not ROAS, forces you to confront. Understanding what a P&L actually means for your business is the fastest way to internalize which costs ROAS quietly drops.
POAS: the metric that splits the difference
Between ROAS and full ROI sits a useful middle metric — POAS, or profit on ad spend. It keeps ROAS's clean per-channel shape but swaps profit into the numerator.
POAS = Gross profit from ads ÷ Ad spend, which also equals ROAS × gross-margin ratio.
On the example above: 4.0 ROAS × 0.60 margin = 2.4 POAS. The tidy identity here is that POAS equals 1.0 exactly when your ROAS hits break-even. Anything above 1.0 is profitable ground; anything below it loses money no matter how flattering the ROAS looks. POAS is the number to watch when you want ad-level speed and profit-level honesty at the same time.
When to use each
Use ROAS to optimize inside a channel. It is fast, it updates hourly, and it is the right lens for deciding whether to shift budget from one ad set to another that shares the same margins.
Use ROI to judge the whole engine. It is the metric for questions like "did this quarter make money" or "is our marketing paying for itself once tools, freelancers, and overhead are counted." ROI is slower and needs full-cost accounting, but it is the only one that maps to your bank balance.
A common practice is watching a store-wide read alongside both: MER, the marketing efficiency ratio, is total revenue ÷ total marketing spend. If ads spent $10,000 but total marketing (including a $2,500 email tool and freelancer) was $12,500, MER is $40,000 ÷ $12,500 = 3.2 — lower than the 4.0 ROAS because the denominator is honest about everything you spent to grow.
Why the two numbers diverge
Attribution is the usual culprit. Ad platforms grade their own homework, so Meta and Google both take full credit for orders that touched both — sum their claimed conversions and you double-count, inflating every channel's ROAS. Blended reads like MER and store-level ROI can't double-count, because they never split revenue by channel in the first place.
The other driver is repeat buyers. Ads often get credited for returning customers who would have bought anyway, which puffs up ROAS without adding real acquisition. Splitting out new-customer ROAS — new-customer revenue ÷ ad spend — reveals whether acquisition actually pays. Segmenting buyers by behavior with RFM analysis is how many stores separate the customers ads truly won from the ones they merely re-touched.
Getting the profit number right
Both metrics are only as trustworthy as the costs underneath them. If your COGS is wrong, your margin is wrong, your break-even ROAS is wrong, and your ROI is fiction. This is where most spreadsheets quietly break — a stale supplier price, a shipping cost that moved, a fee tier that changed.
Building the calculation once and keeping it live matters more than which metric you favor. If you prefer to keep it in a sheet, our walkthrough of the right margin formula in Excel shows how to structure it so per-order profit updates itself.
For stores that would rather not maintain the spreadsheet by hand, PodVector connects Shopify, Meta Ads, Google Ads, Printify, and Printful and computes true per-order profit from live data — so your ROAS and your real margin sit side by side instead of in two disconnected tools. Victor, its AI employee, reads that data, flags where a "good" ROAS is actually underwater, and proposes Shopify-side moves you approve; he does not touch your ad account. You can try PodVector free if you want the profit view without building it yourself.
FAQs
Is ROAS or ROI better?
Neither is better; they answer different questions. ROAS tells you how efficiently a specific ad or channel turns spend into revenue, which is ideal for day-to-day optimization. ROI tells you whether the whole investment made a profit after every cost, which is the number that matters for the business. Use ROAS to steer campaigns and ROI to judge outcomes.
Can you have a high ROAS and negative ROI?
Yes, and it happens constantly. ROAS ignores product cost, shipping, fees, and overhead, so a 4.0 ROAS on a thin-margin product can still lose money once those costs are subtracted. ROI counts them all, so it is the one that turns negative first. That is exactly why you should never scale a campaign on ROAS alone.
What is a good ROAS?
It depends entirely on your margin. A useful rule is to calculate your break-even ROAS as 1 ÷ your contribution-margin ratio, then target comfortably above it. Broad industry commentary from Triple Whale suggests two or higher is a common floor and four or more a stretch goal, but a store with fat margins can profit at a lower ROAS than a store with thin ones.
How do ROAS and ROI formulas differ?
ROAS is revenue from ads ÷ ad spend. ROI is (net profit ÷ total investment) × 100. The two differences are the numerator (revenue versus profit) and the denominator (ad spend only versus every dollar invested). Those two swaps are the entire reason the numbers can disagree on the same campaign.
Should I track anything between ROAS and ROI?
POAS is the practical middle ground. It keeps ROAS's per-channel speed but uses profit instead of revenue, so POAS = ROAS × margin ratio. A POAS above 1.0 means the channel is profitable; below 1.0 means it is losing money even if the ROAS looks strong. Many operators also watch MER for a store-wide, attribution-free read.