Shopify Checkout Customization: The Real Limits
Shopify checkout customization is capped by two things: your plan, and the fact that checkout is Shopify’s page rather than yours. Every plan can restyle it — logo, colours, typography, even one-page versus three-page layout. What Shopify Plus buys is not prettier branding. It is permission to change how checkout behaves: which fields appear at the payment step, which delivery options a customer is offered, whether an order is allowed to proceed at all.
There is also a date attached. If anything on your thank-you or order-status page still depends on a script tag, and you are not on Plus, it stops running on 26 August 2026. That is the last piece of the old checkout.liquid era being switched off. Below: what each plan can genuinely change, which tool does which job, what the sunset breaks, and where the money in checkout work actually sits.
What Shopify checkout customization actually means now
The hosted checkout is the one page in your store you do not own. Shopify serves it, Shopify holds the PCI scope for it, and Shopify decides what is editable. That is a genuine benefit — card data never touches your theme, and you are not the one patching it — but it means “customization” here does not mean editing templates. It means using one of four sanctioned surfaces:
- The checkout editor — the visual settings every merchant has.
- Checkout UI extensions — app-delivered blocks and content placed at defined points.
- Shopify Functions — server-side logic that changes discounts, payment, delivery and validation.
- The checkout branding API — programmatic control of the design system.
Almost every “can I do X at checkout?” question resolves to which of those four X belongs to, and whether your plan unlocks it.
What every plan can change
More than most merchants realise. The checkout editor is not a token gesture, and a standard-plan store that has actually used it does not look unbranded:
| Setting | What you control |
|---|---|
| Logo | Which logo, its width, and its alignment in the header |
| Colours | Header background and accent, main content area, form fields, buttons, accents, order summary background |
| Typography | Heading and body fonts, chosen from the available set |
| Layout | One-page checkout or the three-page flow |
| Behaviour toggles | The Buy again button; showing the discount-code field by default on mobile |
| App blocks | Approved checkout blocks from apps you have installed |
That last row is the one people miss. App blocks let a standard-plan store put real functionality into checkout — trust badges, delivery-date pickers, gift messaging, post-purchase offers — without Plus and without writing anything. The constraint: it must come from an app, and it can only land where Shopify allows blocks.
What Shopify Plus adds
Shopify Plus changes the answer in three specific places, and it is worth being precise about them because “Plus lets you customise checkout” is repeated far more often than it is explained.
Styling becomes programmatic. The checkout branding API exposes a design-system object — colours, typography, spacing — plus per-component customizations, and it applies across checkout, the checkout queue, checkout UI extensions and customer account pages. This is how a brand gets checkout to match its storefront exactly rather than approximately. It is Plus-only.
Extensions reach the earlier steps. On any plan, checkout UI extensions can appear on the cart-review and thank-you surfaces. The information, shipping and payment steps are Plus-only territory. If what you want is a field, a message or a validation notice at the point where the customer enters an address or picks a payment method, that requirement alone decides your plan.
Custom apps can carry Functions. This is the nuance that catches people out, so read it slowly: a public app from the App Store that contains Shopify Functions works on any plan. A custom app containing Functions requires Plus. So the logic itself is not gated — bespoke logic written for you is.

The practical test: if your requirement is visual, you probably do not need Plus. If it is conditional — hide this payment method for that customer group, block orders that fail a rule, rename a delivery option — you are looking at Functions, and quite possibly at Plus. Run that test before anyone quotes you for an upgrade, and before you look at what Shopify Plus costs.
The 26 August 2026 script-tag sunset
checkout.liquid has been going away in stages, and the final stage lands now. Script tags — the old way of injecting third-party JavaScript into checkout — already stopped running on the Thank you and Order status pages for Plus stores on 28 August 2025. The same switch flips for non-Plus stores on 26 August 2026. At the time of writing that is one day away, which makes this a this-week problem rather than a roadmap item.

What breaks, in practice
Anything injected rather than installed: conversion and analytics tags dropped onto the order-status page years ago, referral or loyalty widgets, review-request prompts, survey scripts. None of them announce themselves when they stop firing — the page still loads, the order still completes, and the data quietly stops arriving. That is the dangerous part. A broken script tag looks like a slow week, not an outage.
What to check
- Place a test order and open the thank-you page with your browser’s network panel open. Anything third-party still loading there is worth accounting for.
- Reconcile your analytics. If post-purchase conversion events are being counted by an injected tag rather than by a supported integration, that is the first thing to move.
- Ask each vendor directly whether their post-purchase functionality now ships as a checkout UI extension. Most of the serious ones migrated well before the Plus deadline; the ones that did not are telling you something.
- Replace, do not patch. The supported route is an app with a thank-you-page extension, or a post-purchase extension. There is no equivalent hack that survives.
Shopify Functions: the layer that changes behaviour
If checkout customization has a centre of gravity, this is it. Functions run on Shopify’s infrastructure and let you alter the decisions checkout makes, rather than how they look. The available APIs cover discounts, cart transforms, payment customization, delivery customization, cart and checkout validation, order routing, fulfilment constraints, and local and pickup-point delivery option generators.
The things merchants most often want turn out to map onto them cleanly. Hiding cash on delivery above a certain basket value, or for addresses outside a serviceable zone, is payment customization. Renaming or reordering shipping options so the sensible one is not third in a list is delivery customization. Blocking checkout when a B2B customer has not met a minimum order quantity is validation. Bundling logic is a cart transform.
Two things to hold onto. Functions are not a theme edit — they are code, versioned and deployed, which is exactly why they are reliable and also why they belong in custom Shopify development rather than in a settings screen. And the public-versus-custom-app distinction above means the cheapest path to a common requirement is often an existing app that already contains the Function you need, not a bespoke one.
Where checkout work actually earns money
It is worth separating the customization that looks impressive from the customization that changes outcomes. Three areas repay attention before anything else.
Payment methods, not payment styling. The single largest checkout lever in most markets is whether the method a customer expects is present at all. That is a settings-and-integration question rather than a design one, and it is acutely true outside the US and Europe — which is why we treat the available Shopify payment methods in Egypt and Saudi Arabia as a checkout decision rather than a finance one. Adding a locally trusted wallet or instalment option changes conversion in a way that a matched button radius does not.
Fewer decisions, not more content. Every block you add sits between the customer and the pay button. Checkout UI extensions make reassurance easy to add; they make friction just as easy. The bar for anything before the payment step is that it removes a reason to hesitate, not that it fills a space.
The thank-you page is underused. It is the one surface where an offer costs you nothing in conversion, because the order is already placed — which is precisely why post-purchase extensions exist and why the best Shopify upsell apps concentrate there. If checkout is where you stop losing orders, the thank-you page is where you add margin to the ones you won. The orders that never reached checkout are a separate problem — and recovering abandoned carts usually pays back faster than any customization on this list.
Frequently asked questions
Can I edit checkout.liquid on Shopify?
No. checkout.liquid is unsupported for the Information, Shipping and Payment steps, and the Thank you and Order status pages have followed — 28 August 2025 for Plus stores, 26 August 2026 for everyone else. The replacement is checkout extensibility: the checkout editor, checkout UI extensions, Shopify Functions and the branding API.
Do I need Shopify Plus to customise my checkout?
Not for branding. Logo, colours, typography, page layout and approved app blocks are available on every plan. You need Plus for the checkout branding API, for UI extensions on the information, shipping and payment steps, and for custom apps containing Shopify Functions.
Can I add a custom field to Shopify checkout?
Through a checkout UI extension, yes — but where it can appear depends on your plan. On a standard plan you are limited to the cart-review and thank-you surfaces. Placing a field within the information, shipping or payment steps requires Plus.
Will removing my old script tags affect my analytics?
It can, and this is the most common way stores are caught out. If purchase or conversion events were being fired by an injected script on the order-status page, those events stop when the script stops. Move that tracking to a supported integration and verify it with a test order before the old path goes dark, not after.
The takeaway
Shopify checkout customization is narrower than merchants expect and deeper than they assume. Narrower, because the page belongs to Shopify and those four surfaces are the whole map. Deeper, because Functions change what checkout decides, not merely how it looks — and most requirements people call impossible sit behind a plan gate they have never priced.
Classify what you want: visual, contextual, or conditional. Visual is available today. Conditional probably means Functions, and possibly Plus. Before any of it, confirm nothing on your thank-you page still rides on a script tag — that deadline does not care which category your project is in. If you would rather someone else mapped it, a free Shopify store audit flags the checkout-side issues alongside the speed and conversion ones.