Data Discrepancies Between Platforms | Blue Frog Docs

Data Discrepancies Between Platforms

Understanding and reconciling data differences across analytics and advertising platforms

Data Discrepancies Between Platforms

Data discrepancies occur when different analytics or advertising platforms report different numbers for seemingly identical metrics. While some variance is normal and expected, understanding the causes helps you reconcile differences and trust your data.

What This Means

Common discrepancy scenarios:

  • GA4 shows 1,000 conversions, Google Ads shows 850 - Attribution window differences
  • Meta Ads reports 500 purchases, Shopify shows 475 - Tracking method differences
  • Adobe Analytics shows 50K visitors, GA4 shows 48K - User/session definition differences
  • CRM has 200 leads, GA4 shows 185 - Deduplication and validation differences
  • Last week: 5,000 sessions, this week: 4,950 for same dates - Data processing and retroactive updates

Why This Matters

Business implications:

  • Confusion about which numbers to trust
  • Difficulty proving ROI to stakeholders
  • Challenges optimizing campaigns
  • Reporting inconsistencies across teams

Note: Some discrepancy (typically 5-15%) is normal and acceptable. The goal is understanding why numbers differ, not making them match perfectly.

How to Diagnose

1. Compare Apples to Apples

Check if you're comparing equivalent metrics:

GA4 Term Google Ads Term Meta Ads Term What It Measures
Users N/A People Unique individuals
Sessions Visits N/A Groups of interactions
Conversions Conversions Conversions Goal completions
Purchase Purchase Purchase Transaction events

Watch out for:

  • Sessions (GA4) vs Users (GA4) vs Clicks (Google Ads)
  • Conversions (total) vs Conversions (unique)
  • Revenue vs Revenue (minus refunds)

2. Verify Date Ranges and Timezones

Timezone mismatches:

GA4: UTC timezone
Google Ads: Account timezone (PST)
Shopify: Store timezone (EST)

Same "day" = different 24-hour periods

Check each platform:

  • GA4: Admin → Property Settings → Reporting time zone
  • Google Ads: Settings → Account Settings → Time zone
  • Meta Ads: Ad Account Settings → Time Zone
  • Adobe Analytics: Report Suite Settings → Time Zone

Processing time:

  • GA4: 24-48 hours for full processing
  • Google Ads: Real-time to 3 hours
  • Meta Ads: Up to 24 hours for conversions
  • Adobe Analytics: 30-90 minutes

3. Review Attribution Models

Different platforms use different attribution:

Platform Default Attribution Window
GA4 Data-driven (or last click) 90 days
Google Ads Last Google Ads click 30 days
Meta Ads 7-day click, 1-day view Customizable
Adobe Analytics Last touch Customizable

Attribution model comparison:

User journey: Facebook Ad → Google Search Ad → Direct (purchase)

Meta Ads attributes to: Facebook Ad (7-day click window)
Google Ads attributes to: Google Search Ad (last click)
GA4 attributes to: Data-driven model (distributed credit)

To diagnose:

  1. Document each platform's attribution settings
  2. Use same attribution window when possible
  3. Compare using "last click" model across all platforms
  4. Understand that differences reflect attribution philosophy

4. Check for Tracking Implementation Differences

Different tracking methods:

GA4 might use:

Ad platforms might use:

  • Conversion tracking pixels
  • Offline conversion imports
  • API conversions
  • Mobile SDK

Diagnosis checklist:

  • Are all platforms tracking the same events?
  • Do they fire on the same page/action?
  • Are conversion values calculated the same way?
  • Are test transactions excluded consistently?

Test with browser console:

// Check what's firing
window.dataLayer // GTM/GA4
fbq('track', 'PageView') // Meta Pixel
gtag('event', 'conversion') // Google Ads

5. Investigate Filtering and Sampling Differences

Filtering varies by platform:

Platform May Filter Out
GA4 Internal traffic (if configured), bot traffic
Google Ads Invalid clicks (automatically)
Meta Ads Invalid activity (automatically)
Adobe Analytics Bot traffic (if configured), IP exclusions

Sampling:

  • GA4: Sampled data in standard reports (high traffic properties)
  • Adobe Analytics: Sampled after certain thresholds
  • Ad platforms: Generally not sampled

6. Check for Deduplication Differences

Transaction deduplication:

Scenario: User completes purchase, refreshes thank you page

Platform Behavior
GA4 May record duplicate if transaction_id not implemented
Shopify Only records one transaction
Google Ads May record duplicate conversion

Check for transaction_id implementation:

// GA4 with transaction ID (prevents duplicates)
gtag('event', 'purchase', {
  transaction_id: 'T12345',
  value: 99.99,
  currency: 'USD'
});

7. Review Data Collection Periods

Historical data changes:

  • GA4 processes data retroactively (24-48 hours)
  • Numbers for "yesterday" may change slightly today
  • Use "report last updated" timestamp

Cardinality limits:

  • GA4: High-cardinality dimensions may show (other)
  • Some data aggregated to protect user privacy

General Fixes

1. Standardize Attribution Settings

Choose a consistent attribution model for comparison:

In GA4:

  1. Admin → Data Display → Attribution Settings
  2. Choose "Last click" or "Data-driven"
  3. Set consistent lookback window (30/60/90 days)

In Google Ads:

  1. Tools → Conversions
  2. Click conversion action
  3. Attribution model → Select model
  4. Lookback window → Match GA4

In Meta Ads:

  1. Events Manager → Configure Web Events
  2. Attribution Setting → Choose window
  3. Use 7-day click / 1-day view for comparison

Document your choice:

Standard Attribution for Reporting:
- Model: Last Click
- Window: 30 days
- Comparison date: [Date range]
Platforms: GA4, Google Ads, Meta Ads, Adobe Analytics

2. Align Timezones

Pick one timezone for all platforms:

Best practice: Use your business headquarters timezone

Implementation:

  • Set GA4 reporting timezone
  • Set Google Ads account timezone (can't change after setup)
  • Set Meta Ads account timezone
  • Set Adobe Analytics report suite timezone
  • Document timezone in all reports

Note: Google Ads timezone is permanent after account creation.

3. Implement Consistent Transaction IDs

Prevent duplicate conversion counting:

// Server-side: Generate unique transaction ID
const transactionId = `${orderId}-${timestamp}`;

// GA4
gtag('event', 'purchase', {
  transaction_id: transactionId,
  value: orderTotal,
  currency: 'USD'
});

// Google Ads
gtag('event', 'conversion', {
  'send_to': 'AW-XXXXX/YYYYY',
  'transaction_id': transactionId,
  'value': orderTotal,
  'currency': 'USD'
});

// Meta Pixel
fbq('track', 'Purchase', {
  value: orderTotal,
  currency: 'USD'
}, {
  eventID: transactionId // Deduplication ID
});

4. Use Conversions API / Server-Side Tracking

Reduces discrepancies by bypassing browser limitations:

Meta Conversions API:

  • Send same event from server and browser
  • Use same event_id for deduplication
  • More accurate than pixel alone

Google Ads Enhanced Conversions:

  • Sends hashed user data from server
  • Improves attribution accuracy
  • Complements gtag conversions

GA4 Measurement Protocol:

  • Server-side event tracking
  • Bypasses ad blockers
  • Use same client_id for user continuity

5. Create Reconciliation Reports

Build a regular reconciliation process:

Weekly/Monthly Report:

Metric: Purchases
Date Range: Last 7 days
Timezone: EST

Platform         | Count | Revenue  | Variance
GA4             | 1,000 | $50,000 | Baseline
Google Ads      | 920   | $48,500 | -8% / -$1,500
Meta Ads        | 850   | $45,000 | -15% / -$5,000
Shopify (source)| 1,050 | $52,000 | +5% / +$2,000

Notes:
- GA4 -5% vs Shopify: consent blocking, ad blockers
- Google Ads -8% vs GA4: attribution window (30d vs 90d)
- Meta Ads -15% vs GA4: attribution model, iOS tracking limits

Acceptable variance guidelines:

  • ±5% - Normal, no action needed
  • ±10% - Investigate if new, monitor if stable
  • ±20% - Investigation required
  • ±30%+ - Critical issue, immediate review

6. Document Platform Differences

Create a platform comparison guide:

# Platform Tracking Differences

## GA4
- Attribution: Data-driven, 90-day window
- Timezone: EST
- Tracking: GTM + Measurement Protocol
- Filters: Internal traffic excluded
- Notes: Includes all devices, cross-device tracking

## Google Ads
- Attribution: Last Google Ads click, 30-day window
- Timezone: EST
- Tracking: Enhanced Conversions + gtag
- Filters: Invalid clicks auto-filtered
- Notes: Only attributes to Google Ads clicks

## Meta Ads
- Attribution: 7-day click / 1-day view
- Timezone: EST
- Tracking: Pixel + Conversions API
- Filters: Invalid activity auto-filtered
- Notes: iOS 14.5+ tracking limited

## Shopify (Source of Truth for Transactions)
- Records all completed orders
- Timezone: EST
- Notes: Refunds processed separately

7. Use a Single Source of Truth per Metric

Assign authoritative sources:

Metric Source of Truth Why
Revenue Shopify/Payment Processor Actual money received
Transactions Shopify/CRM Confirmed orders
Marketing Attribution GA4 Cross-channel view
Ad Platform ROI Individual ad platforms Platform-specific optimization
Website Behavior GA4/Adobe Analytics Comprehensive site tracking

8. Implement Cross-Platform Validation

Tag events with platform identifiers:

// Track which platforms received the event
gtag('event', 'purchase', {
  transaction_id: 'T12345',
  value: 99.99,
  debug_platforms: 'GA4,GAds,Meta' // For debugging only
});

Log to server for verification:

// Server-side event log
{
  transaction_id: 'T12345',
  timestamp: '2025-12-24T10:30:00Z',
  platforms_notified: ['GA4', 'Google_Ads', 'Meta_Pixel'],
  shopify_order_id: '4567890'
}

9. Account for Date Range Calculation Differences

Be precise with date ranges:

Instead of: "Last 7 days" Use: "December 17-23, 2025, EST timezone"

Different platforms calculate "last 7 days" differently:

  • Some include today (partial day)
  • Some use complete days only
  • Timezone affects which day

Best practice:

  • Use specific start/end dates
  • Use complete days (not "last 30 days")
  • Account for data processing delays

Platform-Specific Guides

Platform Guide
GA4 vs Google Ads Reconciling GA4 and Google Ads data
GA4 vs Meta Ads Understanding Facebook and GA4 discrepancies
Shopify vs GA4 Shopify analytics discrepancies
Adobe Analytics Adobe attribution models

Further Reading

// SYS.FOOTER