Contribution Margin vs ROAS: How to Judge a Performance Marketing Agency in India
A ROAS screenshot shows how much revenue Meta credited to the ads. Contribution margin shows whether the business kept any money. Judge agencies on the second.
What a ROAS screenshot actually shows
Most agency pitches in India open with an Ads Manager screenshot and a big ROAS number. ROAS is the revenue credited to the ads divided by ad spend. It is a useful number for a media buyer to steer campaigns with. It is not a profit number.
ROAS ignores product cost, shipping, payment gateway charges, packaging, discounts, COD orders that never get delivered, and returns. Two accounts can show the same ROAS while one makes money on every order and the other loses money on every order. The screenshot cannot tell you which one you are looking at.
So when an agency shows you ROAS, ask what was left after costs. That number is contribution margin.
Contribution margin, in plain terms
Contribution margin is what each order leaves you after the costs that come with that order. Indian D2C founders and their CAs usually split it into three layers:
- CM3 is the layer an agency directly affects. It is the honest score for paid marketing.
- Spread RTO and return costs across every order shipped, not only the ones that came back. Otherwise CM2 looks better than it is.
- Work from delivered revenue, not orders placed. COD orders that come back were never revenue.
| Layer | What you subtract | What it tells you |
|---|---|---|
| CM1 | Product cost (COGS), net of discounts and GST | Is the product priced well enough? |
| CM2 | Shipping both ways, packaging, payment gateway and COD charges, RTO and return losses | Does an order still make money once it is delivered? |
| CM3 | Ad spend and other marketing costs | Is paid acquisition adding profit or eating it? |
Work out your break-even ROAS before any pitch
You do not need special software for this. Take CM2 as a share of net revenue. Your break-even ROAS is 1 divided by that share.
If a third of every delivered order is left after product, shipping, gateway and RTO costs, break-even ROAS is 3. Below 3, every sale from ads loses money. If half is left, break-even is 2. Note that this is ROAS on net, delivered revenue, not the figure Ads Manager shows.
Once you know this number, an agency's screenshot means something. A ROAS that looks great in a pitch can sit below your break-even line. A ROAS that looks average can be very profitable for a brand with strong margins. It is also why a dip in ROAS when you scale spend, covered in why ROAS drops when scaling ad spend, matters less than whether CM3 holds up as you scale.
Six ways a ROAS number gets flattered
- GST inside the revenue. Indian prices include GST, and most stores send the full order value to Meta. That GST belongs to the government, not to you.
- Orders placed, not delivered. Meta counts the purchase when the order is placed. If a large share is COD and some of it goes RTO, the reported ROAS includes sales that never happened.
- View-through credit. Meta's default attribution is 7-day click and 1-day view. A view-through purchase may have come from someone who would have bought anyway.
- Heavy retargeting and brand search. Showing ads to past visitors and people searching your brand name gives high ROAS and little new revenue. Ask what share of spend went to new customers. Our retargeting guide explains where retargeting fits.
- Discount-led sales. Deep sale-period offers lift ROAS and cut CM1. The screenshot shows the first, not the second.
- Hand-picked dates and campaigns. One strong week, one winning ad set, during a festive peak. Ask for the full account over at least a full quarter.
What to ask an agency to show you instead
A good agency will not object to these questions. Ask them before you sign, and make them part of the monthly report after you sign.
- Blended numbers next to Meta numbers. Total store revenue against total ad spend (often called MER), shown beside Meta-reported ROAS.
- Delivered revenue, net of GST and returns. Ask how they reconcile Ads Manager with your store's order data and courier data, and how often.
- New customer acquisition cost. What it cost to get a first-time buyer, separate from repeat buyers.
- CM3 trend as spend went up. Did margin after ads hold when the budget was raised, or did it fall away?
- Tracking setup. Whether purchase events go through the Conversions API with correct values. See our Meta CAPI setup guide.
- How they decide to cut or scale. If the answer is only "ROAS above target", ask what that target is based on. It should come from your break-even ROAS.
A fair way to compare two agencies
Our 6-point agency checklist and the longer guide on how to choose a performance marketing agency cover the rest of the decision.
| What you check | ROAS-led pitch | Margin-led pitch |
|---|---|---|
| First question they ask you | What ROAS do you want? | What are your COGS, shipping, RTO and returns? |
| Target they set | A round ROAS number | A ROAS floor worked out from your CM2 |
| Proof they show | Ads Manager screenshots | Blended revenue, delivered orders, CM3 over time |
| Spend split | Rarely discussed | Prospecting vs retargeting, new vs repeat buyers |
| How they treat COD | Counted as a sale on order | Tracked through to delivery or RTO |
| Creative plan | Boost what worked | Steady supply of new ads to keep acquisition cost in check |
What an agency controls, and what it does not
Be fair to the agency too. Product cost, courier rates and your return policy are your decisions. An agency cannot fix a product that loses money at CM2. If your CM2 is thin, no media buyer will make paid ads profitable at scale.
What an agency does control: who sees the ads, how much goes to new buyers, which offers get pushed, how quickly fresh creative replaces tired ads, and how cleanly purchases are tracked. On Meta the ad itself does much of the targeting, so creative quality has a direct effect on acquisition cost and therefore on CM3. Ads that show the product honestly and the price clearly help filter out the wrong buyers before they click. They also tend to bring fewer impulse COD orders that come back.
Agree on who is responsible for what at the start. Then judge the agency on the part it owns: acquisition cost, new customer revenue and CM3, all measured on delivered orders.
How Monastic Media helps
One in-house team in Surat scripts, shoots and edits the ads videos and runs the Meta and Google campaigns they go into, so the people who see the numbers make the next ad. See our performance marketing
Read next
Questions
Is ROAS useless when choosing a performance marketing agency?+
No. ROAS is a good day-to-day steering number for campaigns. It is a poor way to compare agencies, because it ignores costs and can be flattered by GST, undelivered COD orders and retargeting.
How do I calculate break-even ROAS for my D2C brand?+
Work out CM2 as a share of net, delivered revenue, after product, shipping, gateway, packaging and RTO costs. Divide 1 by that share. If a third of each order is left, break-even ROAS is 3.
What is the difference between ROAS and MER?+
ROAS is the revenue an ad platform credits to its own ads divided by spend on that platform. MER is total store revenue divided by total ad spend across all channels, so one platform's attribution cannot inflate it.
Should RTO be counted when an agency reports results?+
Yes. For COD-heavy Indian brands, orders that return to origin are not revenue and they cost shipping both ways. Reports should be based on delivered orders, not orders placed.
What should I ask an agency that only shows ROAS screenshots?+
Ask for blended revenue against total spend, delivered revenue net of GST and returns, new customer acquisition cost, and how margin after ads moved when spend went up. If they cannot show these, the screenshot is not proof of profit.

“MM helped us scale from 0 to ₹2.6 CR/month in just 6 months with clear communication and industry expertise!”Rakesh Naidu GM @ Naaptol
Ready to work with one team?
Book a call. If we can help you hit your goals, we will tell you how; if we cannot, we will tell you that too.
