Last updated: September 25, 2026
GA4 and Shopify will never report identical numbers, and in 2026 that is still true even after Google started receiving purchase events directly from Shopify's servers. The two systems count different things: Shopify counts orders the moment money moves, GA4 counts events attributed to sessions under consent rules, ad blockers, attribution windows and its own timezone. A gap of a few percent is normal. A gap of 20 percent or more means something specific is broken, and every cause has a name.
This guide explains what changed in mid-2026, then gives you the reconciliation checklist we run on client stores, in the order that finds problems fastest.
What changed with GA4 and Shopify in July 2026?

In July 2026, for stores using Shopify's Google & YouTube app, Google began receiving the purchase event server to server from Shopify, instead of relying only on the browser tag firing on the thank-you page. Industry reporting on Google's rollout notes it was enabled by default (opt-out rather than opt-in) and covers the checkout completion event specifically.
Then in August 2026, the app expanded the browser-side event set, adding mid-funnel events like view_item_list, remove_from_cart, view_cart and add_shipping_info. Only the purchase event travels server to server. Everything upstream in the funnel is still browser-tracked, so it is still exposed to ad blockers and consent decline.
What the server-to-server purchase fixes: purchases lost to ad blockers, browsers killing scripts on the thank-you page, users bouncing before the tag fired, and some consent-related losses. Stores that previously saw GA4 miss a big share of orders, and Shopify community threads have reported gaps as large as 40 percent, should see the purchase count get much closer to admin.
What it does not fix, and Google has said discrepancies will persist: attribution differences, timezone offsets, refunds and cancellations, session-based reporting logic, and every event other than purchase. If you expected the July change to make the two dashboards match, this is why they still do not.
Why do GA4 and Shopify disagree even when tracking is perfect?
Structural reasons, present on every store:
Different clocks. Shopify reports in your store timezone, GA4 in the property timezone. If they differ, daily numbers shift orders across midnight. Even when they match, an order at 11:59 pm can land in different days depending on when each system stamps it.
Different definitions of a sale. Shopify counts an order when it is created. GA4 counts a purchase event. Draft orders, phone orders, subscription renewals, POS sales and some payment-gateway edge cases create Shopify orders that never had a GA4 session at all.
Refunds and cancellations. Shopify's sales reports net out refunds. GA4 keeps the original purchase event unless refund events are sent, which most setups never do.
Consent. With Consent Mode and EU traffic, declined-consent purchases are either modeled or absent in GA4, and modeled conversions do not map one to one with real orders.
Attribution and reporting identity. GA4 stitches sessions and users with its own logic. None of this changes order counts, but it changes every "revenue by channel" comparison you make against Shopify's own attribution.
What is an acceptable difference between GA4 and Shopify?

Rules of thumb from reconciling client stores:
| Gap in purchase count (30-day window) | Verdict |
|---|---|
| 0 to 5% | Excellent, do not chase perfection |
| 5 to 10% | Normal, usually timezone, refunds and non-web orders |
| 10 to 20% | Investigate, likely consent losses or a filtering issue |
| Over 20% | Something is broken: duplicate or missing tags, wrong property, blocked events |
Compare purchase counts before revenue. Counts isolate tracking problems, revenue adds currency, tax and shipping definition differences on top and muddies the diagnosis.
The reconciliation checklist, in order
1. Confirm which pipes are live. In Shopify admin, open the Google & YouTube app and confirm the GA4 property it is connected to. Then check whether you also have a GA4 tag firing via theme code, a custom pixel, or GTM. Two pipes sending purchase without deduplication is the number one cause of GA4 reporting more purchases than Shopify, and yes, that direction happens too.
2. Align timezones and currency. GA4 property settings versus Shopify store settings. Fix mismatches, then only compare full weeks going forward.
3. Strip non-web orders from the comparison. In Shopify, filter orders to the online store channel only. Draft, POS, subscription renewals and marketplace orders do not belong in a GA4 comparison.
4. Net out refunds consistently. Either add refund handling to GA4 or, simpler, compare GA4 purchases against Shopify gross orders rather than net sales.
5. Check for duplicate purchase events. In GA4, Reports > Realtime while placing a test order, or the DebugView. One order should produce exactly one purchase event with one transaction_id. If you migrated from Additional Scripts to a custom pixel this year and left the old script running in parallel, this is where it shows up.
6. Verify consent configuration. If you have EU or UK traffic, confirm Shopify's Customer Privacy settings and your consent banner are wired to Consent Mode correctly. A misconfigured banner that defaults everyone to declined can silently remove a third of your events while purchases still arrive server side, which produces weird funnels: purchases without sessions.
7. Look at unassigned and direct traffic. A spike in "unassigned" after the July change is usually the server-side purchase arriving without full session context. It is a known texture of the new integration, not a bug you introduced.
8. Only then judge channels. Once counts reconcile within 5 to 10 percent, channel-level differences that remain are attribution philosophy, not tracking. Shopify, GA4 and your ad platforms will keep telling three different stories about the same revenue, and that is expected. Pick one source of truth per question: Shopify for finance, GA4 for behavior, and a deduplicated server-side setup for ad platform signals.
Do I still need server-side GTM or Meta CAPI after this change?
Yes, for everything that is not the Google purchase event. The July 2026 change covers one event to one destination. Your Meta signal still depends on the Conversions API, covered in our Meta CAPI setup guide, and if you run a full server-side container for multiple destinations, consent handling and first-party cookies, the architecture in our server-side GTM guide is unchanged. If anything, the new native pipe simplifies one corner of that stack and lets your server container focus on the platforms Shopify does not cover natively.
When to get help
If you have run the checklist and the gap stays above 20 percent, or your funnels show purchases with no sessions and you cannot trace why, this is a half-day diagnostic for someone who does it weekly and a lost weekend for someone who does not. Tracking and analytics setup is part of what 7SEA Marketing does for D2C Shopify brands, details on our analytics service page.
Frequently asked questions
Why is GA4 showing fewer purchases than Shopify?
The classic causes are ad blockers and consent decline killing the browser tag, non-web orders like POS, drafts and subscription renewals that never had a session, timezone offsets, and refund handling differences. Since July 2026, stores on the Google & YouTube app receive the purchase event server to server, which removes most browser-loss causes, so remaining gaps usually come from order-type and definition differences.
Why is GA4 showing MORE purchases than Shopify?
Almost always duplicate tracking: the Google & YouTube app and a manually installed GA4 tag or custom pixel both sending purchase without a shared transaction_id deduplication. Place a test order with DebugView open and count the purchase events.
Did the July 2026 Shopify GA4 update fix the mismatch?
It fixed the browser-loss portion for the purchase event by sending it from Shopify's servers. Google has been clear that discrepancies persist for attribution, timezones, refunds and every other event, which remain browser-tracked. Expect closer purchase counts, not identical dashboards.
Should GA4 or Shopify be my source of truth for revenue?
Shopify, always, because it is the system of record for money. Use GA4 for behavior, funnels and channel analysis, and reconcile the two monthly so you know the gap is stable rather than growing.
What is a normal difference between GA4 and Shopify numbers?
Within 5 percent is excellent and 5 to 10 percent is normal once non-web orders and refunds are accounted for. Above 20 percent, look for duplicate or missing tags, a wrong property connection, or consent misconfiguration.
Want a real number for your store?
Send us the URL and the catalog size. We will come back with a fixed quote and the template list it covers, no call required unless you want one.
Get a build quote