Back to Blog
Shopify28 February 20263 min read · 672 words

Shopify Checkout Extensions: What You Can Do Now

N7

No7 Engineering Team

Growth Architecture Unit

Shopify — Shopify Checkout Extensions: What You Can Do Now — illustration

The checkout.liquid era is over — Checkout Extensibility is no longer the migration you are planning, it is the platform you are on. If you still have straggler customisations from the old approach, or you migrated minimally and left capability on the table, the current extension surface is better than the one most teams rushed onto. Here is what it can actually do in 2026.

What Changed

The old way: edit checkout.liquid directly, hope Shopify doesn't break your customisations with an update. The new way: build extensions using a defined API that Shopify maintains and upgrades.

It's more structured, which means less flexibility in some ways but more stability and better performance overall.

What You Can Actually Build

UI Extensions

Add custom elements to the checkout at predefined points—product information, shipping options, payment selection, order summary, and thank you page.

We've built things like:

  • Delivery date pickers that sync with warehouse schedules
  • Gift message fields with character limits and formatting
  • Loyalty point displays and redemption interfaces
  • Trust badges and security reassurances at the payment step
  • Upsell and cross-sell widgets based on cart contents

Shopify Functions

This is where it gets interesting. Functions let you run custom logic that affects how the checkout behaves:

Function Types:

  • Discount Functions: Custom discount logic beyond what Shopify's built-in discounts can handle.
  • Delivery Customisation: Hide, rename, or reorder shipping options based on cart contents or customer data.
  • Payment Customisation: Show or hide payment methods based on order value, customer type, or location.
  • Cart Transform: Automatically add, remove, or modify cart items (great for bundles and gifts-with-purchase).

What You Can't Do

There are limitations. You can't completely redesign the checkout layout. You can't inject arbitrary JavaScript. The styling options are more constrained than they were with checkout.liquid.

For most stores, this isn't a problem. For brands with very specific checkout requirements, it might mean compromising on some features or getting creative with the available options.

Getting Started

If you're on Shopify Plus and still carrying legacy checkout customisations, the core functionality is stable and the checkout UI extensions documentation is solid. One Spring 2026 addition worth knowing: the Shopify AI Toolkit can now migrate checkout and customer-account extensions to Polaris web components with your own coding agent — it does not remove the audit work below, but it compresses the mechanical rewrite considerably.

Migration Pitfalls We See on Every Project

Most of the work in migrating off checkout.liquid is not coding — it is auditing what was there. Customisations tend to accumulate silently over years, and nobody remembers why half of them exist. Before touching code we do a full inventory:

  • Every script tag injected via Additional Scripts.
  • Every pixel and tag manager rule firing on the checkout pages.
  • Every third-party app that previously wrote to the old checkout.
  • Every A/B test variant still in rotation.

The inventory almost always reveals customisations that are either redundant or unused. Ship those removals first so the extension build isn't compensating for dead weight.

Testing Strategy That Catches Real Issues

Extensions have a slower feedback loop than the old inline approach. The test matrix we run before shipping:

Pre-Ship Checklist

  • Guest + logged-in flows — different code paths, different bugs.
  • Cart transforms + discount stacking — the interaction between Functions is where unexpected behaviour lives.
  • Multiple shipping addresses, multi-currency — especially for Markets-enabled stores.
  • Subscription add-ons — extensions interact differently with Shopify-native vs app-based subscriptions.
  • Payment method filters — test with every gateway you have enabled, not just the common ones.
  • Mobile at 3G throttling — extensions run remotely and can add perceptible latency on poor connections.

When Custom Infrastructure Is Still Required

Checkout Extensibility covers the majority of customisation needs we encounter, but there are genuine cases where it is not enough. Unusual pricing logic driven by external pricing engines, bespoke gift card systems with non-Shopify balance sources, or B2B quote-to-order workflows typically still need a custom app layered on top of extensions rather than extensions alone. We cover that cost envelope in our custom Shopify app cost breakdown.

Frequently Asked Questions

The questions buyers and engineers ask us most about this topic.

Is checkout.liquid still usable on Shopify Plus?

It is being retired. Shopify's deprecation timeline has moved checkout.liquid into legacy support, and the modern path is Checkout Extensibility — UI extensions plus Function-based delivery, payment, and validation customisations. Existing checkout.liquid customisations should be migrated; the longer you wait, the more painful the migration becomes as your customisation drift compounds.

What can I build with Checkout Extensions in 2026?

UI extensions add custom blocks at predefined points (product info, shipping options, payment selection, order summary, thank you page). Function extensions customise delivery, payment, and discount logic. Common builds we ship include delivery-date pickers synced with warehouse capacity, B2B-specific shipping rules, custom upsells, gift-message capture, and tax-recalculation logic for international orders. Custom apps containing Functions are Plus-only.

Why are extensions more constrained than checkout.liquid?

Because constraints are the point. checkout.liquid was unbounded — you could break checkout in ways that lost revenue silently. Extensions run in a sandboxed environment with a defined component set so Shopify can guarantee performance, accessibility, and upgrade safety. The trade-off is less freeform customisation; the upside is a checkout that does not regress when Shopify ships an update.