Shopify Functions vs. Checkout UI Extensions

By Codehouse · Shopify Experts in Pakistan7 min read

With checkout.liquid retired, Shopify checkout customisation now runs on two pillars: Shopify Functions and Checkout UI Extensions. They're often mentioned together, but they solve completely different problems. Mixing them up is one of the most common sources of confused project briefs we see.

Functions change the logic

Shopify Functions are small pieces of backend code that run on Shopify's own infrastructure during cart and checkout. They don't draw anything on screen. Instead, they change what happens:

  • Discounts — tiered pricing, buy-X-get-Y rules, customer-tag discounts.
  • Delivery customisation — hide, rename or reorder shipping options.
  • Payment customisation — hide cash on delivery above a certain order value, for example.
  • Cart and checkout validation — block checkout when rules aren't met, such as minimum quantities.

Because they run inside Shopify, Functions are fast and reliable — they're the modern replacement for Shopify Scripts.

Checkout UI Extensions change what customers see

Checkout UI Extensions add interface elements to checkout using Shopify's own components. Think of an upsell block, a gift message field, a delivery-date picker or a trust banner. They render in fixed extension points, inherit your checkout branding and stay secure because they can't touch the payment form directly.

Which one do you need?

A simple test: if the request starts with "show", "ask the customer" or "add a field", it's a UI Extension. If it starts with "only allow", "give a discount when" or "hide the option if", it's a Function. Plenty of real features need both — a "free gift" offer, for instance, might use a UI Extension to show the gift and a discount Function to make it free.

Plan requirements

Availability depends on your Shopify plan and on how the app is distributed. Extensions on the information, shipping and payment steps of checkout are a Shopify Plus feature, while thank-you and order status page extensions are available more widely. Functions can be used on any plan through public apps, while custom apps that use Functions require Plus. Shopify updates these rules over time, so we confirm them against your plan before scoping.

How we approach it

We start by writing your checkout requirements as plain rules and screens, then map each one to a Function, an Extension or an existing setting. Sometimes the right answer is a built-in Shopify option you didn't know about — and that's the cheapest custom code of all.

Not sure where to start? That's normal. Reach out and we'll point you in the right direction — whether you end up working with us or not.

C
The Codehouse Team

Shopify developers and designers based in Karachi, Pakistan — building fast, high-converting stores and custom commerce systems for brands worldwide.

Comments 0

Loading comments…

Leave a comment

Ready to Scale?

Got an idea? Let's
make it live.

From a single storefront to a full commerce stack — tell us what you're building and we'll scope it for free, no obligation.