How checkout customization works today
For years, Plus stores customized the checkout by editing a code file called checkout.liquid. That system has been retired. Today the checkout is adapted with Checkout Extensibility: a set of tools made up of the checkout editor, UI extensions added by apps, the branding API and Shopify Functions for logic.
The change has a clear advantage: customizations no longer break when Shopify improves the checkout. Extensions sit in specific places and Shopify maintains the rest. In return, you cannot rewrite the whole checkout or change its structure, only add and adjust within what the platform allows.
What you can do on any plan
From the checkout editor, under Settings > Checkout > Customize, any store can adjust the logo, colors, fonts, background image and some basic design elements. That is enough for the checkout to look consistent with the store.
According to Shopify's documentation, compatible apps can add blocks to the thank-you and order status pages on every plan. That is where post-purchase surveys, product recommendations, tracking information or other post-purchase content fit. You can also configure form fields (company, second address line, phone) and express payment options.
- Checkout logo, colors, fonts and background
- Optional or required form fields
- App blocks on the thank-you and order status pages
- Express payments such as Shop Pay, Apple Pay or Google Pay
What is exclusive to Shopify Plus
Extensions on the information, shipping and payment pages are only available on Shopify Plus, as is the branding API, which gives much finer control over design (spacing, borders, styles for each component). Shopify's pricing page sums it up: limited checkout customization on Basic, Grow and Advanced, and full customization on Plus.
With Plus you can, for example, add a field for a B2B customer's internal purchase order number, a cross-sell block before payment, a delivery time notice based on the address or a delivery date picker. All of this is done with public app extensions or with a custom app built for your store.
Extensions are placed from the checkout editor, just like sections in the theme editor: you choose the app, the block and the position. That lets your marketing team turn a block on or off without requesting a deployment, and the checkout keeps working even if an app is uninstalled.
Shopify Functions: the checkout logic
UI extensions change what is shown. Shopify Functions change how the checkout behaves. They are small functions that run on Shopify's infrastructure and let you create new discount types, hide or rename shipping methods, hide or reorder payment methods, validate the cart before payment or decide which location fulfills an order.
Availability depends on how they reach your store. Public App Store apps that use Functions work on any plan. Custom apps with Functions can only be used on Shopify Plus, and some specific capabilities require Plus even in public apps. If you need logic that is very specific to your business, that detail decides the plan.
- Custom discounts: by volume, by combination, by customer
- Hide cash on delivery above a certain amount
- Rename or reorder shipping methods
- Block payment if the cart does not meet a rule
Real cases and how to solve them
Hiding cash on delivery for large orders or certain regions is one of the most common requests. It is solved with a payment customization function, usually through a public app if you are not on Plus. The same goes for hiding express shipping for bulky products.
Asking the customer for extra information (a tax ID for an invoice, a gift message, a date) depends on where you want it. On the payment page it requires Plus. If it can come earlier, in the cart, it is handled in the theme with cart attributes and works on any plan. The cart is often the better place, because it adds no friction to payment.
Another common case in B2B stores is requiring a minimum order or blocking certain products for unapproved customers. It is solved with a cart validation function, which shows a clear message and does not let the customer proceed to payment until the rule is met.
What is better left alone
Shopify's checkout is optimized with data from millions of purchases. Every block you add is one more thing the customer has to read before paying. Before adding an extension, ask whether it gives the customer something at that moment or only meets an internal need that could be handled after the purchase.
Always measure. Compare checkout completion rate before and after each change in Shopify's reports, and remove whatever does not work. What tends to work best is little: trust (clear delivery times and returns), express payments turned on and no field that is not essential.
Frequently asked questions
Can I edit the Shopify checkout code?
Not directly. The checkout is customized with Checkout Extensibility: checkout editor, app extensions, branding API and Shopify Functions. The old checkout.liquid is no longer used.
Can I add fields to the checkout without Shopify Plus?
Not on the information, shipping and payment pages. You can collect data in the cart with cart attributes, which work on any plan, and add blocks to the thank-you page through compatible apps.
What are Shopify Functions?
Functions that change checkout logic: discounts, shipping and payment methods, cart validation and order routing. Through public apps they are available on every plan; in custom apps, only on Plus.
Can I hide cash on delivery based on order amount?
Yes, with a payment customization function. Without Plus, you do it through a public App Store app that offers that rule.
