Notes
Teardown 4 min read

The dashboard said 1.5×. The till said 0.97×.

Reconciling a month of ad-platform claims against the store's own orders. The platform over-claimed by 40%+, and 'profitable' quietly became 'underwater'.


Ad platforms grade their own homework. Everyone in marketing says this; almost nobody does the reconciliation, because the reconciliation is boring and the dashboard number is nicer.

I did it for a D2C brand over a clean 30-day window. Method: pull the platform’s claimed purchases and revenue; pull the store’s own socially-referred orders for the identical window; put them side by side.

Platform: 40 purchases, ₹15,772. Store: 28 purchases, ₹9,761. The platform over-claimed orders by 43% and revenue by 62%.

Where the gap comes from

Not fraud — settings. The campaigns ran on the loosest attribution the platform offers: seven-day click plus one-day view plus one-day engaged view. A “view-through purchase” is a person who scrolled past your ad without touching it and bought anyway. The platform books that as its work. Your accountant would not.

The window setting is one line in the interface, it silently changes what “a purchase” means, and two campaigns in the same account can run different settings — which makes even internal comparisons quietly incoherent.

The arithmetic nobody runs

The gap only matters when you put a breakeven line against it, so: this brand’s gross margin was 60%, which makes breakeven a true return of about 1.67× — every rupee of ad spend must bring back ₹1.67 of revenue before the ads pay for themselves.

Claimed blended return: 1.5–2.3× depending on the campaign. Looks fine.

Reconciled against the store: ≈0.97×. The account was buying ₹1.00 of revenue for ₹1.04 of spend. Not a soft underperformance — underwater, disguised as profitable by the measurement choice.

Fairness cuts both ways

The store’s “social” bucket under-counts too. A buyer who clicks the ad on Tuesday and types the URL on Thursday lands in the direct-traffic bucket. So the honest output is a range — the platform number as the ceiling, the store’s referral number as the floor — reported as two figures, never merged into one flattering blend.

The same window produced a harder test of the discipline. A sale came in carrying our discount code — but the customer-journey data showed the converting click belonged to someone else’s ad. The temptation to claim it was real. We didn’t, for a practical reason as much as a principled one: the client can run the same journey query in thirty seconds, and the whole pitch of independent measurement collapses the first time you’re caught rounding in your own favour. Code usage proves influence. It does not prove a click.

The CA framing

This is not a new discipline; it’s reconciliation with a different ledger. The platform is the party’s own invoice register. The store is the bank statement. When they disagree — and they will, every single window — the bank statement wins.

If you run paid acquisition and have never put the two numbers side by side for the same dates, do it this week. It is one query on each side, and it is the highest-information hour available in marketing analytics.