Talk Shop
Home
Learn More
About Us
Follow Us
Blog
Tools
Newsletter
Join Discord
Join

Community

  • Developers
  • Growth
  • Entrepreneurs
  • Support
  • Experts
  • Tools

Location

123 Mars, Crater City, Red Planet

(WiFi may be spotty)

Hours

Who has time for breaks? We're here 24/7!

Contact

hello@letstalkshop.com

Talk Shop
Talk Shop

Built for real builders. Not affiliated with Shopify Inc.

Home
Privacy
Terms
  1. Home
  2. >Blog
  3. >Payments & Checkout
  4. >Shopify Checkout Extensibility Explained (2026)
Payments & Checkout16 min read

Shopify Checkout Extensibility Explained (2026)

Checkout.liquid is deprecated. Here is what checkout extensibility actually is, what it costs, and how merchants and devs should migrate in 2026.

Talk Shop

Talk Shop

Apr 22, 2026

Shopify Checkout Extensibility Explained (2026)

In this article

  • The End of Checkout.liquid Was Not a Suggestion
  • What Shopify Checkout Extensibility Actually Is
  • Checkout UI Extensions: What You Can and Cannot Do
  • Shopify Functions and the Branding API
  • Plan Requirements: What You Actually Need Shopify Plus For
  • Common Use Cases Merchants Actually Build
  • The Migration Checklist: How to Move Off Checkout.liquid
  • Breaking Changes to Watch in 2026
  • Build Your Own vs. Use an App: The Decision
  • Common Mistakes That Kill Extensibility Projects
  • Frequently Asked Questions
  • Extensibility Is the Platform Now

The End of Checkout.liquid Was Not a Suggestion

On August 28, 2025, Shopify pulled the plug on checkout.liquid for good. Any store still running custom Liquid code on the information, shipping, and payment pages was hard-migrated to the new extensibility model, and the old template stopped working overnight. If you woke up to a checkout missing your trust badges or custom delivery picker, you already know why Shopify checkout extensibility is not an academic topic.

The shift was coming for years. Shopify announced the sunset in 2023 and only extended it for Thank You and Order Status pages. The core checkout was never getting a reprieve: checkout.liquid was a security and performance liability that let any developer inject arbitrary code into the highest-converting page on the internet. The new model is sandboxed, upgrade-safe, and designed for the way merchants customize checkout in 2026.

This guide explains what extensibility is, which parts require Shopify Plus, what you can and cannot do, and how to decide between building a custom extension or installing an app. If you want the broader picture first, our payments and checkout resources cover the rest of the stack.

Why Checkout.liquid Had to Go

Checkout.liquid was the single template file that rendered Shopify's multi-page checkout. Merchants and their developers could edit it directly, which was powerful and dangerous in equal measure. One stray script could slow the page to a crawl, leak customer data, or silently break on Shopify's next platform update.

Three structural problems forced the deprecation:

  • Security surface area. Injected JavaScript ran in the same context as Shopify's own checkout code, making the page a target for skimmers and magecart-style attacks. Shopify's PCI compliance burden grew with every custom store.
  • Upgrade fragility. Every time Shopify shipped a checkout improvement — Shop Pay, one-page checkout, accelerated payments — custom Liquid code broke in creative ways. Merchants lost conversions for weeks chasing the fix.
  • Mobile performance. Liquid edits ran server-side on every page load. Slow checkout pages cost real money, and according to Shopify's Shop Pay data, one-click checkouts convert up to 50% better than guest flows that have to wait on render.

Extensibility replaces the "edit the template directly" model with a sandboxed, component-based system. Your code runs in isolation, cannot block checkout rendering, and survives platform upgrades because you are building against a stable API contract instead of a file.

The Migration Timeline at a Glance

DateWhat Happened
June 2023Shopify announces checkout.liquid deprecation for Information, Shipping, and Payment pages
August 28, 2024Deprecation deadline for Information, Shipping, Payment pages (non-Plus stores)
August 28, 2025Final deadline — Thank You and Order Status pages deprecated; checkout.liquid fully retired
2026 and beyondAll customization must use UI extensions, Shopify Functions, or the Branding API

If your store is on the modern checkout already, good. If you inherited a build that still references checkout.liquid, stop reading this article and go check your Shopify admin right now — you may be running a broken checkout without knowing it.

What Shopify Checkout Extensibility Actually Is

A tablet showing a modern checkout screen next to a payment terminal.

"Extensibility" is Shopify's umbrella term for four distinct systems that together replace the old Liquid template. Understanding them separately is the fastest way to get unstuck.

The Four Pillars of Extensibility

  1. Checkout UI Extensions — small React-based components that add fields, banners, content blocks, product offers, or trust signals to specific regions of checkout. These are the most common customization most merchants need.
  2. Shopify Functions — server-side logic that runs inside Shopify's infrastructure to modify discounts, shipping rates, payment methods, or cart validation. Written in Rust, JavaScript, or TypeScript, compiled to WebAssembly, and executed in milliseconds.
  3. The Checkout Branding API — a GraphQL-based styling system that controls colors, typography, corner radius, spacing, and component schemes far beyond what the drag-and-drop editor exposes.
  4. Post-Purchase Extensions — a separate extension point for the page shown after the order is placed but before the thank-you page, used for one-click upsells and surveys.

The key mental shift: you are no longer editing the checkout. You are composing it from approved building blocks. Shopify owns the chrome, the form logic, the payment flows, and the security model. You own the content you slot into defined regions.

For a plain-English walkthrough of what a UI extension looks like in practice, Shopify.dev's checkout UI extensions documentation has the canonical reference and code samples for every target.

Checkout UI Extensions: What You Can and Cannot Do

UI extensions are what most people mean when they say "custom checkout." They are small React components (built with Shopify's @shopify/ui-extensions-react library) that mount into predefined "targets" on the checkout page.

Common Extension Targets

  • purchase.checkout.block.render — a generic block you can position anywhere merchants allow via the editor
  • purchase.checkout.delivery-address.render-before — add content above the shipping address form
  • purchase.checkout.payment-method-list.render-before — inject above the payment options
  • purchase.checkout.reductions.render-after — add fields below the discount code input
  • purchase.thank-you.block.render — content on the thank-you page
  • customer-account.order-status.block.render — extend the order status page merchants and customers see post-purchase

What You Can Build

  • Trust badges and security signals near the payment method selector
  • Custom fields like gift notes, delivery instructions, VAT numbers, or B2B PO numbers
  • Product upsells and cross-sells rendered inline as the shopper checks out
  • Loyalty widgets that show reward balances or let customers redeem points
  • Conditional content based on cart contents, customer tags, or shipping address
  • Delivery date pickers and scheduled-delivery UI

What You Cannot Do

  • Override or replace Shopify's own checkout logic
  • Modify the payment form, billing address form, or order summary calculations
  • Run arbitrary scripts outside the sandbox (no third-party analytics injection at checkout — use web pixels instead)
  • Access raw payment details, full card numbers, or CVVs
  • Make synchronous network calls that block the shopper's progress

The sandbox is strict, and that strictness is the point. Your extension cannot slow down checkout or leak data because Shopify controls the execution environment. Shopify's checkout extensibility overview lays out the full target map if you are planning what to build.

Shopify Functions and the Branding API

Isometric view of interconnected checkout modules with subtle green accents.

The other two pillars run alongside UI extensions. Functions handle server-side logic; the Branding API handles design-system styling.

Shopify Functions: The Server-Side Half

If UI extensions are the face of extensibility, Functions are the brain — the replacement for Shopify Scripts (the old Ruby-based system for discount and shipping logic that was also deprecated).

What Functions Replace

Old SystemNew System
Ruby Scripts for discountscart.lines.discountsAllocate function
Ruby Scripts for shippingcart.delivery-options.rank and cart.delivery-options.transform
Ruby Scripts for paymentscart.payment-methods.rank and cart.payment-methods.hide
Cart validation (new)cart.validations.generate

Functions are written in Rust, JavaScript, or TypeScript, compiled to WebAssembly, and uploaded as part of a Shopify app. They execute on Shopify's infrastructure in milliseconds, meaning they can run on every cart update without hurting performance.

Typical Function Use Cases

  • Tiered discounts like "buy 3 get the cheapest free" or "10% off when cart exceeds $200"
  • VIP-only shipping rates surfaced for customers tagged with a loyalty tier
  • Payment method gating — hide COD for international orders, hide express checkout for B2B
  • Cart validation — block checkout if a regulated product ships to a restricted region

Functions are available on every Shopify plan, including Basic — this is important because merchants often assume all extensibility requires Plus. Custom discount and shipping logic via Functions does not. Per GemPages' guide to Shopify Functions, the only plan restriction is the number of Functions you can install (1 on Basic, unlimited on Plus).

The Branding API: Design System Control

The third pillar is the Checkout Branding API, a GraphQL mutation set that exposes deep styling controls not available in the drag-and-drop checkout editor.

What the Editor Gives You (All Plans)

  • Logo, colors, fonts from Shopify's library, background image, basic layout

What the Branding API Adds (Plus Only)

  • Corner radius control on every component type (small, base, large radii)
  • Custom typography scales and letter spacing
  • Color schemes (primary and secondary) that apply consistently across buttons, fields, and headings
  • Global spacing and density control
  • Header alignment, position, and logo sizing beyond the editor presets
  • Divider styles, shadow depth, border weights

If your brand guidelines specify exact corner radii, a specific button hover state, or custom spacing between form fields, the Branding API is how you ship them. It is mutation-based, meaning you update the design system once via a GraphQL call and the checkout re-renders with the new tokens. Ecorn.agency's rundown of the Checkout Branding API walks through the mutations with real code.

Plan Requirements: What You Actually Need Shopify Plus For

This is the part that trips up every merchant. Extensibility is not binary — some parts work on every plan, and some require Shopify Plus.

What Works on Every Plan (Basic, Shopify, Advanced)

  • The checkout editor (drag-and-drop section management, basic branding)
  • UI extensions distributed through apps — you can install any app from the App Store that uses checkout extensions
  • Shopify Functions (with a 1-Function limit on Basic)
  • Checkout & Accounts editor for the thank-you and order status pages

What Requires Shopify Plus

  • Building your own custom UI extensions and deploying them to your own store without publishing to the App Store
  • The Checkout Branding API for advanced design-system control
  • Checkout.liquid parity features like custom CSS injection at the checkout layer
  • B2B checkout customization using company-location-aware extensions
  • Headless checkout via the Storefront API with full extensibility

The practical implication: if you are on Basic or Shopify plan and you need a custom checkout field, your options are (1) install an app that provides it, or (2) upgrade to Plus to build it yourself. Shopify's pricing documentation lists current Plus pricing — it starts around $2,500/month, so the cost-benefit only works for stores doing significant volume. This is why most small and mid-market merchants live in the app ecosystem: the right app is almost always cheaper than the Plus upgrade plus developer time plus ongoing maintenance.

Common Use Cases Merchants Actually Build

A sleek point-of-sale terminal showing a clean checkout confirmation.

Theoretical architecture is one thing. Here is what real stores deploy once they move to extensibility.

Trust Badges and Delivery Options

Trust badges — SSL icons, payment processor logos, a money-back-guarantee seal — render right above the payment method selector and typically lift conversion 1-3% on stores with no prior trust signals. Delivery customizations (date pickers, gift-wrap upsells, "leave at door" checkboxes that write to the order note) were the most common checkout.liquid use cases and now live cleanly as UI extensions.

Loyalty, Rewards, and Post-Purchase Upsells

Programs like Yotpo, LoyaltyLion, and Smile.io expose loyalty balance and redemption UI at checkout via their own extensions. Separately, post-purchase extensions show a one-click upsell on the page between payment and the thank-you page — apps like ReConvert and AfterSell specialize in this and work on every plan.

B2B Fields and Conditional Content

PO numbers, VAT IDs, resale certificates, and customer-specific discount codes matter enormously for B2B and wholesale checkouts and previously required custom Liquid. Conditional content — banners shown only to first-time customers, payment methods hidden by region, a free-shipping progress bar when cart subtotal crosses a threshold — all composes from the same extension primitives.

If you want the conversion-optimization lens on these use cases, our guide to Shopify checkout optimization tips for higher conversions digs into the measurement side. For the broader customization picture across plans, see our complete guide to customizing Shopify checkout.

The Migration Checklist: How to Move Off Checkout.liquid

Two phones side-by-side showing old and new checkout UI layouts.

If you still have legacy checkout.liquid code — or you are cleaning up a store that was force-migrated and lost functionality — work through these steps in order.

StepActionOwner
1Audit current customizations — list every block of custom Liquid, script, or app that touches checkoutMerchant + dev
2Map each customization to an extensibility primitive (UI extension, Function, Branding API, or app replacement)Developer
3Check which customizations are now provided by apps you already use — often they areMerchant
4For custom fields, choose: build your own extension (Plus) or install a field app (any plan)Merchant
5For discount/shipping logic, port Ruby Scripts to Shopify FunctionsDeveloper
6For design system changes, implement the Branding API mutations via a scriptDeveloper
7Test the new checkout in a draft configuration before publishingMerchant + dev
8Publish the new configuration and archive the old one (do not delete until verified)Merchant
9Monitor checkout analytics for 30 days — watch completion rate, average time on step, and error eventsMerchant
10Remove legacy scripts, webhooks, and app installs that are no longer neededDeveloper

The "draft configuration" step (7) is critical. Shopify lets you create multiple checkout configurations, test them in preview, and promote one to live without downtime. Use it.

Breaking Changes to Watch in 2026

Even stores that migrated cleanly in 2025 are hitting new rough edges as Shopify iterates. Watch for these:

One-Page Checkout and Shop Pay

Shopify has consolidated the three-page checkout into a single-page experience for most merchants. Extensions targeted at page-specific anchors may render in unexpected positions, so test every extension in the one-page flow, not just the legacy three-page layout. Shopify's help docs on the unified checkout explain which targets map where. Shop Pay goes further: buyers skip most of the checkout entirely and land directly at payment confirmation, meaning any extension rendering before the payment step will not show for them.

App Conflicts and API Version Deprecation

Install two apps that render a trust-badge block in the same target and shoppers see two overlapping components — use the checkout editor to reorder or hide extensions, and audit any time you add a new checkout-facing app. Checkout UI extensions also use versioned APIs (2024-01, 2024-07, 2025-01, etc.) that Shopify deprecates on a rolling schedule. If you have not updated the API version in your shopify.extension.toml files, put a quarterly calendar reminder to audit them before stale extensions break.

Build Your Own vs. Use an App: The Decision

This is the question every merchant asks after they understand extensibility: do I build a custom extension, or do I install an app?

Build Your Own When

  • You are on Shopify Plus and already have developer resources
  • The customization is core to your brand or checkout experience
  • Available apps do not match your exact flow or data model
  • You need tight integration with an internal system (ERP, custom loyalty, B2B workflow)
  • Long-term cost of app subscriptions exceeds development + maintenance

Use an App When

  • You are on a plan below Plus (you cannot build your own without it)
  • The functionality is commoditized — trust badges, delivery date pickers, upsells
  • You want someone else maintaining the code as Shopify's APIs evolve
  • Time-to-live matters more than pixel-perfect fit
  • You lack in-house developer bandwidth

The app ecosystem is deep. For upsells, ReConvert and AfterSell dominate. For custom fields, apps like Checkout Plus and Checkout Blocks cover the common cases. For loyalty widgets, Yotpo, LoyaltyLion, and Smile.io all ship checkout extensions.

If you need help making the call for your specific stack, the Shopify experts network in our community is full of agencies who have run the build-vs-buy analysis on hundreds of stores.

Common Mistakes That Kill Extensibility Projects

A series of monitors in a dark room showing e-commerce analytics.

Enough botched migrations and first-time extension builds have shipped to surface patterns that go wrong most often.

MistakeWhy It FailsFix
Treating extensibility as a like-for-like port of checkout.liquidMany old customizations were hacks; a clean extensibility build questions whether you need them at allAudit by value, not by presence
Building on Basic/Shopify planYou literally cannot deploy custom extensions without Plus or without publishing through the App StoreConfirm plan requirements before scoping
Skipping the staging checkout configurationPushing untested extensions to the live checkout has broken conversion for entire Black Friday weekendsAlways clone, test, then promote
Hardcoding cart logic in UI extensionsUI extensions should not contain business logic — that belongs in FunctionsSplit: UI renders, Functions decide
Ignoring Shop Pay and express checkout flowsMost extensions never render for Shop Pay buyers because they skip the stepsDesign extensions to degrade gracefully
Leaving unused web pixels and scripts installedThey add latency even if they no longer renderRemove old scripts after migration
Using the wrong anchor targetExtensions render in the wrong place because the dev targeted a deprecated anchorCheck the API version in every toml
Not updating API versions annuallyExtensions silently break when Shopify retires the versionQuarterly API-version audit

The biggest anti-pattern is treating extensibility as a chore instead of an opportunity. The migration forces you to re-examine every checkout customization you ever made — most were not pulling their weight. Use the forced audit to clean house.

What to Measure After You Ship

Extensibility work is only worthwhile if it moves a number. Track these in Shopify analytics and your broader stack after any meaningful checkout change:

  • Checkout completion rate by device and customer type
  • Average time on payment step — slow extensions will show up here first
  • Order edit rate and post-purchase refund rate (high values suggest your fields are creating confusion)
  • Shop Pay and express checkout share of total orders
  • Upsell take rate for post-purchase extensions
  • JavaScript error rate at checkout — spikes point to a broken extension

Fold this into whatever cadence you already use for your conversion optimization program. For deeper measurement patterns, Hostinger's checkout optimization guide has a useful framework for baselining.

Frequently Asked Questions

Is checkout.liquid completely gone?

Yes, for all merchants as of August 28, 2025. Any references to checkout.liquid in your theme files no longer render at checkout. If your admin still shows a legacy reference, it is inert.

Do I need Shopify Plus to use checkout extensibility?

No. You can install apps that use extensions on any plan. You need Plus to build and deploy your own custom extensions or to use the Branding API.

Will my existing apps still work?

Most of them, yes. Apps that properly migrated to UI extensions (nearly all major ones did) work across all plans. Apps that never migrated stopped working in 2025 — if you are still using an unmaintained app, replace it.

How much does it cost to build a custom extension?

Budget $5,000-$25,000 for a typical Plus-merchant extension, depending on complexity and whether you need backend logic (Functions) alongside the UI. Replo's breakdown of checkout extensibility costs has more detail on realistic developer rates.

Can I still use web pixels for analytics at checkout?

Yes. Web pixels are Shopify's sanctioned way to run analytics and marketing scripts at checkout — they are sandboxed and do not block rendering.

What happens if Shopify deprecates an extension API version?

You get advance notice (usually 12+ months), your existing extensions continue running until the cutoff date, and you need to update the version and redeploy before the deadline. Track this in your ops calendar.

Extensibility Is the Platform Now

Checkout extensibility is not a stopgap. It is how Shopify checkout works in 2026 and beyond, and every merchant needs a working mental model of the four pillars — UI extensions, Functions, the Branding API, and post-purchase extensions — even if you never write code yourself. Knowing what is possible is what lets you brief a developer, scope an agency, or pick the right app.

The workflow for most merchants: audit current checkout, identify what moved to extensibility, fill gaps with apps, and reserve custom development for what differentiates your brand. Our Talk Shop community includes hundreds of Shopify developers and agencies who have shipped extensibility projects on every plan tier — come ask questions, share what you built, and trade notes on what worked.

What is the first checkout customization you are planning to build or replace with extensibility?

Payments & CheckoutShopify Development
Talk Shop

About Talk Shop

The Talk Shop team — insights from our community of Shopify developers, merchants, and experts.

Related Insights

Related

Shopify Payout on Hold: How to Get It Released (2026)

Related

Shopify Payments Account Disabled: Help Guide (2026)

New

Business Name Generator

Generate unique, brandable business names with AI. Check domain availability instantly.

Generate Names

Talk Shop Daily

Daily ecommerce news, teardowns, and tactics.

No spam. Unsubscribe anytime. · Learn more

Try our Business Name Generator

Join the Best Ecommerce Newsletter
for DTC Brands

12-18 curated ecommerce stories from 100+ sources, delivered every morning in under 5 minutes. Trusted by 10,000+ operators.

No spam. Unsubscribe anytime. · Learn more

Join the Community

300+ Active

Connect with ecommerce founders, share wins, get feedback on your store, and access exclusive discussions.

Join Discord Server