Additional Scripts to Custom Pixel Converter
Paste your old Order status page script and get a Shopify custom pixel that tracks checkout_completed.
Why your Additional Scripts stopped working
Shopify sunset Additional scripts and checkout.liquid on the Thank you and Order status pages. Plus stores lost them on August 28, 2025, when the section in checkout settings also became view-only. The upgrade deadline for all other plans was August 26, 2026. Upgraded pages don't run the old code, so any conversion tracking in it stops.
The replacement for tracking is a custom pixel under Settings → Customer events. It subscribes to the checkout_completed event, which fires once per checkout, usually on the Thank you page.
How the conversion works
Custom pixels run in a sandbox, so the tool rewrites your snippet to fit it:
- HTML goes. Script tags become JavaScript that loads the library, and image pixels become
fetch()calls. - Liquid goes. Each variable is mapped to the event data, such as
{{ checkout.total_price }}tocheckout.totalPrice.amount. - Cents become decimals. Liquid money was in cents; pixel amounts are already decimal, so
divided_by: 100is dropped. - `first_time_accessed` goes. The event doesn't fire again on reload.
- IDs and labels stay exactly as you had them. The tool never invents account IDs.
| Old Liquid | Custom pixel |
|---|---|
{{ checkout.order_id }} | checkout.order?.id |
{{ checkout.total_price }} | checkout.totalPrice?.amount |
{{ checkout.currency }} | checkout.currencyCode |
{{ checkout.tax_price }} | checkout.totalTax?.amount |
{{ line_item.sku }} | item.variant?.sku |
{{ order.name }} (#1001) | Not available: the order ID is used instead |
Installing and testing the pixel
- 01
Add the pixel
Go to Settings → Customer events, add a custom pixel, name it and click Add pixel.
- 02
Set privacy
Under Customer privacy, pick the permission that matches the tracking (marketing or analytics) and the data sale setting.
- 03
Paste and connect
Replace the sample code, click Save, then Connect pixel.
- 04
Test
Click Test to open the Shopify Pixel Helper and place a test order. A green dot on checkout_completed means the subscription ran without errors.
- Order numbers like #1001 aren't in the pixel data. If a platform matched on them, it will now see the order ID.
- Visible content such as surveys or review opt-ins can't run in a pixel. Use an app that adds a block to the Thank you page.
- Double counting: if an app such as Google & YouTube already sends purchases, don't add the same tag again.
Questions people ask
When did Shopify remove Additional Scripts?
Additional scripts on the Thank you and Order status pages were sunset for Plus stores on August 28, 2025. Other plans had until August 26, 2026 to upgrade those pages, after which the old scripts don't run.
Can a custom pixel read Liquid or the page's dataLayer?
No. Custom pixels run in a sandbox with JavaScript only. They get order data from the checkout_completed event and keep their own dataLayer, separate from the storefront's.
Why are my conversion values 100 times too small?
The old snippet probably divided cents by 100. Pixel amounts such as checkout.totalPrice.amount are already decimal, so remove the division.
Will checkout_completed fire for every order?
It fires once per checkout, on the Thank you page or the first upsell page. If that page fails to load it doesn't fire, so expect small gaps against your order count.
Is the converted code guaranteed to work?
No. It uses Shopify's documented event data, but always test with the Pixel Helper and a test order before relying on it.
Related tools
Last reviewed 30 September 2026.
Sources: Shopify.dev: checkout_completed event · Shopify.dev: Web Pixels API · Shopify.dev: checkout.liquid deprecation dates · Shopify.dev: Liquid checkout object · Shopify Help Center: Upgrading Thank you and Order status pages · Shopify Help Center: Managing custom pixels · Shopify Help Center: Testing custom pixels
