← All posts Attribution

Why your GA4 ROAS is lying to you — and how to find the real number

1 Feb 2026 · 3 min read · Twinslytics

Every few weeks a founder tells us some version of the same thing: "Google says we're at 3x, Meta says we're at 5x, and my accountant says we barely broke even. Who do I believe?"

The uncomfortable answer is: none of them, exactly. Not because anyone is cheating, but because the ad platforms and GA4 are measuring something different from the number you actually care about — money that landed in your account.

What GA4 and the ad platforms actually count

Ad platforms optimize toward the event you send them. For most stores that event is a pixel-fired "purchase" or "lead" — a click, a form submit, a checkout that fired in the browser. That's a fine proxy. It is not revenue.

Three things quietly break the link between that proxy and real money:

Reported ROAS answers "did someone click and check out?" True ROAS answers "did we make money?" Those are not the same question.

Why the offline gap is the biggest one

For businesses with any human involvement in the sale — B2B, high-ticket, quote-based, showroom, or sales-assisted ecommerce — the real revenue lives in the CRM or ERP, not in the ad pixel. The platform sees a lead. It never sees whether that lead closed for $200 or $20,000, or churned in 30 days.

Optimize on the pixel and you train the algorithm to buy cheap leads. Optimize on closed revenue and you train it to buy customers. Those two strategies spend your budget in completely different places.

How to find the real number

Reconciling to true ROAS is less about a magic tool and more about connecting three systems that don't naturally talk to each other:

What changes once you do

The first time a brand sees reported vs. real side by side, the reaction is almost always the same: a mix of relief and mild horror. Relief because the numbers finally reconcile; horror because they've been steering spend with the wrong dashboard for months.

But that's the win. Once bidding runs on closed revenue, the platforms stop chasing cheap conversions and start finding buyers — and the gap between what the dashboard says and what the bank says quietly closes.

Further reading

283/408 sessions reattributed — Fixed attribution, returned conversions to Google Ads

Want your attribution reconciled like this?

We patch the join between clicks and closed revenue so bidding optimizes on what actually happened, not what the checkout referrer claims.