Help
How to fix Shopify orders missing from GA4
A step-by-step order for finding why purchases do not reach Google Analytics, written so a store owner can do most of it without a developer. CommerceTrace does not change your tracking; it shows which orders are missing and checks whether your fix worked.
1. Make sure the gap is real
No store sees every order in GA4. Shoppers who decline analytics cookies and ad blockers always cost a share, so compare against your store's usual level, not against 100%. CommerceTrace's day-by-day panel shows that level. Trust a missing order once it is confirmed, meaning older than GA4's limit for late events; a suspected one may still arrive. See why the numbers differ.
2. Look at what the missing orders share
If the report shows that the missing orders cluster on one payment method (for example PayPal) or one sales channel, start there. A single checkout path failing is far more common than tracking failing everywhere.
3. Find out what sends your purchase event
In Shopify Admin, open Settings → Customer events and the apps you have installed. Purchases usually come from one of:
- Shopify's Google & YouTube app;
- a custom pixel in Customer events, often loading Google Tag Manager;
- a tracking app such as Elevar, Littledata or Analyzify.
None of them sending purchases means no orders will reach GA4. More than one usually means purchases counted twice. Keep exactly one source of the purchase event.
4. Check for old thank-you page scripts
Shopify has upgraded the thank-you and order status pages: Plus stores by 28 August 2025
and every other store by 26 August 2026. Tracking code pasted into the
old Additional scripts box, or into checkout.liquid, no
longer runs there. If your purchase tag lived there, move it to a custom pixel in
Customer events or to a tracking app. This is one of the most common reasons purchases
stop reaching GA4. See
did your tracking stop on 26 August 2026?
5. Place a test order down the failing path
Use the payment method or channel from step 2. Open GA4's
Realtime report, or Google Tag Assistant, before you pay, then check
that a purchase event arrives with:
- a
transaction_idequal to the order number or order ID; - the right
valueandcurrency.
On a live store, Shopify test orders are excluded from CommerceTrace's comparison, so this check happens in GA4, not in the report. A development store is the exception: its test orders are checked like real ones.
6. Payment pages that send shoppers away
With PayPal, Klarna and similar methods the shopper leaves your store to pay. If they do
not come back to the thank-you page, a browser tag never fires. When they do come back,
GA4 may credit the sale to the payment site. In GA4, open
Admin → Data streams → your web stream → Configure tag settings → List unwanted
referrals and add the payment domains you use, such as
paypal.com. CommerceTrace's attribution panel lists the ones it found.
7. What a fix can and cannot recover
- A broken or missing tag: fixable, and the gap should close.
- Shoppers who decline consent: expected, and not a fault to fix.
- Ad blockers and shoppers who never reach the thank-you page: server-side tracking (a tracking app or server-side GTM) recovers part of this, at a cost.
- Orders created in the admin, by point of sale or by subscription renewals: they never pass through the online checkout. CommerceTrace sets aside point of sale and renewals with the reason.
8. Check that the fix worked
In CommerceTrace, use Mark the change on Overview with the day you changed your tracking. Let orders come in for a few days, then run the audit again: it compares how many orders reached GA4 before and after that day, and says when there are still too few orders to tell. Purchases that were never recorded cannot be added to GA4 afterwards; a fix only helps from the day it goes live.
Why GA4 purchases don't match Shopify orders · What each verdict means · What CommerceTrace can and can't see