Shopify Conversion Tracking Stopped Working After the Thank You Page Upgrade
Shopify's new Thank you and Order status pages do not support additional scripts, so your Google Ads and Meta tags stopped firing while orders kept coming. How to diagnose it and rebuild tracking.
Short answer: Shopify's new Thank you and Order status pages do not run additional scripts. If your Google Ads tag, Meta pixel, or GTM container lived in that Additional scripts box, it was not converted to a new format. It just stopped executing. Orders keep landing in Shopify exactly as before, so nothing looks broken, while your ad platforms quietly under-report conversions.
The tell is specific: if your Shopify order count is flat but platform-reported conversions stepped down on one particular date, this is almost certainly your cause. A gradual decline is a marketing problem. A cliff on a single day is a plumbing problem.
Here is what changed, how to confirm it in about fifteen minutes, and what actually has to be rebuilt.
What actually changed on your Thank you page
Shopify has been retiring the old, script-based Thank you and Order status pages in favor of extension-based ones. The important detail, and the one most migration guides blur, is that your scripts are not translated. They are simply not run.
Shopify's documentation is blunt about it: Additional scripts for tracking and analytics and page customizations aren't supported on the new Thank you and Order status pages.
You also lost the ability to edit those snippets long before the deadline. As of August 28, 2025, the additional scripts section in the Checkout settings is view-only. You can no longer manually edit them. That box is now an inventory list of what used to fire, which turns out to be useful when you are diagnosing this.
Was the deadline January 2026 or August 26, 2026?
Both dates are real. They apply to different plans, and confusing them is the single most common error in the articles currently ranking for this topic.
| Plan | Upgrade deadline | Automatic upgrade |
|---|---|---|
| Shopify Plus | August 28, 2025 | Began January 2026 |
| Non-Plus (Basic, Grow, Advanced) | August 26, 2026 | Begins after that date |
For non-Plus stores, Shopify states that August 26, 2026 is the deadline for stores on a non-Plus Shopify subscription plan to upgrade their existing Thank you and Order status pages, and that it is not optional: if you do not upgrade before that date, your pages will be auto-upgraded for you.
For Plus, the cutover already happened. Shopify's Plus timeline says January 2026: Automatic upgrades begin, and all customizations using additional scripts, apps with script tags, or checkout.liquid on the Thank you and Order status pages will be lost. That "January 2026" line is where most of the internet's confusion comes from.
One nuance almost nobody mentions: you can revert a manual upgrade, but only if your store was created before January 6, 2025 and you upgraded less than 30 days ago. Reverting does not exempt you from the auto-upgrade. It only buys time.
How to confirm this is what broke
This takes about fifteen minutes and needs no developer.
- Open Settings, then Checkout, and read the Additional scripts box. It is view-only now, but whatever is still pasted in there is your inventory of what stopped running.
- Open Settings, then Customer events. List every app pixel and custom pixel currently connected. This is what is actually firing today.
- Chart daily conversions for the last 90 days in Google Ads and Meta Events Manager. Look for a step change, not a slope.
- Chart Shopify orders for the identical date range.
- Compare the shapes. Shopify flat plus platforms stepping down on one specific day gives you both your diagnosis and your date.
If you want the companion habit for this kind of work, I wrote about measuring before you guess in the context of site speed. The discipline is the same here.
What broken attribution looks like from the order side
Most writing on this topic looks at the problem from the ad dashboard. I see it from the order ledger, which is a different and more useful angle.
I build Selixer, a Shopify profit-intelligence product that reconciles orders against ad spend across more than 50,000 orders a month. The signature of this failure is unmistakable from that side: Shopify order volume and revenue hold perfectly steady while platform-reported conversions and platform-reported revenue diverge downward. Blended ROAS computed from real orders and channel ROAS computed from the ad account stop agreeing with each other, and the gap starts on a single date.
The reporting error is not the expensive part. The expensive part is that you keep spending while optimizing against a dataset that no longer describes reality. In my experience running that reconciliation, campaign performance degrades beyond the measurement gap itself, because the platforms are learning from incomplete conversion signal. I want to be precise that this second effect is my operating experience, not a documented figure from Google or Meta.
You will see percentages quoted elsewhere for how much conversion data merchants lose. I am not going to repeat them, because every version I traced leads back to vendor marketing with no primary source behind it.
What replaces additional scripts
Shopify names three replacements: app pixels (its recommended route), custom pixels (when no app meets your needs), and apps offering blocks for the new pages. Here is how that maps to what was probably in your box.
| What was in Additional scripts | What it becomes | Admin only? |
|---|---|---|
| Google Ads conversion tag, GA4 | App pixel via the Google & YouTube channel | Yes |
| Meta pixel | App pixel via the Meta channel | Yes |
| Google Tag Manager container | Custom pixel | Yes, with caveats |
| Affiliate or partner snippet | Custom pixel, if the vendor supports the sandbox | Usually |
| Post-purchase or COD display logic | UI extension targeting purchase.thank-you | No |
| Enhanced conversions, advanced matching | Server-side from the order webhook | No |
One correction worth making, because getting it wrong will cost you credibility with any developer you hire: Shopify Functions are not a replacement for tracking. They handle discount, delivery, and payment customization. Shopify's own additional-scripts documentation does not list them at all.
On the pixel choice, Shopify recommends app pixels for improved stability, security, and performance, and says to create a custom pixel only if no app meets your needs. The practical rule: use the official channel where one exists, fall back to a custom pixel otherwise, and expect some legacy vendor snippets to simply not work inside the sandbox.
Yes, you can still use Google Tag Manager, but as a custom pixel rather than a container pasted into checkout. Because that pixel runs sandboxed and cannot reach the top frame, any tag in your container that expects full DOM access will not behave the way it used to. Audit the container tag by tag instead of assuming a lift and shift works.
Why browser pixels alone are no longer enough
This is the part that turns a checklist into real work, and it is the least covered.
Shopify states that Personal Identifiable Information (PII) isn't accessible through your additional scripts, checkout.liquid, or checkout_completed pixel events.
That has a direct consequence. Google Ads enhanced conversions rely on first-party customer data such as email, name, address, or phone, hashed with SHA256, and Meta's advanced matching works the same way. You cannot source that from the browser pixel anymore.
So the job splits in two. The browser layer restores your event count. The server layer, feeding Meta's Conversions API and Google's server-side or offline import from the Shopify order webhook, restores your match quality. Rebuilding only the first half gets your conversion numbers back while your match rates stay quietly degraded.
If you are going to move customer data server-side, handle it properly. I covered the failure modes in what happens when you ship fast and secure nothing.
How to avoid double counting during the switch
This mistake comes from following Shopify's own advice correctly. Shopify says to connect an app pixel before deactivating an additional script, and notes that this results in a short period of duplicate events where both are live on your Thank you page. The docs also offer the reverse order, deactivating first, which avoids duplicates at the cost of a tracking gap.
Either way, protect yourself downstream:
- Meta: send a matching
event_idandevent_namefrom browser and server. The hard constraint is that events are only deduplicated if received within 48 hours of the first event with a given event_id. Miss that window and the same purchase counts twice. - Google Ads: use the Shopify order ID as the transaction ID so duplicates collapse on their own.
- Always: record the exact start and end timestamps of your overlap window, keep it short, and never judge campaign performance on data from inside it.
How to prove the rebuild actually worked
Nearly every guide stops at "rebuild your pixels" and leaves you with no way to know whether it worked. Reconcile instead.
Pick a closed seven-day window starting at least 48 hours after your overlap ended. Count paid Shopify orders for that window from the admin. Count platform-reported conversions for the identical window. Compute the gap as a percentage.
Then read it:
- Near zero on one channel: usually over-attribution or leftover duplicates, not success.
- Persistent shortfall: events are not firing, or consent settings are suppressing them.
- Shortfall concentrated in one payment method such as Shop Pay or an accelerated checkout: that specific path is being missed.
Reconcile against Shopify order counts, never against what the ad platform reported last month, because last month's number came from the tracking you just replaced. Some gap is normal. The goal is a stable, explainable gap, not zero.
Do you need a developer for this?
Honestly, not always, and it is worth knowing where the line falls.
You can do this yourself: installing the official Google & YouTube and Meta channels, connecting app pixels, and adding a straightforward custom pixel from a vendor's supplied code.
You want help with: server-side Meta CAPI from order webhooks with correct deduplication, Google offline or server-side import with hashed customer data, rebuilding post-purchase or COD logic as a UI extension, auditing a non-trivial GTM container against the sandbox, and running the reconciliation properly.
If you are still weighing who should do it, I have written on whether you need to hire a developer at all in 2026 and on the real cost difference between a freelancer and an agency.
A useful rule: if your Additional scripts box holds anything beyond one vendor snippet, or your ad spend is large enough that two weeks of degraded signal costs more than the fix, get it audited before the auto-upgrade decides the timing for you.
While you are rebuilding measurement anyway, it is a good moment to make sure you are tracking AI-referred traffic and agent-driven orders as their own channel rather than losing them in "other."
Send me a screenshot of your Additional scripts box and your last 90 days of Shopify orders against platform-reported conversions, and I will tell you which events stopped firing, what the gap actually is, and what genuinely needs rebuilding versus what an official app handles for free. See my e-commerce work or book a call.