Your Agency Says 3.2x ROAS. Your Bank Says 1.9x. Who Do You Believe?
Which number should decide your next ₹50 lakh budget: the 3.2x ROAS in your agency deck or the 1.9x revenue your store and bank can confirm?
For an India D2C founder, this is not a reporting debate. It is a capital allocation risk. If your business spends ₹10 lakh on media, the gap between those two numbers can decide whether you scale, pause, or fund another month of loss.
At 3.2x ROAS, your agency says the ₹10 lakh spend generated ₹32 lakh in revenue. At 1.9x ROAS, your store ledger confirms only ₹19 lakh. That is a ₹13 lakh gap on the same spend.
The overclaim against the ledger is (3.2 − 1.9) ÷ 1.9 = 68%. Put simply, the reported outcome is 68% higher than what the transaction record supports.
That 68% claim gap is not cosmetic. It is financial exposure. If you scale budgets on inflated numbers, you can push more capital into campaigns that are already underperforming. At ₹10 lakh in spend, the gap is ₹13 lakh in claimed revenue. At ₹50 lakh, it becomes ₹65 lakh. At ₹1 crore, it becomes ₹1.3 crore. That is not dashboard noise. That is mispriced growth.
This does not automatically mean your agency is dishonest. Attribution windows differ. View-through logic differs. Cancellation rules differ. Revenue definitions differ. The commercial outcome does not: you are making decisions on numbers that do not agree.
The problem gets sharper in India. COD orders get cancelled or returned. Discounts compress contribution. Shipping and payment fees erode order value. Marketplace revenue may sit outside your primary store. A platform can report a conversion while the final transaction never becomes realised revenue.
Weekly reviews make this worse. The agency brings channel ROAS. The platform brings attributed revenue. Finance brings net sales. The founder is left choosing which number is “close enough” while the budget keeps moving.
The real question is not, “Which dashboard looks more sophisticated?” It is: Which number is closest to the money that actually landed, after returns, discounts, costs, and fulfilment friction?
The Claim Gap is where budget decisions go wrong
The Claim Gap is the difference between platform or agency-reported performance and the revenue confirmed by your own ledger.
It appears when multiple channels claim credit for the same customer journey. A shopper sees a Meta ad, searches your brand on Google, clicks an email, and completes a purchase. Each system may assign itself some form of credit. Your store records one order.
That distinction matters. The channels are useful sources of signal, but they are not the final authority on realised revenue.

A founder should reconcile at least these layers:
- Media spend: What was actually paid to each channel?
- Attributed revenue: What each platform or agency claims it influenced.
- Store-confirmed sales: Orders recorded in Shopify, your commerce system, or marketplace ledger.
- Net revenue: Sales after cancellations, returns, refunds, and discounts.
- Contribution: What remains after product, fulfilment, payment, and other variable costs.
Without this reconciliation, a high ROAS can hide low-quality revenue. It can also cause you to cut the channel that introduced the customer while increasing spend on the channel that claimed the final click.
ROAS is not profit
ROAS is useful. It is also incomplete.
If your ledger confirms ₹19 lakh in revenue against ₹10 lakh in media spend, the business has a 1.9x ROAS. Assume contribution margin after product costs, shipping, payment fees, and discounts is 35%.
That ₹19 lakh produces ₹6.65 lakh in contribution. Against ₹10 lakh in media spend, the campaign is already ₹3.35 lakh underwater before salaries, technology, warehousing, and overheads.
This is why revenue growth and profitability can move in opposite directions. Your agency may celebrate rising sales. Your CFO sees contribution shrinking.
A more useful decision view includes:
- True ROAS: Ledger-confirmed net revenue divided by media spend.
- Contribution ROAS: Contribution generated divided by media spend.
- AOV: Average order value after discounts and refunds.
- CAC: Acquisition cost based on realised customers, not only attributed conversions.
- Payback period: How long it takes contribution to recover acquisition cost.
- Margin by SKU: Whether the products receiving budget can support profitable growth.
The number you scale should not simply be the highest ROAS. It should be the highest dependable contribution after operational constraints.
Why the discrepancy survives for months
Most teams do not have one shared revenue model. They have several reports built for different purposes.
The agency report explains media performance. The commerce dashboard records orders. Finance closes the books. Supply tracks inventory. Retention monitors repeat purchases. Each view can be individually accurate while the overall decision is still wrong.
The chaos usually comes from five sources:
- Different attribution windows
A seven-day click window and a 28-day view window will produce very different results. - Gross versus net revenue
One report may include discounts and refunds. Another may not. - Order status
A placed COD order is not always a delivered order. A delivered order is not always a retained customer. - Double counting
Several channels may claim influence over one transaction. - No outcome record
A budget shift is approved, but nobody checks whether the expected lift arrived after 7, 14, or 30 days.
The result is a dangerous pattern: every report answers a different question, but the leadership team treats them as if they answer the same one.
What a reliable marketing scorecard should do
Start with a single source of commercial truth. Do not delete every dashboard. Establish which record settles disagreements.
Your operating model should:
1. Define the ledger
Decide what counts as revenue. For many D2C brands, that means delivered and non-returned orders, net of discounts, cancellations, refunds, and applicable taxes.
Write the definition down. Apply it across channels and reporting periods without exception.
2. Reconcile claims by channel
For every channel, track:
- Reported conversions
- Reported revenue
- Ledger-confirmed orders
- Ledger-confirmed net revenue
- Returns and cancellations
- Media spend
- True ROAS
- Contribution ROAS
Do this by day, campaign, ad set, SKU, and customer type where the data supports it.
3. Separate diagnosis from allocation
A platform report may help you understand delivery and audience response. It should not determine your next budget move on its own.
Use the ledger for allocation. Use channel data for diagnosis. Do not confuse a useful signal with a financial answer.
4. Add supply and margin gates
Do not increase spend on a product that is out of stock, nearly out of stock, or generating weak contribution.
A recommendation should be blocked when:
- Stock cover is below the required threshold.
- Contribution margin falls below the floor.
- Data quality is unreliable.
- The campaign is affected by an unusual sale, stockout, or tracking fault.

A campaign can show strong demand and still be the wrong place for money today. Revenue cannot be fulfilled if inventory is unavailable. Revenue cannot become profit if margin is too thin.
Where Niti AI fits
Niti AI is built for this specific gap between metrics and decisions. Its platform brings together spend, sales, supply, and finance into one operating model instead of leaving each function to defend its own dashboard.
Its approach follows a practical learning loop:
- Detect: Identify movements against seasonality-adjusted baselines.
- Explain: Trace a change back to a root cause and state the confidence level.
- Recommend: Produce a ranked action with an estimated impact range.
- Gate and approve: Suppress actions that fail margin, supply, or data checks.
- Measure: Compare actual impact at 7, 14, and 30 days.
The platform includes two relevant decision products. Lift prices budget actions using true return and contribution, helping teams decide what to scale, cut, or stop. Vantage investigates why a SKU or metric changed before the team reallocates spend.
That distinction matters. The answer to a falling SKU is not always “the ads stopped working.” It could be a stock issue, price change, creative fatigue, return spike, or simple demand cooling.
A reported number without a cause is still noise. A recommendation without a margin or supply check is still risk.
Build a founder-grade reconciliation process
You do not need to wait for a perfect data warehouse. Start with one month of numbers and answer these questions:
- How much did each channel actually spend?
- What revenue did each channel claim?
- What revenue did the store confirm?
- What remained after returns, cancellations, and discounts?
- What was the contribution by campaign and SKU?
- Which decisions were made from reported ROAS?
- What happened after those decisions?
- Which recommendations should now be repeated, revised, or stopped?
Keep a decision log. Record the date, action, reason, expected impact, owner, and actual result. If you increased a campaign by 20%, record why. If you paused it, record the evidence. If you declined a recommendation, record that too.

This creates something most marketing teams lack: a score for the decision itself. Not just whether sales went up, but whether the expected result arrived and whether the reasoning was accurate.
The number to trust
Your agency is accountable for managing media. Your platforms are accountable for reporting activity. Your finance team is accountable for the books.
The founder is accountable for deciding where the next rupee goes.
So who do you believe?
Believe the ledger for realised revenue. Use channel reports as evidence, not verdicts. Price every budget decision on contribution, inventory, and measured outcomes.
The 3.2x number may still contain useful information. It cannot be the final word when the store confirms 1.9x.
Before your next scale call, bring one month of spend and sales together. Reconcile the Claim Gap. Identify the campaigns that created contribution rather than just attributed revenue. Then move budget with clarity.
If you want to see what your own numbers actually did, request Niti AI’s free margin audit. No integration or credit card is required. You bring the ledger. The numbers do the talking.