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:
- GA4: Admin → Property Settings → Reporting Time Zone
- Shopify: Settings → General → Store timezone
- 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:
- Admin → Property Settings → Currency
- Ensure it matches expectations
Cause 6: Data Sampling
The Problem: High-traffic GA4 reports may use sampled data.
The Solution:
- Look for the green checkmark (unsampled) or yellow shield (sampled)
- Reduce date range for unsampled data
- Use Explorations instead of standard reports
- Export to BigQuery for unsampled analysis
Cause 7: Missing Transactions
The Problem: Some transactions missing entirely from GA4.
Diagnostic Steps:
- Get the Shopify order number
- In GA4, go to Explore
- Create report with:
- Dimension:
transaction_id - Metric:
purchase_revenue
- 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
- Install Google Analytics Debugger Chrome extension
- Visit your store with extension enabled
- In GA4, go to Configure → DebugView
- Complete a test purchase
- Watch for
purchaseevent in real-time
Using Realtime Report
- Go to Reports → Realtime
- Scroll to “Event count by Event name”
- Complete test actions on your store
purchaseevents 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.
—