GA4 Discrepancies

Symptom

Google Analytics 4 reports don’t match your Shopify orders. Common discrepancies:

  • GA4 shows fewer conversions than Shopify
  • Revenue totals don’t match
  • Transaction IDs missing

Understanding GA4 Data Processing

Before troubleshooting, understand that GA4 data:

  • Takes 24-48 hours to fully process
  • May be sampled in high-traffic reports
  • Uses different timezone than Shopify
  • Affected by consent and ad blockers

Common Causes and Solutions

Cause 1: Data Processing Delay

The Problem: GA4 data isn’t real-time. Full processing takes 24-48 hours.

The Solution:

  • Wait at least 48 hours before comparing
  • Use GA4’s Realtime report for immediate verification
  • Don’t compare today’s data between systems

Cause 2: Timezone Differences

The Problem: GA4 and Shopify use different timezones, causing orders to appear on different days.

The Solution:

Align timezones:

  1. GA4: Admin → Property Settings → Reporting Time Zone
  2. Shopify: Settings → General → Store timezone
  3. Set both to the same timezone

If you can’t change them, account for the offset when comparing.

Cause 3: Consent Impact

The Problem: Users who decline consent don’t get tracked. This is expected for GDPR compliance.

The Solution:

  • This data loss is intentional and legal
  • Expect 10-30% difference in EU traffic
  • GA4’s Consent Mode provides modeled conversions
  • Check “Reporting identity” settings in GA4

Cause 4: Ad Blockers

The Problem: Browser-based tracking is blocked by ad blockers.

The Solution:

  • Enable server-side tracking (GA4 Measurement Protocol)
  • TrackShift Pro sends events server-to-server
  • This bypasses most ad blockers

Cause 5: Currency Conversion

The Problem: Multi-currency stores may show different revenue totals.

The Solution:

TrackShift sends presentment currency (what customer paid):

  • Customer in UK pays £100
  • TrackShift sends £100 GBP to GA4
  • GA4 converts to your reporting currency

Check GA4’s currency settings:

  1. Admin → Property Settings → Currency
  2. Ensure it matches expectations

Cause 6: Data Sampling

The Problem: High-traffic GA4 reports may use sampled data.

The Solution:

  1. Look for the green checkmark (unsampled) or yellow shield (sampled)
  2. Reduce date range for unsampled data
  3. Use Explorations instead of standard reports
  4. Export to BigQuery for unsampled analysis

Cause 7: Missing Transactions

The Problem: Some transactions missing entirely from GA4.

Diagnostic Steps:

  1. Get the Shopify order number
  2. In GA4, go to Explore
  3. Create report with:
  • Dimension: transaction_id
  • Metric: purchase_revenue
  1. Search for your order number

If missing:

  • Check if customer declined consent
  • Verify event was sent (check TrackShift Validation)
  • Check for network issues at time of order

Verifying Events in GA4

Using DebugView

  1. Install Google Analytics Debugger Chrome extension
  2. Visit your store with extension enabled
  3. In GA4, go to ConfigureDebugView
  4. Complete a test purchase
  5. Watch for purchase event in real-time

Using Realtime Report

  1. Go to ReportsRealtime
  2. Scroll to “Event count by Event name”
  3. Complete test actions on your store
  4. purchase events should appear within minutes

Check Event Parameters

Ensure all required parameters are sent:

Parameter Description
transaction_id Unique order identifier
value Order total
currency Currency code
items Product array

In DebugView, click on the purchase event to see parameters.

Acceptable Discrepancy Ranges

Some discrepancy is normal and expected:

Cause Expected Difference
Consent decline 10-30% (EU traffic)
Ad blockers 5-15%
Network issues 1-3%
Timezone offset Varies by day

Total expected: 15-40% fewer GA4 conversions vs Shopify orders

If your discrepancy is larger, follow the troubleshooting steps above.

Last updated: January 16, 2026