What is a good ROAS for Meta ads in India? Break even ROAS with COD and RTO

By · · 6 min read

The short answer

A good ROAS for Meta ads in India is any ROAS above your own break even ROAS, worked out on delivered orders. Break even ROAS is order value divided by the profit you keep per order before ads, after the COD orders that come back. With a lot of COD, a 2.5x ROAS can still lose money.

A D2C founder and her teammate reviewing ad results together on a laptop in a bright office.

A good ROAS for Meta ads is not 2x, 3x or 4x.

It is any number above your break even ROAS, and in India that number is often higher than it looks, because Ads Manager counts cash on delivery orders that never get delivered.

If you sell with COD, the ROAS in your dashboard and the money in your bank are two different numbers.

This guide gives you the formula that joins them, with a worked example you can fill in with your own numbers.

I have run Meta ads for 25+ brands since 2017, many of them D2C brands shipping across India.

The question I ask on every account is the same: what ROAS do we need just to stand still?

What is a good ROAS for Meta ads?

A good ROAS is one that leaves profit after every cost, including the orders that come back.

You will hear rules of thumb like "aim for 3x".

None of them knows your margin, your COD share or your return rate, so none of them can tell you if you are making money.

Here is the one line answer:

Good ROAS = any ROAS above your break even ROAS, measured the way Ads Manager measures it, but with your real costs behind it.

What do published ROAS benchmarks say?

Public ROAS data comes mostly from brands outside India. The most recent dataset I could check:

  • Triple Whale's Meta ads benchmarks report a median ROAS of 1.88 on Meta for August 2025 to July 2026, across 17 ecommerce industries, almost flat from 1.86 the year before.

That median tells you something useful: half of the brands in that data tracked less than 1.88 in sales for every 1 spent on Meta ads.

It does not tell you what a good ROAS is for you, because it says nothing about your margin, and it is not Indian data with Indian COD habits.

Why your Meta ROAS is not your real ROAS in India

Three gaps sit between the ROAS in Ads Manager and the profit you keep.

1. COD orders that come back (RTO)

When a COD order is refused or the buyer cannot be reached, the parcel returns to you. That is RTO, return to origin.

Meta still counted that purchase. You paid shipping both ways and earned nothing.

How big is it?

The Shipway ShipNotes FY25 analysis, as cited by Amazon Shipping India, reports about 26% RTO on COD orders overall and under 2% on prepaid orders.

Your own number can be higher or lower by category, price and city. Use yours if you have it.

2. The value Meta sees is not the money you keep

The purchase value your website sends to Meta often includes GST and the shipping charge.

Your margin has to be counted on that same value, or your break even ROAS will look lower than it really is.

3. Meta takes credit for some sales that would have happened anyway

The default attribution setting in Ads Manager is 7 day click and 1 day view.

A person who saw your ad, ignored it and later bought from a Google search can still show up as a Meta sale.

That is not wrong, but it means Meta ROAS is an estimate, not a bank statement.

How to calculate break even ROAS with COD and RTO

Here is the formula I use. It needs three inputs:

  • Order value (A): the average purchase value Meta reports per order.
  • Margin (m): the share of A you keep on a delivered order after product cost, packing, shipping and payment or COD fees, before ads.
  • Delivered share (d): 1 minus (COD share × RTO rate on COD).

And one cost: RTO loss (L), what one returned order costs you in shipping both ways and packing.

Then:

Profit per order before ads = (d × m × A) minus (COD share × RTO rate × L)

Break even ROAS = A ÷ profit per order before ads

If every order is prepaid, this becomes the familiar break even ROAS = 1 ÷ margin.

Worked example (fill in your own column)

This is an illustration for a D2C brand, not a benchmark. Write your numbers in the right column.

Step Example Yours
Order value Meta reports (A) ₹1,200 ₹ ____
Margin on a delivered order (m) 45%, so ₹540 ____ %
COD share of orders 60% ____ %
RTO rate on COD orders 25% ____ %
Orders that come back (60% × 25%) 15% ____ %
Delivered share (d) 85% ____ %
RTO loss per returned order (L) ₹200 ₹ ____
Profit per order before ads (0.85 × ₹540 minus 0.15 × ₹200) ₹429 ₹ ____
Break even ROAS (₹1,200 ÷ ₹429) 2.8x ____ x
Break even ROAS if you ignore COD and RTO (1 ÷ 45%) 2.2x ____ x

What this shows: the brand above thinks it breaks even at 2.2x. It really breaks even at 2.8x.

At a 2.5x ROAS in Ads Manager, it spends ₹480 in ads per order (₹1,200 ÷ 2.5) and keeps ₹429.

It loses ₹51 on every order while the dashboard looks fine.

Key takeawayAds Manager counts a COD order when it is placed. Your bank counts it when it is delivered. Plan on the bank's number.

Try it with your numbers

Break even ROAS calculator (with COD and RTO)

Orders that come back15%

Profit per order before ads₹429

Real break even ROAS2.8x

Break even if you ignore RTO2.2x

At 2.5x you spend ₹480 in ads per order and keep ₹429: a loss of ₹51 on every order.

Example values are an illustration. Your numbers stay in your browser.

What ROAS should you aim for?

Break even means the ads pay for themselves and nothing more. To keep a profit, decide how much you want left per order, then:

Target ROAS = A ÷ (profit per order before ads minus the profit you want to keep)

In the example, to keep ₹150 per order: ₹1,200 ÷ (₹429 minus ₹150) = ₹1,200 ÷ ₹279 = about 4.3x. (Illustration.)

That is why one brand can grow happily at 2.5x and another loses money at 3x.

Key takeawayYour target ROAS comes from your margin, COD share and RTO rate, not from the platform.

For a real reference, our D2C fragrance case study shows how a D2C solid perfume brand from India held 3.5x+ ROAS on Meta for 6+ months with a 35% lower CPL.

How to raise your real ROAS, not just the dashboard one

These moves lift the money you keep. Some of them barely move the Ads Manager number, and that is fine.

  • Confirm COD orders before you ship. A short call or WhatsApp message asking the buyer to confirm the address and the order catches many orders that would come back. A person can send it, or an AI assistant that says it is an AI assistant in its opening line. Ready words are in the free Script Vault.
  • Make prepaid the easy choice. A small prepaid discount or a small advance on COD cuts the orders people place without meaning to receive.
  • Stop shipping where parcels keep coming back. Track RTO by pincode and city, then pause COD where it is clearly losing.
  • Raise order value. Bundles and a sensible free shipping threshold raise A without raising your ad cost per order.
  • Tell Meta which orders were delivered. Sending delivered orders back as a conversion through the Conversions API teaches the algorithm the difference between a buyer and a refuser.
  • Watch blended ROAS too. Total revenue ÷ total ad spend across every channel, checked monthly, keeps attribution from fooling you.

How to find your own numbers

You need three numbers from your own store, and all of them are already in your tools:

  • Margin: take one month of delivered orders. Subtract product cost, packing, shipping, payment and COD fees from the revenue Meta would have seen for them, then divide by that revenue.
  • COD share: COD orders ÷ all orders, from your store dashboard, for the same month.
  • RTO rate on COD: COD orders returned ÷ COD orders shipped, from your courier panel. Look at it by city too, because it is rarely even.

Work the formula once a month.

When your margin, COD share or RTO rate moves, your break even ROAS moves with it, and so should the ROAS you ask your ads to hit.

Where the leak usually is

When ROAS looks fine and cash does not, the leak is usually after the click: COD confirmation, follow up, or payment.

The free Growth Leak Check takes 2 minutes and shows your top 3 leaks across reply speed, follow up, lead capture, ads, offer, content and payments, each with one fix.

If your campaigns run on lead forms, junk leads skew every number you track. Start with these 6 fixes for fake leads from Meta ads.

If your ROAS looks fine but sales still feel thin, ask who owns each lead after the click. This guide helps you decide who to hire for that: AI growth partner vs agency vs freelancer.

If many of your COD orders come back, your real ROAS is lower than Ads Manager shows. Here is how to cut RTO on COD orders, with 7 fixes.

Questions people ask

What is a good ROAS for Meta ads in India?

Any ROAS above your break even ROAS on delivered orders. Break even ROAS = order value ÷ profit per order before ads, after counting COD orders that come back. For a brand with a 45% margin, 60% COD and 25% RTO on COD, it is about 2.8x, not 2.2x. (Illustration.)

Is a 2x ROAS good on Meta?

It can be, if your margin on delivered orders is above 50% and few orders come back. At 2x, ads take half of every rupee of sales. With COD and RTO in the mix, the bar is higher, so work out your own break even ROAS before you judge 2x.

How do I calculate break even ROAS?

For prepaid sales: 1 ÷ margin. With COD: order value ÷ ((delivered share × margin × order value) minus (COD share × RTO rate × loss per returned order)). Use the order value Meta reports, so both sides are measured the same way.

How does RTO affect ROAS?

Meta counts a COD purchase when the order is placed. If the parcel comes back, you lose the shipping both ways and earn nothing, but the dashboard ROAS does not change. The more COD and RTO you have, the higher the ROAS you need to break even.

Should I stop offering COD to improve ROAS?

Not always. COD can bring buyers who would not pay upfront. Confirm COD orders before shipping, nudge prepaid with a small incentive, and switch off COD in the places where it keeps losing money.

Want this handled for you? Funnel audit in India: Madhur checks your ads, page and chats, plan in 24 hours.

THA Circle

Use AI. Still sound human.

A free WhatsApp channel for founders, coaches and creators who want AI to save time without losing the human touch.

  • On joining A welcome pack: 3 AI prompts and 5 chat scripts you can copy today.
  • Monday A short script for your own chats. Ten minutes to try.
  • Wednesday One real chat taken apart, names removed.
  • Friday Human of the Week. A moment a customer felt seen.
Get the free welcome pack

Free. Takes ten seconds. Channel followers stay private. Leave any time.

The Sunday note

How people pay attention, and how to earn it. One email a week.

I study AI, attention, human psychology and marketing. Every Sunday I send one idea and one script for your chats. Five minutes to read. Reply any time, I read every answer.

Get the Sunday note

Free. Leave any time. Your email stays private.

Next: AI search ads in India: what 725 a day buys. Or see the offers.

Read next