Agency Client Reporting When Channel ROAS No Longer Adds Up

The playbook for agency leads rebuilding the monthly client deck once per-channel ROAS stops adding up — MER-first structure, the "why we're changing the report" talking track, and a two-week geo holdout to back it up.
Quick answer
Lead the deck with MER (blended revenue ÷ total ad spend) and new-customer MER, keep per-channel ROAS as a diagnostic appendix, and pre-empt the 'but Meta says 3x' pushback with one incrementality slide. Deliver the change in one meeting with a scripted talking track — not silently in next month's PDF.
Agency Client Reporting When Channel ROAS No Longer Adds Up
Restructuring monthly client reports away from double-counting per-channel ROAS toward MER and incrementality-lite views.
Since iOS 14.5 stripped view-through attribution and platforms filled the gap with modeled conversions, the ROAS numbers Meta, TikTok, Google, and Klaviyo each claim now overlap. Adding them up produces a figure that exceeds actual store revenue — sometimes by 40-80%.
This page is the agency-side playbook for that reality: how to rebuild the monthly deck around MER (Marketing Efficiency Ratio) and new-customer MER, how to script the conversation with the client so they don't feel you're hiding underperformance, and how to run a two-week geo holdout that gives your new numbers a spine.
The trigger is usually a monthly review where a client points at the ROAS column and asks why you're not shifting more budget into TikTok. TikTok reports 4.2x, Meta reports 2.8x, Google reports 3.5x — and the store did €180k on €62k spend, a blended 2.9x. The numbers don't reconcile.
They stopped reconciling around 2021 and the gap has widened. Every platform now models conversions it didn't observe, and every platform claims credit for the same purchase. Your job is to fix the report before the client fixes it themselves by picking whichever channel has the highest self-reported ROAS.
Why per-channel ROAS stopped adding up
Three things broke at once. iOS 14.5 killed deterministic view-through tracking for ~30% of most Shopify stores' traffic. Platforms replaced observed conversions with modeled ones, tuned to be generous. And post-purchase surveys keep showing that customers who convert 'on Meta' often saw the brand first on TikTok or through an influencer.
The result: if you sum the revenue each platform claims, you get a number that's 1.4x-1.8x actual store revenue. This is the iOS14 attribution impact playing out in your client deck every month, and no amount of UTM discipline fixes it because the double-count lives inside the platform's own reporting.
The math the client will do themselves
If Meta claims €95k, TikTok claims €48k, Google claims €72k, and Klaviyo claims €41k — that's €256k of 'attributed' revenue on a store that actually did €180k. Once a client notices, your credibility on the whole deck drops. Better to name the problem in slide two than have them name it in slide seven.
The MER-first structure that replaces it
The MER-first monthly report template opens with three numbers only: total revenue, total ad spend, and MER. That's the whole first slide. Everything else is a supporting cut of those three.
Slide two adds new-customer MER — the new-customer MER cut that replaces channel-level nCAC in the deck. This is where you show whether the paid engine is actually acquiring new buyers or just re-buying returning ones. It's the metric that most clients haven't seen before, and it usually reframes the conversation.
Slide three is the blended MER waterfall — swapping the per-channel ROAS table for a MER waterfall that shows spend flowing in on the left, revenue flowing out on the right, and the efficiency ratio between. Per-channel ROAS still lives in the deck, but it's in the appendix as diagnostic signal, not headline performance.
What the double-count looks like in practice
Typical reconciliation gap on a €180k/month Shopify apparel store
| Channel | Platform-reported ROAS | Platform-claimed revenue | Share of actual revenue |
|---|---|---|---|
| Meta Ads | 2.8x | €95,200 | 42% |
| TikTok Ads | 4.2x | €48,300 | 13% |
| Google Ads | 3.5x | €72,100 | 24% |
| Klaviyo email | 18x | €41,400 | 16% |
| Organic / direct | — | — | 5% |
| Sum of platform claims | — | €257,000 | 143% of actual |
| Actual store revenue | — | €180,000 | 100% |
| Blended MER (actual) | 2.9x | — | — |
The 143% overclaim is not the client's imagination and it's not your tracking being broken. It's the sum of four vendors all crediting themselves for the same €77k of overlapping purchases. The MER row is the only number in this table that reconciles to the Shopify sales report.
The 'why we're changing the report' talking track
Schedule a 30-minute call before you send the new template. Open with: 'The report we've been sending you has a math problem that isn't your fault or ours — it's how the platforms attribute. Here's how we're fixing it, and here's the one new number you'll be looking at.' Then walk through MER on one slide. Don't apologise, don't over-explain.
Pre-empt the pushback: 'You'll still see Meta and TikTok ROAS in the appendix — we use them to decide which creative to kill. But we won't be making budget decisions from them, because they overlap.' This handles the 'but TikTok reports 4x ROAS' slide before it comes up, and it handles the client who insists on seeing Meta ROAS every month by giving them the number without making it the headline.
Backing the new number with incrementality-lite
MER is more honest but it's still a blended number — it doesn't tell you which channel drove the delta. This is where a two-week geo holdout comes in: pause one channel in one region (typically a smaller market: Ireland if the store sells UK+IE, or a single US state), keep spend flat everywhere else, and measure the revenue gap.
Run one per quarter, per channel. Present the result as a single slide in the quarterly review: 'When we turned Meta off in Ireland for 14 days, revenue dropped 22% there vs a 3% dip in the control regions — so Meta's real incremental contribution is closer to 19%, not the 53% the platform claims.' That's the number that survives contact with a finance director.
What changes in your retainer
The new deck is shorter — usually 8 slides instead of 24. Some agency owners worry this makes the retainer look thin. It doesn't, if you frame it right: you're delivering fewer numbers because you're delivering more decisions. Renegotiating the retainer when the report gets simpler is its own conversation, but the direction is usually up, not down, because the client trusts the numbers more.
The time you used to spend reconciling four platform exports goes into the quarterly geo holdout, creative testing readouts, and a monthly written commentary. Those are the deliverables that justify the fee once the ROAS spreadsheet is no longer the artifact.
Frequently asked questions
MER (Marketing Efficiency Ratio) is total store revenue divided by total ad spend across all channels. Unlike per-channel ROAS, it can't double-count because there's only one revenue number and one spend number. It's the only ad-efficiency metric that reconciles to your Shopify sales report.
Give it to them, in the appendix. Frame Meta ROAS as a diagnostic for creative and audience decisions, not a budget-allocation metric. Most clients accept this once they see the sum-of-platform-claims exceeds actual revenue in your reconciliation slide.
Anchor it in language they already use: 'For every €1 we spent, the store made €X.' Then show the trend line for the last 6 months. Skip the acronym on slide one — introduce 'MER' on slide two once they've absorbed the concept.
The new deck is shorter (typically 8 slides vs 24) but denser. Replace the removed pages with written commentary, quarterly incrementality results, and creative-performance readouts. Clients read shorter decks; they skim long ones.
A two-week geo holdout works on any ad platform. Pause one channel in one small geo (a US state, or Ireland if you sell UK+IE), hold spend flat elsewhere, and compare revenue in the holdout region vs control. Total cost: whatever revenue you lose in the holdout, usually €2-8k.
They will, initially — because MER is honest about revenue that ROAS was double-counting. Show the client the trend from the same MER methodology going back 6-12 months so they see the trajectory, not a one-month cliff. Historical GA4 revenue makes this reconstruction possible.
Klaviyo's attributed revenue overlaps hard with paid — most email buyers were acquired via ads first. Keep Klaviyo revenue visible but exclude it from any 'sum of channels' math. In MER, Klaviyo spend (the platform fee) is negligible, so it barely moves the ratio.
Yes — inside a channel, platform ROAS is fine for A/B decisions between creatives or audiences because the attribution bias is consistent across variants. It only breaks when you compare across channels or sum them.
New-customer MER is total revenue from first-time buyers divided by total ad spend. It replaces channel-level nCAC and answers the question 'is paid actually growing the customer base, or just re-buying returning shoppers?' Most stores see a 40-60% gap between blended MER and new-customer MER.
One 30-minute call before you send the new template. Lead with 'the platforms overlap, here's how we're fixing the report.' Send a one-page written summary after the call. Don't silently change the deck — clients notice, and silent changes read as hiding something.
Track CAC, channels, and funnel conversion in one place
Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.