Shopify Analytics vs GA4: Which Data Should You Trust?

Shopify and GA4 report different numbers for the same store. Here's why they disagree, which is right, and how to use both without losing your mind.

ShopifyGA4analyticsecommercedata discrepancytracking

You pull up your Shopify dashboard: $50,000 in revenue last month, 25,000 sessions. You open GA4: $38,000 in revenue, 19,000 sessions. Same store. Same month. Different universe.

This isn’t a bug. It’s a fundamental difference in how each platform counts things. And if you don’t understand why the numbers differ, you’ll make bad decisions based on whichever number looks better.

Why the Numbers Don’t Match

Shopify and GA4 measure the same activity in completely different ways. Here are the core reasons they disagree:

1. Sessions Are Counted Differently

Shopify counts a session as a period of continuous activity. If a user is inactive for 30 minutes, a new session starts. But Shopify also starts a new session at midnight, when traffic source changes, or when a user opens the site in a new browser tab.

GA4 counts a session starting with a session_start event and ending after 30 minutes of inactivity. GA4 doesn’t reset at midnight or when the source changes (unless the user leaves and comes back with a new campaign parameter).

Result: Shopify almost always reports more sessions than GA4. A single user who shops across midnight might be one GA4 session and two Shopify sessions.

2. GA4 Misses Visitors That Shopify Sees

Shopify tracks every visitor server-side. Its analytics are built into the platform — there’s no JavaScript to block.

GA4 relies on JavaScript that runs in the user’s browser. This means GA4 doesn’t see:

  • Users with ad blockers (15-30% of users, depending on your audience)
  • Users who block third-party cookies
  • Users who declined cookie consent
  • Users on iOS with App Tracking Transparency restrictions
  • Sessions where the page loaded but GA4’s script didn’t fire (slow connections, script errors)

Result: GA4 reports fewer users and sessions because it literally can’t see some of them. Shopify sees everyone.

3. Revenue Attribution Differs

Shopify counts revenue when an order is placed. It’s simple: an order for $100 equals $100 in revenue.

GA4 counts revenue when the purchase event fires in the browser. If the purchase event doesn’t fire (because the confirmation page didn’t load, the user closed the browser too fast, or the tracking code has a bug), GA4 misses the sale.

How big is the gap? Typically 10-30% of purchases are missed by GA4 compared to Shopify. The exact gap depends on your tracking implementation and your audience’s browser/privacy setup.

4. Order Adjustments

Shopify adjusts revenue for refunds, partial refunds, and order edits after the fact. GA4 records the purchase event at the time it fires and doesn’t automatically adjust for refunds (you’d need to send a refund event, which most stores don’t implement).

Result: Over time, Shopify’s revenue may be lower than GA4’s for refunded orders — but higher overall because GA4 misses purchases.

5. Tax and Shipping

Shopify can include or exclude tax and shipping from its revenue figures depending on your settings. GA4’s purchase event includes whatever value parameter your tracking code sends, which may or may not include tax and shipping.

Result: If your GA4 tracking sends product subtotal (excluding tax/shipping) but Shopify reports total revenue (including tax/shipping), the gap grows wider.

A Realistic Comparison

Here’s what a typical discrepancy looks like for a Shopify store doing $50K/month:

MetricShopifyGA4Why
Sessions25,00019,000Ad blockers, consent, JS failures
Users18,00014,000Same reasons
Orders500410GA4 misses some purchase events
Revenue$50,000$38,000Missed purchases + possible tax/shipping difference
Conversion rate2.0%2.16%Different denominator (sessions) and numerator (orders)

Notice that conversion rate might actually look higher in GA4. That’s because the users GA4 does track tend to be more engaged (they allowed cookies, didn’t have ad blockers). The more casual, privacy-conscious visitors that Shopify sees but GA4 doesn’t are often less likely to purchase.

Which Should You Trust?

Neither platform is “wrong.” They’re measuring different things. The key is knowing which to trust for which decision.

Trust Shopify For:

DecisionWhy Shopify
Total revenueShopify sees every order, period
Total ordersSame reason
Profit and lossShopify’s number matches your bank account
Inventory decisionsAccurate product-level sales data
Year-over-year revenue comparisonConsistent counting methodology

Trust GA4 For:

DecisionWhy GA4
Marketing channel performanceGA4 attributes traffic to sources (organic, paid, email, social)
Campaign optimizationGA4 shows which campaigns, ad groups, and keywords drive conversions
User behaviorGA4’s event model shows the browsing journey (views, cart adds, checkout steps)
Audience buildingGA4 creates audiences for Google Ads remarketing
Cross-device analysisGA4 tracks users across devices (when possible)

The short version: Shopify for finance. GA4 for marketing.

For Conversion Tracking and ROAS

This is where it gets complicated. Your ad platforms (Google Ads, Meta) need conversion data to optimize. That data comes from their own pixels/tags and from GA4, not from Shopify.

If GA4 is missing 20% of purchases, your Google Ads sees 20% fewer conversions. Your reported ROAS is lower than reality. This matters because:

  • Smart bidding algorithms optimize with incomplete data
  • You might kill campaigns that are actually profitable
  • Budget allocation decisions are based on understated performance

For a full guide on fixing conversion tracking discrepancies, see our GA4/Google Ads conversion mismatch guide.

How to Close the Gap

You can’t make the numbers match perfectly. But you can reduce the discrepancy.

1. Implement Server-Side Tracking

The biggest source of discrepancy is GA4’s JavaScript being blocked or failing. Server-side tracking sends data from your server, not the user’s browser. This bypasses ad blockers and most privacy restrictions.

For Shopify, this means implementing GA4 via server-side Google Tag Manager or a third-party app that sends events server-to-server.

For a complete guide to your options, see our Shopify conversion tracking guide.

2. Verify Your Purchase Event

Open your Shopify order confirmation page (the “thank you” page after checkout) and verify the GA4 purchase event fires correctly:

  1. Open Chrome DevTools, go to the Network tab
  2. Complete a test purchase
  3. Filter by google-analytics or collect
  4. Verify you see a request with en=purchase and the correct ep.value (revenue)

If the purchase event doesn’t fire, or fires with wrong values, fix it immediately. This is the single most impactful tracking fix.

3. Match Revenue Definitions

Make sure your GA4 purchase event sends the same revenue figure Shopify uses. Common mismatches:

  • GA4 sends subtotal, Shopify reports total (including tax/shipping)
  • GA4 sends value in cents, Shopify reports in dollars
  • GA4 sends per-item price instead of order total

Pick one convention (we recommend total revenue including shipping, excluding tax) and make both platforms consistent.

4. Implement Refund Events

If you process a lot of refunds, send a refund event to GA4 when orders are refunded. This keeps GA4’s revenue figure closer to Shopify’s actual revenue.

5. Use a Reconciliation Dashboard

Create a simple comparison view that shows both numbers side by side:

  • Shopify revenue vs GA4 revenue (by day, week, month)
  • Track the discrepancy percentage over time
  • If the gap suddenly widens, something broke

A healthy gap is 10-20%. If it’s 30%+, your GA4 tracking has significant issues.

The “Trust Ratio” Approach

Some experienced marketers use a trust ratio to reconcile the two:

Trust Ratio = GA4 Revenue / Shopify Revenue

If your trust ratio is consistently 0.76 (GA4 captures 76% of Shopify revenue), you can adjust your GA4-reported ROAS accordingly.

Example: GA4 reports 3.0x ROAS. Trust ratio is 0.76. Adjusted ROAS = 3.0x / 0.76 = 3.95x.

This isn’t perfect, but it’s better than treating GA4’s numbers at face value when you know they’re understated.

Common Mistakes

Using GA4 Revenue for Financial Reporting

GA4’s revenue number is always lower than reality. Never use it for profit and loss statements, tax reporting, or board presentations. Use Shopify (or your payment processor) for financial numbers.

Ignoring the Discrepancy

A 25% gap between Shopify and GA4 might mean 25% of your conversions are invisible to your ad platforms. That affects bidding, optimization, and budget decisions. Acknowledge the gap and work to close it.

Assuming Shopify Analytics Is Enough for Marketing

Shopify tells you what happened but not why. It can tell you 500 orders came in, but it can’t tell you which Google Ads keywords drove those orders, which email campaigns contributed, or where in the funnel people dropped off. You need GA4 for marketing attribution and behavioral analysis.

The Bottom Line

Shopify and GA4 will never show the same numbers. That’s by design — they measure different things in different ways. The key is understanding which platform to trust for which decision and working to minimize the gap where it matters most (conversion tracking for ad optimization).

If you’re not sure how big the gap is or whether your GA4 tracking is capturing as many conversions as possible, run a free scan. We’ll check your tracking setup and identify where the data is leaking.