// ATTRIBUTION & MEASUREMENT

Your ROAS Is Wrong. Here's Why Your Numbers Lie.

By Rohan Alexander · · 7 min read

Your Meta Ads Manager says 4.2× ROAS. Your Google Ads says 3.8×. Add them together and you're supposedly generating more revenue from ads than your total revenue. Something doesn't add up — because it doesn't. Both platforms are lying to you.

Why Platforms Over-Report ROAS

Every ad platform has an incentive to show you strong performance numbers. The mechanism that creates inflated ROAS is attribution window overlap:

How to Calculate True ROAS

True ROAS — what some call blended ROAS or MER (Marketing Efficiency Ratio) — is simple: Total Revenue ÷ Total Ad Spend. Not per-platform. Total.

If you spent $10,000 on ads last month (across Meta and Google) and your Shopify recorded $32,000 in revenue, your MER is 3.2×. If Meta reports 4.2× and Google reports 3.8× independently, those numbers are platform-siloed fictions. 3.2× is the real number.

From there, you can use incrementality testing (geo holdouts, ghost bids) to determine each channel's true contribution to incremental revenue — but MER is the starting point that grounds you in reality.

The Attribution Model That Matters

For most growing brands, the priority order for attribution accuracy is:

  1. Fix the signal layer first. Server-side CAPI ensures you're counting real conversions, not missing 20–40% due to iOS blocking. You can't attribute what you can't see.
  2. Use data-driven attribution. Switch from last-click to data-driven attribution in both Meta and Google. It distributes credit across touchpoints rather than awarding 100% to the last click.
  3. Track MER weekly. Total revenue ÷ total spend is your north star. Individual platform ROAS is a guide to relative channel performance, not absolute ROI.
  4. Run incrementality tests. Every 90 days, run a holdout test on your top channel to confirm your attribution model isn't overstating its contribution.

What Zephra Does With Attribution Data

Zephra implements server-side CAPI on setup, then builds a cross-channel view of performance using verified signal data — not just what each platform reports. The Decision Engine sees total performance across Meta and Google simultaneously, which means budget allocation decisions are made on a unified cross-channel intelligence layer, not each platform's siloed version.

The reasoning logs show you exactly which signals drove each budget decision — and when a platform's reported ROAS and your verified server-side signals conflict, Zephra surfaces the discrepancy rather than silently optimising on the wrong number.

Explore Zephra's Decision Engine architecture →  ·  How it works in practice →

Audit your campaign performance

Connect one ad account and Zephra will audit your ROAS — identifying what's underperforming, where improvements can be made, and what to prioritise first. No commitment. No credit card.

Start free audit →

Related articles