Key Takeaways
- Checkout upgrades expose weak tracking setups because old additional scripts and theme snippets stop behaving like they used to.
- If you keep old code and add new pixels on top, duplicate events become just as dangerous as missing events.
- Shopify's current path is customer events, app pixels, and custom pixels rather than random script injection.
- Tracking needs a deliberate migration plan, not a one-click app install and a hope that attribution settles down.
One of the fastest ways to lose confidence in a Shopify upgrade is to watch GA4, Meta, or your attribution tool stop matching reality right after checkout changes go live.
The frustrating part is that orders still come in. The broken part is the signal layer around them.
When merchants say tracking “broke,” it usually means one of these happened:
- purchase events stopped firing
- duplicate purchase events started firing
- pageview or session stitching changed
- Meta or Google conversions dropped even though revenue did not
- customer account activity stopped appearing in the places the team expected
Here is how to fix it without making the data worse.
Why checkout migrations break reporting
Legacy tracking stacks often relied on old patterns:
- scripts in additional scripts
- tags injected through
checkout.liquid - duplicate snippets in
theme.liquid - app scripts added by vendors over time
Shopify’s direction is now different:
- customer events
- app pixels
- custom pixels
- supported integrations like the Google & YouTube app
That means old tracking logic has to be translated, not just copied.
Start with a tracking inventory, not a debugging session
Before you touch anything, document:
- which platforms receive purchase events
- how each event currently fires
- where the code lives
- which team depends on each platform
- what attribution window each platform uses
If you skip this step, you will “fix” the wrong problem.
The correct migration path for common setups
Google Analytics 4 and Google Ads
If you are still relying on older Thank you page scripts, move toward Shopify’s supported Google setup. Shopify explicitly recommends supported integrations instead of keeping aging snippets alive.
If you use Google Tag Manager, rebuild the purchase path with the current pixel model instead of pasting the old container logic into a random place.
Meta
Shopify also notes that legacy Meta and Google pixels migrated from older settings can see reduced performance. This is why some merchants think Shopify destroyed attribution when the deeper issue is that they are running a transitional setup instead of the current one.
Affiliate, survey, and CDP tools
These are the most overlooked. They usually live in post-purchase code nobody has reviewed in months. If the vendor supports app pixels or checkout extensions, move there. If not, determine whether the workflow still deserves to exist.
A clean rebuild sequence
Step 1: Remove duplicate firing points
Find out whether the same purchase event is firing from:
- the theme
- a custom GTM implementation
- an app pixel
- a custom pixel
- a legacy additional script
One event should have one intentional source of truth.
Step 2: Use customer events and pixels where possible
Shopify’s supported event system is built for this new model. If an app offers an app pixel, prefer that over a hand-rolled workaround.
Use custom pixels only when you genuinely need custom logic or a vendor does not offer the right integration.
Step 3: Validate event payloads
Do not stop at “the tag fired.”
Check:
- transaction ID
- revenue value
- currency
- line items if your downstream tools depend on them
- coupon data
- deduplication parameters where required
Step 4: Test the real order flows
Run orders through:
- standard checkout
- Shop Pay
- mobile checkout
- discount orders
- subscriptions if applicable
Then compare the data across Shopify admin, GA4, ad platforms, and any middleware you use.
Do not forget customer accounts
Another current Shopify change matters here: web pixels are now supported on customer account pages, the Order status page, and the Thank you page when the merchant uses a custom domain for customer accounts.
That is useful, but it also creates a new source of confusion. If your team expects customer-account behavior to appear in the same tracking layer as storefront behavior, verify that your customer account domain and event setup are aligned with Shopify’s requirements.
A practical audit checklist
Use this before sign-off:
- Confirm old additional scripts were removed or intentionally retired.
- Confirm purchase fires once in every relevant platform.
- Confirm purchase values match Shopify totals.
- Confirm test orders appear with the expected attribution metadata.
- Confirm post-purchase and customer-account events are firing only where intended.
- Confirm consent settings do not suppress the exact events your paid media team expects.
The mistake that creates weeks of bad data
Merchants often treat tracking as a last-mile QA item. It is not. It should be one of the first workstreams in a checkout migration because every week of bad data makes budget decisions worse.
If reporting suddenly changed after a checkout upgrade, do not assume the platform is wrong and wait it out. Audit the event architecture immediately.
Most of the time, the fix is not exotic. It is disciplined cleanup.
Official References
- Replace Google Tag Manager scripts on the Thank you page
- Reviewing and replacing additional scripts on the Thank you and Order status pages
- Migrate marketing pixels from the Preferences page
- App pixels now default to always on optimized data sharing
- Web pixels on customer accounts pages, Order status page, and Thank you page