Fix guides

Pixels stopped firing on Shopify's thank-you page: how to move them

Shopify has turned off "additional scripts" and app script tags on the Thank you and Order status pages: for Plus stores on 28 August 2025, and for other plans on 26 August 2026. Purchase tags that lived there no longer run. Move them to the platforms' official Shopify apps or to a custom pixel in Settings, then Customer events, which subscribes to the checkout_completed event.

Check your own site: the free scan tells you in about a minute whether this problem is on your page.

What changed

Shopify's checkout and its Thank you and Order status pages now run on checkout extensibility. The old ways of adding code there, the Additional scripts box in checkout settings, checkout.liquid (Plus only) and apps' script tags, are switched off. Shopify's timeline for script tags on the Order status page:

  • 1 February 2025: apps can no longer create new script tags for the order status page.
  • 28 August 2025: they stop running for Plus stores.
  • 26 August 2026: they stop running for all other plans.

The replacement for analytics and conversion tracking is web pixels: either an app's pixel or a custom pixel you add under Settings, then Customer events.

How to tell if it hit you

  • Purchases in Google Ads, Meta, TikTok or your affiliate network dropped sharply on one day, while orders did not.
  • On your thank-you page, the Network tab shows no purchase request for a platform you used to track there.
  • The Additional scripts box in Settings, then Checkout, is read-only or gone, but still contains old code.

Copy whatever is in Additional scripts before it disappears: it is your list of what needs a new home.

Option 1: use the platform's Shopify app

Google & YouTube, Facebook & Instagram, TikTok, Pinterest and Snapchat all have Shopify apps that send purchases through web pixels and, for most, from the server as well. This is the least work and usually the most complete. Remove any manual tracking for the same platform afterwards, or every order counts twice.

Option 2: a custom pixel

For platforms without an app (affiliate networks, smaller ad platforms, your own tags), add a custom pixel in Settings, then Customer events, then Add custom pixel. It subscribes to Shopify's standard events instead of reading the page:

analytics.subscribe('checkout_completed', (event) => {
  const checkout = event.data.checkout;
  const orderId = checkout.order?.id;
  const value = checkout.totalPrice?.amount;
  const currency = checkout.totalPrice?.currencyCode;
  // send the purchase to your platform here
});

Things that work differently from the old scripts:

  • Custom pixels run in a sandbox. They cannot read or change the page's HTML, so code that scraped the order total from the page has to use the event data instead.
  • checkout_completed fires once per checkout, usually on the Thank you page. With a post-purchase upsell it fires on the first upsell page instead.
  • Each pixel has privacy settings in Customer events. Pixels follow the store's customer privacy settings, so a consent banner that does not use Shopify's Customer Privacy API may keep them from firing.
  • Google Tag Manager can run inside a custom pixel, but in the sandbox: tags that depend on the page's DOM or on cookies set by the storefront behave differently.

Avoid double counting

Shopify's own advice: the same event can be tracked by the theme, an app, a custom pixel and leftover additional scripts. Check the thank-you page for more than one request to the same platform during one page load. Decide the order of the switch: add the new pixel first and you may count twice for a moment; remove the old code first and you may miss a few orders. Doing it in a quiet hour keeps either small.

After the switch

  1. Place a test order and, on the thank-you page, filter the Network tab for each platform: one purchase request each, with value, currency and the order ID.
  2. Check each platform's own test tool (Meta Test events, TikTok Test events, Tag Assistant) for the purchase.
  3. Compare the next few days' purchase counts per platform with Shopify's order count.

Sources

Based on the platforms' public documentation; menus and names change, so check the linked pages if a step looks different.