GA4 says you had 1,000 sessions and 50 purchases yesterday. Shopify says you had 1,200 visitors and 75 orders.
That's a 50% difference in conversions. Which number is right?
The answer: Both are "right" by their own definitions. This guide explains why they differ and which source to use for which decisions.
Understanding the Mismatch
GA4 and Shopify measure things differently:
| Metric | GA4 | Shopify |
|---|---|---|
| Traffic | Sessions (JavaScript-based) | Store sessions (server-side) |
| Users | Client IDs (cookie-based) | Customer records |
| Conversions | purchase events fired | Orders in database |
| Revenue | JavaScript-captured value | Actual order totals |
Key insight: GA4 measures what its JavaScript sees. Shopify measures what happens in its database. These are fundamentally different.
Why Traffic Numbers Differ
- Ad blockers: 25-40% of users block analytics tracking
- Privacy browsers: Safari ITP, Firefox ETP limit cookies
- Slow page loads: User leaves before GA4 loads
- JavaScript errors: GA4 doesn't fire properly
- Consent banners: User rejects cookies (GDPR/CCPA)
- Bot traffic: Some bots execute JavaScript
- Session fragmentation: Same user = multiple sessions
- Cross-device: Same user on phone and desktop = 2 users
GA4 usually shows 15-30% fewer sessions than Shopify, primarily due to ad blockers and tracking prevention.
Why Conversion Numbers Differ
- All traffic reasons above: No session = no conversion tracked
- Thank-you page issues: User closes before page loads
- Payment redirects: PayPal, Shop Pay can break tracking
- Cross-domain issues: Checkout on different domain loses session
- Deduplication: GA4 may dedupe rapid repeat purchases
- Test orders: Counted if not excluded
- Double-firing: Misconfigured tags fire twice
- Refunds not subtracted: GA4 doesn't auto-remove refunded orders
GA4 typically shows 10-40% fewer conversions than Shopify. High mobile traffic or payment redirects increase the gap.
Which Source to Trust
| Decision | Use This Source | Why |
|---|---|---|
| How much revenue did I make? | Shopify | Source of truth for actual orders |
| How many orders? | Shopify | Database = reality |
| Which channels drive traffic? | GA4 | Best traffic source data |
| User behavior on site? | GA4 | Event tracking, engagement |
| Conversion rate trends? | Either (be consistent) | Trend matters more than absolute |
| Campaign attribution? | GA4 (directional) | Platform data overclaims |
| Actual profit? | Neither | Use unified analytics with cost data |
Golden rule: Use Shopify/platform for "what happened" (orders, revenue). Use GA4 for "how they got there" (traffic sources, behavior).
Common Issues That Widen the Gap
If your checkout is on checkout.shopify.com instead of your domain:
- Sessions break between store and checkout
- Conversions may not attribute properly
- Fix: Enable Shopify checkout domain or configure cross-domain tracking
Basic GA4 setup misses purchase events:
- Install Shopify's GA4 integration or use GTM
- Verify purchase events are firing in GA4 DebugView
- Check that revenue values are passing correctly
Some redirects/apps strip UTM parameters:
- Traffic shows as direct/organic instead of paid
- Check landing pages preserve UTMs
- Test full click path from ads
GA4 and Shopify may use different time zones:
- An order at 11 PM might count as different days
- Align time zones in both platforms
- Compare weekly/monthly totals to smooth this out
Troubleshooting Large Discrepancies
If GA4 shows <60% of Shopify conversions, something is likely broken:
- Step 1: Check GA4 DebugView - do purchase events fire at all?
- Step 2: Verify thank-you page tracking - does the page load the tag?
- Step 3: Test a purchase yourself - trace the full journey in GA4 Realtime
- Step 4: Check for duplicate tags - multiple GA4 installations fire unpredictably
- Step 5: Review payment gateways - PayPal redirect especially problematic
A 15-30% gap between GA4 and Shopify conversions is normal. 30-40% is worth investigating. 40%+ usually indicates a tracking problem.
Stop reconciling spreadsheets.
Niblin's AI agent pulls data directly from Shopify, GA4, and your ad platforms—ask any question in plain English and get a computed answer with real data. No guessing game. $299/mo to start.
Start Free Trial
Key Takeaways
- GA4 and Shopify measure differently: JavaScript events vs. database records
- GA4 typically undercounts by 15-40% due to ad blockers, redirects, and tracking issues
- Use Shopify for "what happened" (revenue, orders), GA4 for "how" (traffic, behavior)
- A 15-30% gap is normal; 40%+ indicates tracking problems worth fixing
- Payment redirects (PayPal, Shop Pay) and checkout domains are common culprits