Free Shopify store auditSpeed, SEO and conversion leaks — no cost, no obligation.
Claim it
Thriftizer Solutions LLPShopify Select Partner
Book a Growth Audit
PPC Sep 11, 2026 7 min read

ROAS vs ROI in PPC: Which Metric Should You Track?

ROAS is a steering metric; ROI is the verdict. A worked example on a ₹12L revenue month shows why a 4x ROAS store made ₹21,000 — and what to track instead.

ROAS vs ROI in PPC: Which Metric Should You Track?

Track both, but not at the same cadence and not for the same decision. ROAS is a steering metric: you look at it daily, per campaign, to decide where the next ₹10,000 goes. ROI is a verdict: you calculate it monthly, on contribution margin after COGS, shipping, RTO, gateway fees and GST, to decide whether the channel deserves the budget at all. The ROAS vs ROI argument only gets heated because most teams report one and assume it implies the other. It doesn't. We've seen a 4x ROAS month land at roughly break-even once the real costs went in, and a 2.6x month throw off cash because the product mix was different.

What each number actually measures

ROAS is revenue attributed to ads divided by ad spend. Nothing else. No cost of goods, no freight, no returns, no tax. Meta and Google report it because it's the only figure they can see, and they report it against their own attribution window, which is why the two platforms together will happily claim more revenue than your Shopify admin recorded.

ROI, done properly, is profit divided by the investment that produced it. For a D2C brand that means contribution profit: delivered net revenue, minus product cost, minus fulfilment, minus payment costs, minus the cost of everything that came back, minus the ad spend itself. Divide that by ad spend and you get a number that tells you whether the month was worth doing.

One is a ratio of gross revenue. The other is a ratio of money you keep. Treating them as interchangeable is how brands scale into a loss with a dashboard full of green.

Why a 4x ROAS can still lose money

Here's the arithmetic on a fairly ordinary apparel store. Average order value ₹1,800, GST-inclusive pricing at 12%, COGS at 32% of net revenue, 62% of orders on COD.

  • Ad spend: ₹3,00,000
  • Reported revenue: ₹12,00,000 → ROAS 4.0
  • Orders: ₹12,00,000 ÷ ₹1,800 = 667

Strip GST first. ₹12,00,000 ÷ 1.12 = ₹10,71,000 net. Your ROAS just went from 4.0 to 3.57 and you haven't spent a rupee yet. Every brand with tax-inclusive pricing is carrying this gap and most don't adjust for it.

Now returns. At 24% RTO on COD and 5% on prepaid, that's (413 × 0.24) + (254 × 0.05) ≈ 112 orders that never get delivered, or 16.8% of the book. Each carries net revenue of ₹1,607, so ₹1,80,000 of that revenue evaporates, plus roughly ₹140 each in forward and reverse freight: ₹15,700 burnt.

Delivered revenue: ₹8,91,000. Against that:

  • COGS on 555 delivered orders at ₹514 each: ₹2,85,000
  • Shipping and packaging at ₹75: ₹42,000
  • RTO freight: ₹16,000
  • Gateway at 2% on 241 prepaid orders: ₹9,000
  • COD remittance at ₹25 on 314 orders: ₹8,000

Contribution before ads: ₹5,31,000. Minus the ₹3,00,000 of spend, you're left with ₹2,31,000. Call fixed costs — salaries, rent, app subscriptions, agency retainer — ₹2,10,000 a month, and the 4x ROAS month made ₹21,000.

That's the whole ROAS vs ROI problem in one line. The channel returned 77% on ad spend at the contribution level and about 7% after overheads. Nobody scales on that, but plenty of brands do, because the dashboard said 4.

Compute your break-even ROAS once, then stop arguing about targets

From the numbers above, contribution before ads was ₹5,31,000 on reported revenue of ₹12,00,000. That's a margin rate of 44.25% on the revenue figure Meta shows you. Break-even ROAS is 1 ÷ 0.4425 = 2.26.

Below 2.26 the store is losing money on every incremental order. Between 2.26 and roughly 3.2 it covers variable costs and chips at overhead. Above that it's genuinely funding the business. Now your media buyer has a floor and a target that mean something, rather than a 4x rule inherited from a podcast.

Recompute this quarterly, and separately for each major category if your margins differ. A brand selling both ₹600 accessories and ₹4,500 outerwear has two break-even ROAS numbers, and one blended target will overspend on one and starve the other.

The lever that beats optimisation

Same store. Work out what one point of RTO is worth. Converting one RTO order into a delivery adds ₹1,607 of net revenue, costs ₹514 in COGS and ₹75 in shipping, and saves ₹140 of return freight — about ₹1,130 of contribution per order. One percentage point of RTO on 667 orders is 6.7 orders, so ₹7,580 a month.

Pull RTO from 16.8% to 11.8% with OTP verification on COD, a partial prepaid nudge, address validation and a COD fee on low-value orders, and you've found roughly ₹38,000 a month.

Compare that with a 0.2 improvement in ROAS. That's ₹60,000 more reported revenue on the same spend, which at 44.25% contribution is ₹26,550. So five points of RTO is worth more than a creative and bidding win most teams would be pleased with, and it doesn't decay when the algorithm rebalances. We bring this up in most performance reviews and it's usually the least popular slide, because operations work is less fun than testing hooks.

Blended numbers, and what they hide

Platform ROAS double counts. A customer who clicks a Meta ad on Tuesday, searches your brand name on Thursday and buys gets claimed by both. Add the two dashboards and you'll exceed your own Shopify revenue.

MER — total store revenue divided by total ad spend — fixes the double counting by refusing to attribute anything. It's the honest number for weekly reporting, and it's the one we'd put in front of a founder. It also tells you nothing about which campaign to pause, which is why it can't replace platform ROAS.

The trap with MER is brand demand. If 30% of your revenue is people typing your name into Google, MER flatters your paid social as it grows and punishes it during a quiet month that had nothing to do with the ads. Track branded search volume next to MER so you can tell the difference. If organic is doing heavy lifting, that's an argument for feeding it rather than for cutting paid — content and SEO work compounds in a way media buying never does.

First-order ROI versus lifetime ROI

Everything above is single-order arithmetic. If your repeat rate is real, first-order ROI is the wrong test. A supplement brand with 40% of customers reordering inside 90 days can rationally run below break-even ROAS on acquisition, as long as it knows the payback period and can fund it.

But be strict about two things. First, use cohort data, not a blended LTV pulled from a report that includes customers acquired three years ago on cheaper CPMs. Second, know your payback window in months and check it against your cash position. A 90-day payback is fine. A 14-month payback funded by working capital during a festive push is how brands run out of money in February.

Report new-customer ROAS separately from total ROAS. On Meta this needs an exclusion audience and, ideally, a look at Shopify's own first-time versus returning split, because the platform's idea of a new customer and yours will not match.

What to look at, and how often

Daily, per campaign: platform ROAS and CPA, against a floor derived from your own break-even, not a benchmark. You're looking for direction, not truth.

Weekly: MER, new-customer share, AOV and RTO rate. This is where you catch a discount code leaking into an affiliate feed or a shipping partner quietly degrading in tier-3 pincodes.

Monthly: contribution ROI by channel and by category, CAC payback, and the break-even ROAS recomputed if COGS or freight moved. This is the meeting where budgets change.

One more thing that sits underneath all of it: if your product pages take three seconds to render on a 4G connection in Nagpur, you are paying full CPC for traffic that leaves before it sees the price. We've watched a store's Meta ROAS move more from an LCP fix than from a month of creative testing. Landing page performance is a media metric, whether or not it shows up in Ads Manager.

Where the two metrics genuinely conflict

A campaign at 6x ROAS selling your lowest-margin SKU can be worth less than a 3x campaign selling your best. A retargeting pool will always out-ROAS prospecting and will always be capped in size. Google Shopping on branded queries posts spectacular ROAS for demand you already owned. In each case ROAS says one thing and ROI says another, and ROI wins. The exception: in-platform bidding needs a signal it can optimise against, and contribution margin isn't available to it in real time. So feed the platform a value that approximates margin — send your actual product-level margin as a conversion value where your setup allows, or at minimum separate high-margin and low-margin catalogues into different campaigns with different targets. As a Google Partner and Meta Business Partner we get access to the same bidding tools everyone else does; the advantage is entirely in what you feed them.

Start here

Open a spreadsheet and calculate one number: your break-even ROAS, using last month's actual COGS, actual RTO rate and GST-adjusted revenue. If it comes out above what you've been targeting, you have been buying revenue at a loss. That single figure changes more decisions than any dashboard change will.

If you'd rather have someone else check the arithmetic against your store data and ad accounts, our free audit covers exactly this.

Previous postNext post

Ready to scale your D2C brand profitably?

Let's build a growth engine that drives more traffic, more conversions and more profit.

Book a Growth Audit
📅 Free Audit💬 WhatsApp