WhatsApp us
E-commerce

What is a good ROAS? How to find your break-even number (with GST, COD and RTO)

A good ROAS is any ROAS above your break-even number. Here's how to calculate it from your real margins after GST, shipping, COD and RTO, with worked ₹ examples.

Key takeaways
  • There is no universal good ROAS: a good ROAS is one above your break-even ROAS, which comes from your margins.
  • Break-even ROAS = 1 ÷ contribution margin, measured on the same GST-inclusive revenue the ad platform reports.
  • GST, COD fees, RTO, returns, shipping and discounts can quietly push break-even from 1.5x to 2.5x or more.
  • Platform ROAS overstates reality; check it against MER (total revenue ÷ total ad spend) from Shopify.
  • POAS and contribution after ads tell you whether you made money, not just whether the dashboard looks good.
  • Set your ROAS goal close to break-even when you're scaling, and above it when you need profit this month.

The short answer: a good ROAS is one above your break-even

Every founder eventually asks what is a good ROAS, usually after a friend says they run at 5x and your dashboard shows 2.3x. The honest answer: a good ROAS is any ROAS above your break-even ROAS, and that number is set by your margins, not by someone else's screenshot.

A 2.0x ROAS can be comfortably profitable for an apparel brand with 60% gross margins. The same 2.0x will sink a gadget reseller working on 20% margins. So before you judge a campaign, you need one number: the ROAS at which you neither make nor lose money on an order.

This guide shows how to calculate ROAS properly, how to find your break-even ROAS once GST, shipping, COD and RTO are in the picture, what typical ranges look like by category, and when to look past ROAS at POAS and MER.

How to calculate ROAS (and what the dashboard hides)

The ROAS formula is simple: ROAS = revenue attributed to ads ÷ ad spend. It is written either as a multiple (3.0x) or a percentage (300%). Both mean you got ₹3 of sales for every ₹1 spent.

Two things make that 2.0x look better than it is. First, the revenue side: on Shopify the purchase value sent by the pixel is usually the GST-inclusive order value, sometimes with shipping added. None of that GST is yours.

Second, the cost side: the spend in Ads Manager and Google Ads excludes the 18% GST charged on ad invoices in India. If you're GST-registered and claim input tax credit, that washes out. If you're not, your real ad cost is 18% higher than the dashboard shows, and your real ROAS is lower.

ROAS is not ROI

ROAS compares revenue to ad spend. ROI compares profit to total investment. A campaign can show 3x ROAS and still lose money once product cost, shipping and returns are paid. That gap is exactly what break-even ROAS closes.

How to calculate break-even ROAS from your margins

The formula is break-even ROAS = 1 ÷ contribution margin. Contribution margin here means what's left from each rupee of reported revenue after every variable cost of fulfilling the order, but before ad spend.

The key is to measure margin against the same revenue the ad platform reports. If Meta counts GST-inclusive order value, your margin has to be calculated on GST-inclusive order value too, or your break-even will be wrong.

  1. Start with the order value the ad platform reports (usually GST-inclusive).
  2. Remove the GST you owe on the sale.
  3. Subtract landed product cost (manufacturing or purchase, plus inbound freight).
  4. Subtract packaging, forward shipping and payment gateway or COD handling fees.
  5. Adjust for RTO and returns: orders that were counted as purchases but never became revenue.
  6. Divide what's left by the reported order value. That's your contribution margin. One divided by it is your break-even ROAS.

Worked example: a ₹1,499 kurta

Take an apparel brand selling a kurta at ₹1,499 including GST. At the time of writing, apparel priced under ₹2,500 per piece attracts 5% GST, but confirm the rate for your HSN code with your CA. Assume 40% of orders are COD, and a quarter of those come back as RTO, so 10% of all orders return undelivered.

Line itemPer delivered orderNotes
Order value reported by Meta₹1,499GST-inclusive
GST at 5%− ₹71₹1,499 ÷ 1.05 = ₹1,428 net
Product cost− ₹450Landed cost
Packaging− ₹30Mailer, tag, insert
Forward shipping− ₹70Blended across zones
Gateway / COD fee− ₹30Roughly 2% on prepaid, flat fee on COD
Contribution per delivered order₹848Before ads and RTO

Now the RTO adjustment. For every 100 orders Meta reports, 90 are delivered and earn ₹848 each: ₹76,320. The 10 RTO orders earn nothing and cost forward plus return shipping and packaging, say ₹170 each: − ₹1,700. Net contribution is ₹74,620 on ₹1,49,900 of reported revenue.

Contribution margin is ₹74,620 ÷ ₹1,49,900 = 49.8%. Break-even ROAS is 1 ÷ 0.498 = 2.0x. Below 2.0x in Ads Manager, this brand loses money on every order. Above it, each order contributes something toward fixed costs.

Contribution margin (before ads)Break-even ROAS
70%1.43x
60%1.67x
50%2.00x
40%2.50x
30%3.33x
25%4.00x
20%5.00x

From break-even to target ROAS

Break-even ROAS only tells you when an order stops losing money. It says nothing about rent, salaries, apps or your own pay. Your target ROAS needs to include the profit you want from each order: target ROAS = 1 ÷ (contribution margin − target profit margin).

For the kurta brand, a 15% profit on reported revenue means a target of 1 ÷ (0.498 − 0.15) = 1 ÷ 0.348 = roughly 2.9x.

Check it against fixed costs

At 2.9x, every ₹1 of ad spend brings ₹2.90 of revenue and about ₹1.44 of contribution, so ₹0.44 is left after paying for the ad. If your fixed costs are ₹3,00,000 a month, you need roughly ₹6,75,000 of monthly ad spend at 2.9x just to cover them.

That is the real conversation. A brand spending ₹2,00,000 a month at a healthy-looking 2.9x is still losing money overall. The fix is either more scale at the same efficiency, a higher AOV, lower fulfilment costs, or repeat purchases that don't need paid ads.

The costs that quietly move your break-even ROAS

Most break-even calculations we audit are too optimistic because they use gross margin from the product costing sheet. These are the items that usually get left out in Indian e-commerce:

  • GST on sales. Pixel revenue is usually GST-inclusive. At 18% GST, nearly 15% of reported revenue is tax, not margin.
  • GST on ad spend. 18% on top of Meta and Google spend. Recoverable as input tax credit only if you're GST-registered and invoices carry your GSTIN.
  • COD and RTO. COD fees, plus forward and return shipping on undelivered orders. RTO tends to run higher in tier-2 and tier-3 cities and on first-time buyers.
  • Returns and exchanges. A size exchange in apparel means three shipments for one sale.
  • Discounts. A sitewide 20% off during a Diwali sale cuts contribution far more than it cuts revenue.
  • Free shipping. If you absorb shipping below a threshold, it's a variable cost of every order.
  • Payment gateway fees. Small per order but real, especially on EMI and card payments.
  • Agency fees and tools. If they scale with spend, treat them as part of ad cost.

What is a good ROAS by category in India?

With the caveat that your own numbers always win, here are rule-of-thumb ranges for Indian D2C brands selling their own products. The break-even column follows directly from the margin column; the target column is what tends to be workable on a first order.

CategoryTypical contribution margin before adsBreak-even ROASWorkable first-order target
Fashion and apparel (own label)45–60%1.7–2.2x2.5–4x
Beauty and skincare55–70%1.4–1.8x2–3x, with repeat purchases carrying the rest
Jewellery and accessories (own brand)50–65%1.5–2x2.5–4x
Home and decor35–50%2–2.9x3–4x
Food, snacks and FMCG30–45%2.2–3.3x1.5–2.5x if repeat rate is strong
Industrial and B2B e-commerce20–35%2.9–5x4–6x
Electronics and gadgets (resale)10–25%4–10xOften unviable on cold traffic alone

Notice the food and FMCG row: the first-order target sits below break-even on purpose. Brands with strong reorder rates can afford to lose a little on the first order because the second and third orders come through email, WhatsApp and organic, not paid ads. That only works if you actually measure repeat rate by cohort.

ROAS by campaign type

  • Brand search on Google often shows 8x to 20x. Most of those buyers were already looking for you, so don't use it to judge the account.
  • Retargeting shows high ROAS because it reaches people who were likely to buy anyway. Keep it small.
  • Prospecting on Meta or Performance Max will show the lowest ROAS and does the real work of finding new customers.
  • Blended campaigns such as Advantage+ sales campaigns mix all three, so read them alongside new-customer numbers.

For context, our apparel client Fashion Townie runs at 4.0x+ ROAS across Google Performance Max and Meta Advantage+. That's comfortable for apparel margins, but the number only means something next to their break-even. You can see more in our results.

ROAS vs POAS vs MER: which number to run the business on

ROAS is a campaign metric. It's useful for comparing ads and campaigns inside one platform. It's a poor way to judge whether the business is making money, which is where POAS and MER come in.

MetricFormulaWhat it tells youWatch out for
ROASPlatform-attributed revenue ÷ ad spendWhich campaigns and ads perform better inside one platformDouble counting across platforms, GST in revenue
POASGross profit from ad-attributed orders ÷ ad spendWhether ads made money; above 1.0 means profit after adsNeeds product-level cost data sent or joined
MERTotal store revenue ÷ total ad spend, all channelsHow efficient marketing is overall, from Shopify's numbersIncludes organic and repeat sales, so it's a trend metric
New-customer CACTotal ad spend ÷ new customersWhat a new buyer really costs youCompare with first-order and 90-day contribution

Here's why MER matters. Say Meta reports 3.1x and Google reports 4.2x in the same month. Shopify shows ₹12,00,000 of revenue on ₹5,00,000 of total ad spend. Your MER is 2.4x. Both platforms claimed credit for some of the same orders, and neither knows about the orders that came back as RTO.

A practical setup: use platform ROAS to make daily decisions inside Ads Manager and Google Ads, and use MER plus contribution after ads each week to decide whether to raise or cut total budget. If MER is rising while platform ROAS is flat, your tracking is probably under-reporting. If platform ROAS is rising while MER falls, you're likely paying for sales you'd have got anyway.

Why your ROAS in Ads Manager isn't the whole truth

  • Attribution windows. Meta's default credits purchases within 7 days of a click and 1 day of a view. A view-through purchase may have happened without the ad.
  • Double counting. A customer who clicks a Meta ad and later a Google Shopping ad can be claimed by both.
  • Broken or partial tracking. Missing server events or a third-party checkout that bypasses the pixel under-report purchases. Our guide to Meta Conversions API on Shopify covers how to fix this.
  • COD counted too early. The purchase fires when the order is placed, not when it's delivered, so RTO never reaches the dashboard.
  • Brand demand. Festive season, influencer mentions or offline marketing lift all channels, and paid ads take the credit.

The most reliable check is an incrementality test. The simplest version: pause or halve spend in a few comparable states for two to three weeks and compare revenue with the states where spend continued. It's crude, but it tells you more than any attribution model about what your ads actually add.

How to improve ROAS without just cutting spend

Cutting budget almost always raises ROAS, because you stop buying the most expensive customers. It also shrinks the business. The better levers work on both sides of the equation.

Lower your break-even

  • Raise AOV with bundles, combo packs and a free-shipping threshold slightly above your current average order.
  • Push prepaid with a small UPI discount, and confirm COD orders on WhatsApp before dispatch to cut RTO.
  • Renegotiate shipping by zone once volumes grow, and block pin codes with chronic RTO.
  • Move repeat purchases to email and WhatsApp flows so you're not paying Meta to re-acquire existing customers.

Raise the ROAS itself

  • Test new creative angles every week; tired creative is the most common cause of falling ROAS.
  • Fix landing page speed and the mobile product page, since most Indian traffic is on mid-range Android phones.
  • Make sure purchase tracking is complete, with server events and good match quality, so the algorithm optimises on accurate data.
  • Consolidate campaigns so each one gets enough conversions to learn, rather than splitting budget across ten ad sets.

Using your break-even number in the ad accounts

Once you know your break-even and target ROAS, you can put them to work. Meta's ROAS goal bid strategy and Google's target ROAS bidding both let you tell the algorithm the minimum return you'll accept. Start near break-even when you want volume and learning, and move toward target once the campaign is stable.

Set it too high and delivery collapses; the platform simply won't spend. That's a common reason a new campaign stalls on day two. Setting it at your dream number rather than a realistic one is one of the most expensive mistakes on the Meta ads side of D2C.

Plan for festive season too. CPMs rise sharply from Navratri through Diwali and again in wedding season, so ROAS usually dips even while revenue climbs. Decide in advance how far below target you'll accept during peak weeks, based on contribution after ads, not panic.

Frequently asked questions

What is a good ROAS for e-commerce in India?

A good ROAS is any ROAS above your break-even, which depends on your margins after GST, shipping, COD and returns. As a rule of thumb, own-label fashion and beauty brands often break even around 1.5x to 2.2x and aim for 2.5x to 4x, while low-margin resellers may need 4x or more just to break even. Calculate your own number rather than copying a benchmark.

How do I calculate break-even ROAS?

Divide 1 by your contribution margin before ad spend. Contribution margin is what's left of reported order value after GST, product cost, packaging, shipping, payment fees and RTO or return losses. If ₹1,00,000 of reported revenue leaves ₹40,000 after those costs, your margin is 40% and break-even ROAS is 1 ÷ 0.40 = 2.5x.

Is a 2x ROAS good?

It depends entirely on margin. With a 60% contribution margin, break-even is about 1.67x, so 2x is profitable. With a 40% margin, break-even is 2.5x, so 2x loses money on every order. Always compare ROAS against your own break-even figure before calling a campaign good or bad.

What is the difference between ROAS and POAS?

ROAS divides revenue by ad spend, so it ignores what the products cost you. POAS (profit on ad spend) divides gross profit from the orders by ad spend. A POAS above 1.0 means the ads made money after product and fulfilment costs. POAS is better for decisions but needs product cost data joined to your orders.

What is MER in marketing?

MER, or marketing efficiency ratio, is total store revenue divided by total ad spend across every channel. Because it uses your Shopify or accounting numbers rather than platform attribution, it avoids double counting between Meta and Google. It's best used as a weekly trend to decide overall budget, alongside platform ROAS for campaign-level decisions.

Does ROAS in Meta Ads Manager include GST?

The spend shown in Ads Manager excludes the 18% GST on your ad invoice, while the purchase value usually comes from your store and is often GST-inclusive. Both make the reported ROAS look better than reality. Remove GST from revenue in your break-even calculation, and add GST to spend if you can't claim input tax credit.

Written by Arnav Kumar

Arnav is the founder of Adynic Technologies, a New Delhi performance marketing agency and software company. He and the team run Meta ads, Google ads and SEO for D2C brands, local businesses and B2B companies across India. About Adynic

Want us to look at your account?

A senior media buyer goes through your Meta or Google account and shows you where the budget leaks, with a 60-day plan to fix it. Free, with no commitment.

Keep reading

Related guides.