What Is Shopify Checkout Extensibility?
Checkout extensibility is Shopify's app-and-extension model for customizing checkout, Thank you, and Order status pages, replacing the theme-based checkout.liquid template and Additional Scripts.
Instead of editing a Liquid template that rendered the checkout, merchants and apps add extensions — checkout UI extensions, Shopify Functions, and web pixel extensions — that Shopify hosts and keeps upgrade-safe. Tracking code that once ran inside checkout.liquid or Additional Scripts now belongs in Customer Events, which is the supported way to read checkout and post-purchase events.
- checkout customization
- checkout UI extensionsShopify Functionsweb pixel extensionspayments extensions
- Checkout and post-purchase tracking
- Customer Events
Daniil Maximkin Published Reviewed
- In practice
What replaced checkout.liquid and Additional Scripts?
Shopify retired checkout.liquid and Additional Scripts and moved checkout customization to extensions: checkout UI extensions, Shopify Functions, web pixel extensions, and payments extensions. Merchants and apps install extensions Shopify hosts and keeps upgrade-safe, and the same move retired script tags on the Thank you and Order status pages.
The change is structural. checkout.liquid rendered checkout as a theme surface, so merchant code placed there ran in the theme’s context. Extensions run in Shopify-controlled sandboxes and are installed and upgraded through apps or the checkout editor, not by editing theme code.
- In practice
Where does checkout tracking live now?
Checkout and post-purchase tracking runs through Customer Events. A web pixel subscribes to the standard events Shopify publishes, including checkout_started, the checkout information steps, and checkout_completed, and forwards them to analytics or ad platforms.
A theme script firing a purchase event can no longer read the checkout page: the supported source is the event stream Shopify exposes to pixels, configured in Customer Events.
- In practice
Why can't theme scripts see checkout and the thank-you page?
Checkout, Thank you, and Order status are rendered by Shopify as their own surfaces, and the theme’s code is not present there. A storefront script has no checkout DOM to read, and the dataLayer it writes to is not the page the customer is on when the order completes.
A pixel cannot scrape the page either: web pixels run without DOM access and custom pixels cannot reach the top frame, so the event payload is the source of order data.
- Not to be confused with
Not to be confused with Is not Is a script replacement with a one-for-one migration Shopify's app-and-extension model for customizing checkout, Thank you, and Order status pages Checkout extensibility is not a script replacement with a one-for-one migration. Adding a script tag to the theme does not inject code into checkout, and tracking that once lived in Additional Scripts has to be rebuilt as a pixel or moved to the server.
A custom pixel is also not Additional Scripts renamed: it runs in Shopify’s sandbox under Shopify’s consent rules and receives events rather than executing inside the checkout page.
- Where to check
How do I check what still needs upgrading?
In Shopify admin, review checkout customizations and the Customer events list, and use Shopify’s report mapping current customizations to the extension model, which shows what still relies on a retired mechanism.
Then confirm from the destination side: place a test order and check whether the purchase event arrives with the values you expect. Order reconciliation is the practical test that a migration preserved purchase tracking.