Why Your Platform Reports Don't Match (And What to Trust)

· Last updated · 9 min read

Platform reports conflict because each platform uses different attribution windows, takes credit for the same conversion, and can only see its own touchpoints. Google Ads uses 30-day click; Meta uses 7-day click, 1-day view. Both claim credit for overlapping journeys. The solution: use a neutral third-party attribution tool as your single source of truth, and treat platform data as directional for within-platform optimization only.

The Problem: One Conversion, Three Claims

Here's a scenario every marketer has experienced:

Your Actual Sales: 100 conversions

Platform Reports:
├── Google Ads:     85 conversions
├── Meta Ads:       45 conversions
├── Email:          35 conversions
├── Organic Search: 25 conversions
└── Total Claimed:  190 conversions  ← 90% overcounting!

You sold 100 products, but your platforms claim responsibility for 190. Someone is lying—or more accurately, everyone is telling their version of the truth.

This isn't a bug. It's how platform attribution works by design.

Why Platforms Disagree

1. Different Attribution Windows

Each platform uses different time windows to claim credit:

Platform Click Window View Window Total Window
Google Ads 30 days 1 day (optional) Up to 90 days
Meta Ads 7 days 1 day 7 days
TikTok Ads 7 days 1 day 7 days
LinkedIn Ads 30 days 7 days 30 days
Email (typical) 30-90 days N/A Varies
GA4 Up to 90 days N/A Configurable

Consider this journey:

Day 1:  Customer clicks Google Ad
Day 15: Customer clicks Meta Ad
Day 20: Customer converts

Who gets credit?
├── Google Ads: ✓ (within 30-day click window)
├── Meta Ads:   ✓ (within 7-day click window)
└── Reality:    Both touched the customer, one conversion occurred

Both platforms legitimately claim this conversion under their own rules. Neither is wrong—they're just using different definitions.

2. Platforms Only See Their Own Touchpoints

Google can't see your Meta ads. Meta can't see your email campaigns. Each platform operates in a silo:

What Google Sees:
[Google Ad] → [???] → [???] → [Conversion]
     ↑
"We drove this conversion!"

What Meta Sees:
[???] → [Meta Ad] → [???] → [Conversion]
              ↑
"We drove this conversion!"

What Actually Happened:
[Google Ad] → [Meta Ad] → [Email] → [Conversion]

Platforms can only credit what they can see. The result is each claiming more credit than they deserve.

3. Self-Serving Attribution Logic

Platforms aren't neutral observers—they're selling you ads. Their attribution is designed to make their platform look effective:

Platform Behavior Effect
Google favors Google GA4 over-attributes to Google Ads in same-session scenarios
Meta credits views 1-day view attribution claims credit for ads users merely saw
Email claims last-touch Email platforms default to last-click, taking credit from earlier touches
Each maximizes their number No platform has incentive to share credit fairly

This isn't conspiracy—it's incentives. Platforms that show better ROAS get more ad spend.

Each platform claims credit for the same conversions

Sum the platform dashboards. Compare to your actual order count. The gap is double-counting.

Meta
48
conv.
Google Ads
62
conv.
TikTok
22
conv.
Email tool
28
conv.
Sum of platforms
160 claimed conversions
Actual orders
100 deduplicated conversions

Overcount: 60% — the platforms collectively claim 160 conversions for the same 100 real orders. Each user clicked through multiple ads before buying; every platform counted that user as theirs.

If you set budget by platform-reported ROAS, you're overspending. Every channel looks profitable when each one over-reports its share. Independent attribution deduplicates the conversions across channels — the only way to see which platform drove the marginal sale.

Illustrative ratios · Total platform overcounting consistently lands in the 40–100% range across published case studies (Gartner, AppsFlyer, AAII)

The Real-World Impact

Budget Misallocation

When you optimize budget based on platform data:

Platform-Reported ROAS:
├── Google Ads:  4.2x  → "Increase budget!"
├── Meta Ads:    3.1x  → "Maintain"
├── Display:     0.8x  → "Cut this!"

Multi-Touch Reality:
├── Google Ads:  2.8x  (overcredited by 50%)
├── Meta Ads:    2.2x  (overcredited by 40%)
├── Display:     1.9x  (undercredited by 140%!)

Result: You cut Display, which was actually introducing
customers that Google and Meta later converted.

The Attribution Arms Race

Platforms continuously adjust attribution to maintain perceived performance:

You're not measuring marketing performance. You're measuring each platform's attribution marketing.

The 80% problem: Industry research shows 80% of marketers are concerned about bias in AdTech reporting. They're right to be concerned—platform data is inherently biased toward the platform reporting it.

How to Build a Single Source of Truth

Use a neutral tool that sees all touchpoints and applies consistent logic:

How it works:
1. Track all touchpoints (ads, email, organic, direct) in one system
2. Apply a single attribution model across all channels
3. Deduplicate conversions—each sale counts once
4. Report consistent metrics across channels

Benefits:
- Unbiased cross-channel comparison
- Deduplicated conversion counts
- Consistent attribution windows
- Full journey visibility

Limitations:
- Additional cost
- Implementation required
- May not match platform optimization signals

Option 2: Incrementality Testing

Measure true causal impact through experiments:

INCREMENTALITY TEST DESIGN

Question: does Meta actually drive incremental revenue?

Setup: 50% of geos paused (control), 50% running normal Meta spend (treatment). 4 weeks.

RESULT
  • Treatment revenue: $500,000
  • Control revenue: $420,000
  • Incremental lift: $80,000 (19%)
  • Meta spend: $50,000
  • True iROAS: 1.6×
META-REPORTED
3.1×
Over-credited by 94% — the platform claims nearly twice the lift the experiment shows.

Incrementality tests reveal what each platform actually causes, not just what it touches.

Option 3: Marketing Mix Modeling (MMM)

Use aggregate data and econometrics to estimate channel contribution:

Best for:
- High spend ($500K+/year)
- Mix of online and offline channels
- Strategic planning (not tactical)

How it helps reconciliation:
- Estimates total channel impact independent of platform reporting
- Accounts for brand effects, seasonality, competition
- Provides calibration factors for platform data

The reconciliation framework

Four steps from biased platform data to decisions you can defend.

STEP 1

Platform data

Self-reported, biased

Each platform's dashboard. Inflated by double-counting and click attribution. Useful only as a starting point.

STEP 2

Independent attribution

Deduplicated, neutral

Server-side MTA layer that captures touchpoints from every channel and dedupes across platforms. Removes the double-counting.

STEP 3

Incrementality test

Causal, ground-truth

Geo holdouts or RCTs validate which channels actually move outcomes. Calibration factors derived from these tests get applied to step 2.

STEP 4

Confident budget decisions

Based on calibrated truth

Reallocate spend toward channels with proven incremental return. Re-test every 6–12 months — calibration factors drift.

Skip a step and you import its bias into the next one. Going straight from platform dashboards to budget decisions is what created the over-spend pattern in the first place. Each step is a calibration on the layer below.

Framework: mbuzz · Inspired by Avinash Kaushik's measurement-maturity ladder

Practical Reconciliation Workflow

Step 1: Establish Baseline Discrepancy

Document how much platforms over-report:

sql
-- Compare platform-reported vs actual conversions SELECT date_trunc('week', conversion_date) as week, SUM(google_reported) as google_claims, SUM(meta_reported) as meta_claims, SUM(email_reported) as email_claims, SUM(actual_conversions) as actual, (SUM(google_reported) + SUM(meta_reported) + SUM(email_reported)) / NULLIF(SUM(actual_conversions), 0) as overcount_ratio FROM conversion_reconciliation GROUP BY 1 ORDER BY 1 DESC;

Typical result: 1.4x to 2.0x overcounting.

Step 2: Apply Discount Factors

Create platform-specific discount factors based on historical overcounting:

Platform Typical Overcredit Discount Factor
Google Ads 30-50% 0.70
Meta Ads 40-60% 0.60
Email 50-70% 0.50
Display -50% (undercredited) 1.50

Warning: These are rough averages. Your actual factors depend on your funnel, customer behavior, and channel mix. Calculate your own from historical data.

Step 3: Use Each Data Source Appropriately

Decision Type Data Source Why
Cross-channel budget allocation Third-party MTA Unbiased, deduplicated
Google Ads bid optimization Google Ads Platform-specific signals
Meta creative testing Meta Ads Platform-specific signals
Executive reporting Third-party MTA Defensible, consistent
Quarterly planning MMM + Incrementality Strategic, causal

Don't try to make platforms agree. Use each data source for what it's good at.

Step 4: Validate with Holdout Tests

Quarterly, validate your reconciliation with incrementality tests:

QUARTERLY VALIDATION TEST

Pick one channel. Run a geo-holdout. Compare the three numbers:

  • Platform-reported contribution: 25%
  • MTA-calculated contribution: 18%
  • Incrementality-measured: 15% ← ground truth

MTA is closer to truth than the platform data. Adjust discount factors accordingly and re-run quarterly.

What NOT to Do

Don't Sum Platform Numbers

❌ Wrong: "Google (85) + Meta (45) + Email (35) = 165 conversions"

✓ Right: "We had 100 conversions. MTA credits Google 35%,
          Meta 28%, Email 22%, Organic 15%."

Don't Pick the Highest Number

Some teams use "whichever platform claims the conversion." This systematically over-credits bottom-funnel and always distorts the picture.

Don't Ignore the Problem

Using platform data "because it's what we have" leads to systematic misallocation. The effort to build a single source of truth pays back in better decisions.

Don't Expect Platforms to Agree

They have different incentives, different windows, different visibility. Reconciliation isn't about making them match—it's about building your own truth.

A WORKED EXAMPLE

A DTC brand pulls reports from Meta, Google, TikTok, and Klaviyo. Each says it drove the strongest week. Summed, the four platforms claim 162 conversions for a week that produced 100 actual orders. Every platform optimization algorithm is bidding harder for the same buyers, and nobody can tell which platform is the marginal driver.

After deploying server-side multi-touch attribution that dedupes the orders across platforms, the picture changes: Klaviyo's email flow is mostly closing already-won customers, Display is doing more sourcing than any platform credited it for, and TikTok's reported ROAS is inflated by 50%+ from view-through claims that don't survive the dedupe. Six weeks of reallocation later, blended ROAS is up 18% on flat spend — the same dollars buying more incremental orders because they're going to the channels that earn them.

Summary

Platform attribution data conflicts because:

  1. Different windows — Google uses 30 days, Meta uses 7 days
  2. Siloed visibility — Each platform only sees its own touchpoints
  3. Self-serving logic — Platforms are incentivized to maximize their claimed value

What to do:

Action Purpose
Use third-party MTA Unbiased, deduplicated cross-channel view
Calculate discount factors Adjust platform data for overcounting
Run incrementality tests Validate true causal impact
Match data source to decision Platform data for within-platform; MTA for cross-channel

Never sum platform-reported conversions. They're each telling their version of the truth, and those versions overlap.

Further Reading

On Building Your Source of Truth:
- What is Multi-Touch Attribution? — The cross-channel solution
- MTA vs MMM — Complementary measurement approaches

On Platform-Specific Issues:
- Why Did GA4 Remove Attribution Models? — Google's attribution changes
- Last-Touch Attribution — Why platform defaults mislead

Key Takeaways

  • Platforms use different attribution windows (Google 30-day, Meta 7-day)
  • Each platform only sees its own touchpoints—they can't see the full journey
  • Adding up platform-reported conversions always exceeds actual conversions
  • Use third-party attribution for cross-channel decisions; platform data for within-channel optimization
Why does Google Ads show more conversions than I actually have?
Google Ads uses 30-day click attribution and may count view-through conversions. If someone clicked an ad 25 days ago then converted, Google claims it. If they also clicked a Meta ad 5 days ago, Meta claims the same conversion. Both report it, but it's one actual sale.
Should I trust Google Analytics or Google Ads data?
They measure differently. Google Ads uses campaign-centric attribution optimized for bidding. GA4 uses session-based attribution across all channels. For cross-channel decisions, GA4 is less biased. For Google Ads optimization, use Google Ads data. For unbiased measurement, use neither—use a third-party tool.
How do I know which platform actually drove the conversion?
You often can't know with certainty from platform data alone. The customer likely saw multiple touchpoints. Use multi-touch attribution to distribute credit fairly, or run incrementality tests to measure each platform's true causal impact.
Why do my total conversions from all platforms exceed my actual sales?
Because platforms double-count. If a customer clicked Google, then Meta, then converted—both platforms claim 100% credit. Summing platform data always overcounts. This is why you need a deduplicated source of truth.
Can I just pick one platform as my source of truth?
Not recommended. Each platform is biased toward crediting itself. GA4 is less biased but still limited. The best approach is a neutral third-party tool that sees all touchpoints and applies consistent attribution logic.
Holly Henderson
Holly Henderson

Co-Founder, mbuzz

Holly Henderson is Co-Founder of mbuzz. With 10+ years in marketing including roles at Westpac, Avon, and Forebrite, she's obsessed with making measurement actually useful.

Harvard Extension School Forebrite Westpac Avon

How mature is your marketing measurement?

The free Measurement Maturity Assessment shows where you stand, where you're exposed, and what to fix first. 10 questions, 3 minutes.

Take the Assessment

Ready to try server-side attribution?

Set up in 10 minutes. Free up to 30K records/month.