How to Prove ROI When Everything's Broken
The Real Talk Guide to Surviving Google Ads Attribution Hell
A Letter to You (The Honest Version)
Let me be direct: if you've been managing Google Ads for more than a year or two, you've had this moment.
You're looking at your Google Ads dashboard. It says you got 150 conversions last month. ROAS looks solid. Maybe even impressive.
Then you check your actual backend. Your CRM. Your Shopify. Your bank account, basically.
You see... 78 conversions.
And your stomach drops.
Because either you're bad at your job, or something is profoundly broken.
The Reality Gap
Google Reports
Actual Backend
Monthly Conversion Discrepancy
Google reported vs. actual backend conversions
- Google Reports
- Backend Actual
Average Gap: -43% fewer actual conversions than reported
I'm gonna tell you what I found: something is profoundly broken. And it's not your fault.
But here's the thing—you still have ROI. You still made money. The proof is sitting right there in your database. You just gotta know where to look for it.
Google won't help you find it. Google's got incentives that run the opposite direction from yours. If your numbers look inflated, you'll spend more. Google makes more. Nobody's gonna stop that machine.
So you have to build your own.
What Actually Happened in 2024-2025
This didn't used to be this complicated. I remember when tracking was... mostly reliable. You'd check Google Ads, check your backend, maybe there'd be a 5-10% discrepancy. You'd shrug. Life moved on.
Then a bunch of things broke all at once.
GA4 starts showing conversion drops of like 40-50%. Same sales in your backend. Nothing changed on your end. Just... poof. Data vanished from GA4's view.
People start realizing Google Ads and GA4 are basically counting the same conversions twice. Your ROAS looks 200% better than it actually is.
OneTrust updates happen. Consent management changes. Suddenly GA4 stops tracking 30-50% of users. Conversions tank overnight. Across basically every account.
Google's AI Overview (SGE) changes how people search. Lead gen accounts see ROAS drop from 10x to 4x. Real fast.
And now? Now we're all just... living in this weird limbo where Google tells you one story and reality tells you another.
ROAS Reality Check (2024-2025)
The growing gap between reported and real ROAS
- Google Reported ROAS
- Real ROAS
The Uncomfortable Truth
Here's what nobody wants to say out loud: Google has no reason to fix this.
+20%
Your inflated spend = Google's profit
You Pause
Plenty of other advertisers
Where Your Data Gets Lost
Breakdown of conversion tracking data loss causes
The system isn't broken by accident. It's broken in a direction that benefits Google.
I'm not saying they're evil. I'm saying they have incentives. And those incentives don't align with you knowing your actual ROI.
So you can't rely on Google to tell you what's real.
You have to figure it out yourself.
The Three Truths About Your Data
This part matters. Really matters.
You've got three different versions of the truth floating around right now. And most people treat them like they're all equally valid. They're not.
Truth #1: What Google Reports
- • This is your Google Ads dashboard. GA4. All that stuff.
- • Looks impressive. Maybe 8x ROAS. 500 conversions. Whatever.
- • Problem: This data is actively influenced by what benefits Google. Double-counted conversions. Delayed data. Privacy filters hiding real conversions.
- • Reliability: Maybe 60-70% accurate on a good day.
- • Best use: Spotting when something changes. If reported ROAS suddenly drops 50%, something broke.
Truth #2: What Actually Happened (Your Backend)
- • This is your Shopify dashboard. Your CRM. Your accounting software.
- • Maybe you see 78 conversions. Real revenue. Real customers.
- • Why this matters: This is the only number that actually pays your bills.
- • Reliability: 95%+ accurate. This is your own system.
- • Best use: Everything. This is what you optimize for. This is real.
Truth #3: What Data Science Models Estimate
- • This is the middle ground. UTM tracking. Server-side data. Multi-touch attribution models.
- • Gets you closer to understanding what Google's seeing without relying on Google's reports.
- • Reliability: 75-85% if you set it up right.
- • Best use: Filling the gaps. Understanding why Google and your backend don't match.
Reliability Comparison
The Game
Use Truth #2 (backend) as your north star. Watch Truth #1 (Google) to spot problems. Build Truth #3 (models) to understand why they diverge.
Interactive ROI Reality Calculator
Enter your numbers or use the sliders to see your real ROI
Google Says
100
conversions
Reality
60
conversions
Reported ROAS
3.00x
€15,000
Real ROAS
1.80x
€9,000
Hidden Revenue Gap
€6,000
Phantom revenue you're not making
ROAS Drop
-40%
Warning: Significant data loss. Consider implementing server-side tracking to recover €2,400 in attribution.
Here's What's Actually Broken (In Your Setup)
Before you can fix anything, you need to know what specifically got broken. It's probably not everything. Usually it's one specific thing. Find it. Fix it. Move on.
The 5-Minute Diagnosis
Do this right now. Takes like five minutes.
Pull your numbers
Get 30 days of data. Two sources. Google Ads dashboard: total conversions reported. Your backend (Shopify, CRM, database): total actual conversions. Just the totals.
Compare
Google says 100. Backend says 50. That's a 50% gap. Google says 50. Backend says 100. That's a 100% overcount. Google says 100. Backend says 95. That's fine. Normal noise.
Is it consistent?
Pull 5 months of history. Same comparison each month. Always 40-50%? Probably systematic. Jumping around? Data quality issue.
When did it start?
Before June 2024? Probably GA4 issue. Before December 2024? Probably consent management. Last week? Probably something you changed.
Are you double-counting?
Go to Google Ads. Look at your conversion actions. GA4 imported + Google Ads pixel? Counting twice. Shopify feed + Google Ads tag? Twice again. Stop that.
Gap Analysis Example
| Scenario | Backend | Gap | Status | |
|---|---|---|---|---|
| Under-reporting | 50 | 100 | +100% | |
| Over-reporting | 100 | 50 | -50% | |
| Normal variance | 100 | 95 | -5% |
The Quick Fix (If You Need Proof Today)
Sometimes you just need to tell your stakeholder "yes, we made money" by end of business. You don't have time for complex fixes. Fair enough.
Here's what you do in 30 minutes:
- 1.Open Google Sheets
- 2.Create a simple table: Date | Google Reported | Backend Actual | Real ROAS | Gap
- 3.Fill it with last 30 days of data from both sources
- 4.Calculate: Real ROAS = Backend Revenue / Ad Spend (from Google)
- 5.Screenshot it
That's it.
The Proper Fix (What Actually Works)
If you've got a week or two and the technical chops, you can build something real.
Stop Double-Counting Your Conversions
This is the #1 mistake. Most broken tracking is just... you counting the same thing twice.
Go to Google Ads → Tools → Conversions. For each conversion action, ask: "Am I tracking this in multiple places?" If GA4 + Google Ads tag? Pick one. Disable the other.
Takes 30 minutes. Might fix 30-50% of your gap immediately.
Fix Your GA4 (If It's Broken)
Problem A: Consent Blocking
If you didn't enable Consent Mode v2, GA4 stopped seeing 40% of users.
Fix: GA4 Admin → Data Collection → Enable Consent Mode v2. Takes 15 minutes.
Problem B: Wrong Conversion Setup
GA4 shows conversions but they're wrong. Double-counted.
Fix: GA4 → Admin → Events. Mark which events are "conversions." Takes 20 minutes.
Problem C: Data Delays
GA4 is always 24-48 hours behind.
Solution: Use Google Ads tag for real-time data. Use GA4 for validation tomorrow.
Implement Server-Side Tracking (Optional But Worth It)
Server-side tracking sends conversion data directly from your backend to Google's backend. Bypasses all the browser nonsense. Suddenly you're capturing 90%+ instead of 60%.
Server-Side Tracking Flow
Tracking Accuracy by Method
How different tracking setups impact data quality
Tracking Accuracy: Before vs After Fix
Typical improvement after implementing server-side tracking
- Before (Client-Side Only)
- After (+ Server-Side)
Result: +102% improvement in tracking accuracy after 6 weeks
How you do it:
- 1. Get a server-side GTM container (use Stape.io, costs like €50-100/month)
- 2. Implement GCLID capture (hidden form field)
- 3. When someone converts, send GCLID + conversion data server-to-server
- 4. Google now gets 90% of your conversions instead of 60%
Build Your Dashboard
Create three tabs in Google Sheets (or Looker Studio):
Tab 1: Backend Reality
What actually happened. Your source of truth. Update daily.
Tab 2: Google Reports
What Google says. For diagnostics and spotting problems.
Tab 3: The Gap
Compare Tab 1 vs Tab 2. Calculate difference. Note changes.
Talk to Your Stakeholder
"Here's what Google reported last month. Here's what we actually see in our backend. The gap is X%. Why? [Explain specific issue]
We're optimizing for the real number (backend). We watch Google's number because if it suddenly changes, it tells us tracking broke.
Here's the trend over time."
Boom. You just turned confusion into clarity.
Time to set up: 1-2 weeks
Cost: €50-100/month if you do server-side
Accuracy gain: 20-30% better tracking
How to Actually Talk About This
The hardest part isn't fixing tracking. It's explaining it to someone who doesn't understand why your numbers don't match Google's.
Their concern (unspoken):
"Is Google lying? Are you bad at your job? Why should I trust you instead of Google?"
Here's what you actually say:
"Google's not lying. Google's optimizing. There's a difference.
Google measures what benefits Google—conversions within their tracking window, conversions their pixel can see, stuff counted multiple times is fine for their algorithm.
We measure what matters for our business—actual revenue, customers who actually paid, minus refunds, accounting for the full picture.
Different questions. Different numbers.
Google's number is accurate for getting us more ad clicks. Our number is accurate for knowing if we're actually profitable.
We watch both. We optimize toward real profitability. When they diverge, it's a diagnostic. Tells us tracking broke."
What Actually Works (The Toolkit)
Tier 1: Free Stuff
€0/month- Google Sheets + UTM parameters = 90% of the way there
- GA4 (if set up right) = validation
- Google Tag Manager (free) = centralize your tracking logic
Tier 2: Affordable Stuff
RECOMMENDED- Stape.io (server-side GTM hosting) = massive accuracy improvement
- Looker Studio (free) = build real dashboards
- Ruler Analytics or Attributer.io (multi-touch) = €300-800/month
My honest take: Most people reading this need Tier 2. It's where effort meets accuracy.
Tier 3: Enterprise Stuff
€1000+/month- Custom dashboards integrating all your data sources
- Multi-touch attribution models (Shapley value, Markov chain)
- Full API integrations
Your 30-Day Plan
From broken to bulletproof in 4 weeks
Week 1
Diagnose
- Run 5-minute comparison
- Calculate average gap
- Figure out what's broken
- Write it down
Week 2
Quick Fix
- Stop double-counting
- Create Sheets dashboard
- Fix GA4 Consent Mode
- Show stakeholder reality
Week 3
Server-Side (Optional)
- Set up Stape.io (€50/mo)
- Implement GCLID capture
- Connect to Google Ads API
- Watch gap shrink
Week 4
Build Real Dashboard
- Create 3-layer system
- Automate daily pulls
- Write stakeholder template
- Present with confidence
The Emotional Reality
You're not crazy.
You're not bad at your job.
The system is genuinely broken. And it breaks in a direction that benefits Google, not you.
This happened to basically every serious PPC person in 2024-2025. You're in good company.
The ones winning right now aren't the ones with perfect tracking. They're the ones who figured out their tracking was broken and built a system to work around it.
You can absolutely do this.
Bottom Line
You've got three choices:
Choice 1: Pretend Google's numbers are real
Easy short-term. Problem: Reality catches up. You look bad.
Choice 2: Ignore Google, only use backend
Problem: You're missing what Google's algorithm sees. Leaving money on table.
Choice 3: Triangulate (Google + Backend + Models)
More complex. More powerful. You know what's real. You catch problems early. You sleep better.
Pick Choice 3.
Build the system. Prove the ROI. Move on.
You've got this.
Next step?
By the end of 30 days, you'll have real numbers. Real confidence. Real answers for stakeholders.
That's worth everything.