Back to BlogAttribution

Your ROAS is Wrong. Here's the Math.

Platform-reported ROAS inflates your real returns by 20-40%. Here's exactly how the math breaks down and what to do about it.

Go Funnel Team6 min read

The number you're optimizing around is a lie

Every morning, thousands of ecommerce founders open their Meta Ads Manager, see a 4x ROAS, and feel good about their ad spend. Then they check their bank account and the math doesn't add up.

This isn't a bug. It's a feature -- of how ad platforms report conversions.

The gap between what platforms tell you and what actually happened is typically 20-40%. On high-ticket products or longer sales cycles, it can be worse. Much worse.

How platforms inflate your conversions

Ad platforms use a simple rule: if someone saw or clicked your ad and later converted, the platform claims credit. The problems start stacking up fast.

Double-counting across channels

A customer clicks a Meta ad on Monday, a Google ad on Wednesday, and converts on Friday. Both Meta and Google claim the full conversion. Your combined ROAS looks incredible. Your actual ROAS? Cut it roughly in half.

This is the single biggest source of inflated numbers. A study of over 200 ecommerce accounts found that the average business attributes 1.6 conversions per actual sale when you add up every platform's self-reported numbers.

View-through attribution padding

Meta's default attribution window includes anyone who saw your ad and converted within one day -- even if they never clicked. For high-traffic brands, this can add 15-25% phantom conversions to your reporting.

Someone scrolled past your ad in their feed for 0.3 seconds, then bought your product through a Google search they would have done anyway. Meta counts it.

Post-iOS 14 modeling

Since iOS 14.5, roughly 75% of iPhone users have opted out of tracking. Platforms respond by modeling conversions -- essentially estimating what they think happened. Meta's own documentation admits these are statistical models, not observed events.

The platforms have every incentive to model generously. Their revenue depends on you believing your ads work.

The real math

Let's run the numbers on a typical ecommerce scenario.

What Meta tells you:

  • Ad spend: $10,000/month
  • Revenue attributed: $40,000
  • ROAS: 4.0x

What's actually happening:

  • Cross-platform double-counting: -20% ($8,000 removed)
  • View-through inflation: -12% ($3,840 removed)
  • Modeled conversion over-estimation: -8% ($2,253 removed)
  • Actual attributable revenue: ~$25,907
  • Real ROAS: 2.59x

That's a 35% gap between what you think you're earning and what you're actually earning. The difference between a "scale aggressively" decision and a "this barely works" decision.

Why this matters for your business

A 35% inflation doesn't just distort your reporting -- it distorts every decision you make.

  • Budget allocation: You over-invest in channels that look good on paper and under-invest in channels that actually drive revenue.
  • Scaling decisions: You scale campaigns past profitability because the reported numbers haven't caught up with reality.
  • Creative testing: You declare winners based on inflated data, keeping mediocre ads running while killing ones that might actually perform.
  • Hiring and forecasting: Your financial models are built on revenue numbers that don't match your bank account.

What server-side attribution changes

Server-side tracking collects conversion data directly from your server -- your checkout system, your CRM, your payment processor. It doesn't rely on browser cookies, pixel fires, or platform modeling.

Here's what changes:

  1. One conversion = one conversion. When someone buys, it's counted once and attributed to the touchpoints that actually influenced the purchase.
  2. No view-through guessing. Attribution is based on observable interactions, not impressions that may or may not have registered.
  3. No modeling gaps. You're measuring what happened, not what a platform estimates happened.
  4. Cross-channel deduplication. A single purchase gets attributed across the real customer journey, not claimed in full by every platform involved.

What to do right now

You don't have to rip out your existing setup overnight. Start here:

  1. Run the gap analysis. Compare your total platform-reported revenue against your actual revenue for the last 90 days. The difference is your inflation rate.
  2. Implement server-side tracking. Tools like Go Funnel connect directly to your payment processor and CRM to capture real conversion data.
  3. Set up multi-touch attribution. Understand the full customer journey so you can give proportional credit to each touchpoint.
  4. Recalibrate your targets. Your "profitable" ROAS target probably needs to come down. Better to know now than after you've scaled a losing campaign.

The brands that win in 2026 won't be the ones spending the most. They'll be the ones who know exactly what their spend actually produces.

Your ROAS is wrong. The question is whether you want to keep pretending it isn't.

Want to see your real ROAS?

Connect your ad accounts in 15 minutes and get attribution data you can actually trust.

Book a Call

Related Articles