Extensions & Functions
Checkout UI extensions and Shopify Functions — the supported way to customise checkout.
- Functions compiled to WASM
- RustFunctions compiled to WASM
- Execution budget per Function
- < 5msExecution budget per Function
- Extension coverage
- Plus & non-PlusExtension coverage
Checkouts we've extended
Checkout.liquid is gone. We build the same customisations with extensions and Functions, so they survive upgrades and stay eligible for Shopify's checkout guarantees.
- Checkout UI extensions for Plus and non-Plus stores
- Discount Functions — tiered, bundled and conditional logic
- Delivery and payment customisation Functions
- Cart and checkout validation Functions
- Admin, POS and customer account UI extensions
- Theme app extensions for merchant-installable blocks
Built with
Customisation that survives the next upgrade
- 01
Map the rule
What the discount, shipping or validation logic actually needs to do, including the edge cases finance will find later.
- 02
Pick the surface
A Function for logic Shopify runs, a UI extension for what the shopper sees, a theme app extension for anything on the storefront. Often all three.
- 03
Build & test
Rust compiled to WASM against the execution budget, with test cases for every branch — Functions fail closed, so an untested branch is a broken checkout.
- 04
Roll out
Staged behind a development store, then released. Because it is all supported API surface, platform upgrades do not undo it.
We needed a checkout UI extension and a shipping Function in six weeks. They scoped it, built it, and it passed review first time. Our previous agency had told us it was not possible without Plus.
Marcus Ferreira — Ecommerce Director
Extensions & Functions, answered
They need rebuilding as checkout UI extensions and Functions. In practice that is a good outcome — the replacements are versioned, reviewable and survive upgrades, which checkout.liquid never did.
Functions and most extension surfaces work on any plan. Full checkout UI customisation and some branding controls are Plus-only. We flag which half of your list falls where during discovery, not after you have signed.
Functions run inside a strict execution budget on Shopify's infrastructure. Rust compiled to WASM stays inside it comfortably; the JavaScript path is workable but leaves far less headroom as logic grows.
Unit tests against the Function's input and output schemas, then end-to-end runs on a development store. Every branch gets a case, because a Function that errors blocks the cart rather than falling back.
Tell us what you're building
You'll hear back from an engineer, not an account manager, within one business day. Scope, timeline and price come in writing before anything starts.