Contributional revenue reconciliation

The number the ad platform never tells you

Adverti joins your ad spend to actually-delivered, actually-paid revenue, then shows you true ROAS after cancellations, COD failures, and returns. It is deterministic math, not an AI guess.

Meta reports
₹12,40,000
Revenue attributed to ads
Shopify delivered
₹8,68,000
70% after cancellations
Actually kept
₹6,82,000
55% after COD fails & returns
The problem

Reported ROAS is structurally inflated

Ad platforms count a sale the moment the order is placed. They never find out what happened next. They do not learn about the cancellation, the COD package that came back undelivered, or the return that landed three weeks later.

So the ROAS in your Ads Manager is not wrong by accident. It is wrong by design, because the platform is missing the second half of the story: what was delivered, and what was actually paid for.

This is not a feature gap you can prompt your way around. It is an architectural gap. The only way to close it is to join the platform's data with your store and your logistics, on the right keys, with the right time windows. That join is reconciliation.

How it works

Three sources, one true number

Adverti pulls from each system through official, read-only APIs and joins them deterministically. Documented keys, defined time windows, explicit attribution rules.

Source 01

Ad platforms

Spend and platform-attributed revenue from Meta, Google, and Amazon, the number they take credit for.

Joined on order ID, click ID, timestamp
Source 02

Your store

Delivered, cancelled, and pending orders from Shopify or WooCommerce, the revenue that survived to fulfilment.

Joined on order ID, SKU, order date
Source 03

Your logistics

Actually-paid, RTO, and returned shipments from Shiprocket, the revenue that genuinely reached your bank.

Joined on AWB, order ID, status window
Why you can trust it

Deterministic math, not an AI guess

Multi-source ID stitching at scale is exactly where large language models hallucinate. And you would not catch it, because you are using the tool precisely because this is work you cannot do by hand.

So Adverti does the reconciliation with deterministic algorithms you can audit, the same inputs always produce the same output. The AI only enters at the end, to explain the result in plain language. The math is fixed. The explanation is the chat.

Deterministic engine
Joins, time windows, attribution rules
Repeatable and auditable
Same inputs, same number, every time
Official platform APIs
Read-only, never your credentials
LLM used only to explain
Never to compute the numbers
Built for India

Reconciliation that knows how India ships

RTO aware

Return-to-origin shipments are backed out of revenue, so a 20-25% RTO rate does not quietly inflate your ROAS.

COD aware

Cash-on-delivery is 60-70% of orders in many Tier 2 and 3 markets. Failed COD deliveries are reconciled out, not counted as kept.

Festival and GST aware

COD failure and RTO behave differently during Diwali and sale events. GST handling is built in, so margin reflects what you keep.

What reconciliation gives you

The metrics that actually decide

True ROAS

Return on ad spend measured against revenue that was actually kept, not the platform's attributed number.

True CAC

Customer acquisition cost based on customers who kept their order, so you are not paying to acquire returns.

True contribution margin

What is left after ad spend, COGS, shipping, and the cost of returns. The number that funds the business.

The reconciliation gap

The rupee distance between reported and kept revenue, surfaced inside wasted spend and every budget call.

C
Covera · lovecovera.com

Acting on reconciled numbers instead of last week's spreadsheets, Covera moved fast and the results compounded.

21.5%↓
Meta cost per purchase
+107%
Google conversion value
10x
Faster decisions
Read the full Covera case study →
Reconciliation FAQ

The questions founders ask

See your reconciliation gap.

Connect your accounts and find the distance between reported revenue and the revenue you actually keep. Free to start, no credit card.