All articles
Shopify Plus11 min read15 July 2026

Shopify Checkout Extensibility: What You Can Actually Build

UI Extensions, checkout branding, post-purchase pages, and the Thank You page — the full picture of what's now possible in Shopify checkout without checkout.liquid.

Checkout ExtensibilityUI ExtensionsShopify Plus

checkout.liquid is deprecated. Shopify has replaced it with Checkout Extensibility — a system of UI Extensions, APIs, and branding controls that give you significant customization power while keeping Shopify in control of the checkout security model.

What changed and why

checkout.liquid allowed arbitrary HTML/CSS/JS injection into the checkout. This was flexible but created security risks, performance problems, and compatibility issues with Shopify's checkout upgrades. Checkout Extensibility uses a sandboxed extension model instead.

UI Extensions: what they can render

  • Custom fields (gift messages, PO numbers, order notes)
  • Product upsells and cross-sells
  • Loyalty points display and redemption
  • Shipping date estimates
  • Custom banners and messaging
  • Address validation hints
  • Payment icons and security badges

Extension target placement

Extensions render in specific named slots in the checkout layout. You choose the target, and Shopify handles the rendering:

typescript
import { extension, TextField } from "@shopify/ui-extensions-react/checkout";

export default extension(
  "purchase.checkout.delivery-address.render-before",
  (root, { applyAttributeChange }) => {
    root.appendChild(
      root.createComponent(TextField, {
        label: "Purchase Order Number",
        onChange: (value) => applyAttributeChange({
          key: "purchase_order_number",
          value,
          type: "updateAttribute",
        }),
      })
    );
  }
);

Checkout Branding API

The Branding API lets you set colors, typography, corner radius, and spacing across the entire checkout — without touching a single line of Liquid. This replaced the visual customization that checkout.liquid used to handle.

Post-purchase extensions

Post-purchase extensions render after the order is confirmed but before the Thank You page. This is where you add upsell offers, subscription prompts, or data collection — with the customer still in a high-intent moment.

Post-purchase extensions can process a second payment using the existing payment method — no re-entry required. This is the recommended mechanism for post-purchase upsells.

ShareLinkedInX / Twitter
Arslan
Shopify developer specializing in B2B, Shopify Plus, and custom app development. 6+ years building on Shopify.
About

Building something like this on Shopify?

I build exactly what I write about. If you need help implementing this, get in touch — I respond within 24 hours.

Discuss your project

Get new Shopify guides by email

Practical, technical articles on Shopify development — no fluff, no sales emails.

No spam. Unsubscribe anytime.