
If your checkout felt frozen lately, this is why. On August 28, 2025, Shopify retired checkout.liquid for Plus stores, along with the old Thank-you and Order-status customizations and script_tags in checkout. The flexible, edit-anything checkout is gone. What replaced it is more stable and a lot more fenced in.
That trade is not all bad. But it does change what CRO on the checkout looks like, and a lot of brands are still trying to do things the new checkout simply will not let them. Here is the honest map.
What you cannot do anymore
The old checkout let a developer touch almost anything with Liquid and custom scripts. The new one does not. Specifically:
Arbitrary HTML, CSS, and JavaScript are out. Checkout UI extensions run in a sandbox, not in the page, so you cannot inject custom code wherever you like.
Full layout rewrites are out. You work within Shopify’s checkout structure and the spots it exposes, not a blank canvas.
script_tags in checkout are gone. Anything that depended on a third-party script firing inside checkout needs a different home.
If an agency is promising a fully bespoke checkout on standard Plus, they are either talking about Shopify’s enterprise checkout customization or they are about to fight the platform and lose.
What you can still do
Plenty, as long as you work with the new model instead of against it:
Checkout UI extensions add content and fields at defined points: trust badges, delivery notes, custom fields, upsells, and reassurance copy where buyers hesitate.
Shopify Functions handle the logic: discounts, shipping rules, and payment customizations, faster and more reliably than the old Scripts.
The Branding API controls color, type, and styling so checkout matches the brand without custom CSS hacks.
The CRO playbook inside the limits
The constraint is a gift if you let it. Most checkout wins were never about custom code anyway. They are about removing doubt at the moment of payment. Inside the new checkout you can still:
Add the right reassurance at the right step. A clear returns line near the pay button, a security note by the card field, delivery expectations before the total.
Place a relevant upsell that lifts average order value without derailing the purchase.
Cut friction with Functions so discounts and shipping logic apply cleanly and nobody hits a surprise total.
The work is sharper now because there are fewer levers, so each one has to earn its place. That starts with knowing which step actually loses you orders, which is what our conversion infrastructure work maps before anyone touches the checkout.
The trap to avoid
The new checkout is fast partly because Shopify stopped letting random scripts run inside it. So be careful: bolting on three apps that each inject their own extension can quietly undo that speed and add the exact friction you removed. Every extension should earn its slot with measured lift, not just look useful in a demo.
If you are not sure what your checkout is costing you in the new model, we will tell you. A free audit walks your funnel from ad to confirmation and shows you the leaks worth fixing first.