Elena Vasquez
June 29, 2026 · 10 min read
Why checkout.liquid had to die
The old checkout was a shared Liquid template — every customization lived in one file, upgrades broke silently, and Plus merchants carried technical debt into every sale.
Extensibility replaces that with sandboxed UI extensions and server-side Functions: upgrades stay safe, customizations stay isolated.
The three extension surfaces
Checkout UI extensions customize the checkout experience — custom fields, upsells, trust blocks — rendered by Shopify in a sandboxed frame. Post-purchase extensions own the thank-you journey. Functions run server-side logic: discounts, payments, delivery, and cart transforms.
The mental model: UI extensions own what shoppers see, Functions own what the cart does.
Migrating off checkout.liquid: the real steps
Inventory every customization in the current checkout, map each to its extension or Function equivalent, rebuild in a development store, then A/B before cutover.
Expect the cart-transform and discount logic to take longer than the UI work — that is where the real behavior lives.
Functions are the quiet superpower
A tiered wholesale discount, a minimum-order rule by region, or a bundle price that checkout scripts used to handle now live as versioned, testable code in your repo.
Functions run inside Shopify's limits, so behavior stays consistent and checkout latency stays flat.
What you lose, honestly
Deep pixel-level control over the checkout shell is gone — Shopify owns the frame, you own the blocks. For most brands the trade is a win: better performance, safer upgrades, mobile parity.
If your brand truly needs a 100% custom checkout shell, headless is the only remaining path — and it comes with its own bill.
Testing and monitoring after migration
Test with real payment providers in sandbox, measure abandonment before and after, and keep the old checkout one rollback away for the first two weeks.
Checkout changes are the highest-stakes deploys you will ever run. Treat them like it.
Frequently asked questions
Topics