1. What Happened to checkout.liquid - and Why It Matters
If you have been running a Shopify Plus store for any length of time, you are probably familiar with checkout.liquid the file that gave merchants direct HTML control over the checkout experience. For years, it was how custom checkout designs got built: custom fields dropped in, third-party scripts injected, pixel tracking added, loyalty integrations squeezed in wherever they would fit.
It worked. Not elegantly, but it worked. The problem is that injecting arbitrary code directly into checkout pages creates a mess, security vulnerabilities, performance bottlenecks, customisations that break every time Shopify ships an update, and integrations that conflict with each other in ways that are nearly impossible to debug. Shopify had been managing that mess for years. Eventually, they decided to stop.
Checkout Extensibility is what they built instead. And honestly? It is significantly better both for merchants who want more reliable customisations and for developers who want to build things that do not break every few months.
Here are the two deadlines every Shopify Plus merchant needs on their radar:
August 13, 2024: PASSED
checkout.liquid deactivated for information, shipping, and payment pages. These pages now require Checkout Extensibility for any customisation.
August 28, 2025: FINAL DEADLINE
checkout.liquid also disabled for thank you and order status pages. Script tags and additional scripts on these pages will stop working entirely.
WARNING: If you have not migrated yet, your checkout customisations on thank you and order status pages will stop functioning after August 28, 2025. Any script tags including tracking pixels and loyalty programme scripts will also break. Do not wait.
2. What Is Shopify Checkout Extensibility?
Shopify describes it as "a suite of powerful platform features that make it easier to customise your checkout in a way that's app-based, upgrade-safe, performant, and seamlessly integrated with Shop Pay."
That is accurate, but it does not quite capture the practical shift involved. Here is what it actually means in plain terms.
Previously, checkout customisations lived inside the theme code in checkout.liquid. You or a developer had to open that file and write or paste code directly into it. Every Shopify update was a potential breaking change. Every new integration meant another chunk of code injected into the same file, with no clear structure around what each piece did or where it lived.
Checkout Extensibility moves all of that out of the theme. Instead of editing files, you install apps. Instead of raw script injection, you use structured APIs with defined extension points. Shopify updates the core platform; your customisations sit in a separate layer that is unaffected by those updates.
Think of it like the difference between wiring your house by cutting into the walls, versus having a proper electrical panel with labelled breakers that you can switch on and off independently. The results look the same to someone living in the house, but the architecture underneath is completely different and so is what happens when something needs to change.
3. The Four Key Pillars Explained
App-Based Architecture
Customisations are installed and managed as apps rather than written into theme files. This means installations and updates happen through the Shopify App Store - no developer needed for routine changes, and no risk of overwriting code during platform updates.
Upgrade-Safe
Because customisations live in a separate layer from Shopify's core, platform updates no longer break your checkout. Your configurations survive version bumps automatically something that was a constant headache with checkout.liquid.
Performance-First
The new architecture is built around fast loading times and a smooth user experience. Extensions run in a sandbox, which also means one broken app cannot take down your entire checkout a risk that existed with unstructured script injection.
Shop Pay Integration
All customisations work natively with Shop Pay - Shopify's accelerated checkout that consistently outperforms other payment methods on conversion. Previously, custom checkout modifications could break Shop Pay compatibility entirely.
NOTE: Shopify Checkout Extensibility including the Checkout Editor, Branding API, and Shopify Functions is available exclusively on Shopify Plus. Standard Shopify plans can use checkout apps from the App Store, but do not have access to the full extensibility toolkit.
4. Benefits for Shopify Plus Merchants
It is easy to read feature announcements and think "sounds good, but what does it actually do for my revenue?" Fair question. Here are the real, practical benefits are not just what Shopify says, but what merchants are actually experiencing.
Faster Checkout, Fewer Abandoned Carts
Page speed at checkout is one of the clearest levers you have for reducing abandonment. Shopify's own data shows their checkout converts up to 36% better than competing platforms, and a significant chunk of that advantage comes from speed. By moving tracking scripts, custom UI, and integrations out of the browser's main thread and into structured API calls, Checkout Extensibility reduces the weight of the checkout page considerably.
Shop Pay integration compounds this further. Shopify has reported that Shop Pay delivers a 50% higher conversion rate compared to other accelerated checkouts. Custom checkout modifications used to risk breaking Shop Pay compatibility - Extensibility eliminates that risk.
Verdict: A measurable conversion improvement is realistic for stores that were running heavy, unoptimised checkout.liquid customisations. The speed gains alone justify the migration.
A Checkout That Actually Looks Like Your Brand
One of the long-standing frustrations with Shopify's checkout was how visually generic it felt. You could tweak colours and logos, but true brand expression at checkout was limited. Checkout Extensibility changes this substantially.
The Checkout Editor gives non-technical team members a visual interface to adjust colours, fonts, layout, and branding elements in real time. For deeper customisation matching typefaces exactly, adjusting component-level styling, building a truly distinctive checkout experience the Branding API provides programmatic control over style elements that the visual editor does not expose.
The practical result is a checkout that feels continuous with the rest of your site, not like a bolted-on third-party form. For premium brands especially, this matters customers trust a checkout that looks and feels like the brand they already decided to buy from.
Verdict: A genuine step forward for brand consistency. The combination of visual editor and Branding API makes a checkout that was previously only achievable through heavy custom development now accessible to most Plus merchants.
Security That Does Not Require Constant Vigilance
With checkout.liquid, every script you injected was an attack surface. Third-party code running in your checkout had access to the same page as your customer's payment details. Sandbox isolation through Checkout Extensibility changes this architecture fundamentally third-party extensions run in an isolated environment and cannot access data outside their defined scope.
Beyond security, this also means that a poorly-written app cannot accidentally break your entire checkout the way an injected script could. Problems are contained. Failures are isolated. The overall system is more resilient.
Verdict: Less time firefighting, more time building. The sandbox architecture is a genuine improvement for both security and stability.
Access to Features That Simply Did Not Exist Before
- Stackable discounts - multiple discount types applying together in a single checkout
- Product bundles built natively into the checkout flow
- New checkout functions for custom validation, shipping, and payment logic
- Pre-orders and subscription purchase options in the main checkout flow
- Shop Promise delivery date estimates displayed at checkout
- SMS and email marketing opt-in directly in checkout
- B2B-specific features including vaulted credit cards and flexible shipping addresses
5. Technical Architecture - Extension Points, APIs, and Sandbox
If you are a developer or work with one understanding the technical structure of Checkout Extensibility helps you plan what is and is not possible, and where the real flexibility lies.
Extension Points
Extension points are the defined locations within the checkout flow where apps and custom logic can be inserted. Think of them as labelled slots in the checkout UI before the shipping section, after the contact information form, in the order summary sidebar, on the thank you page. Rather than injecting code anywhere in the DOM, you declare which extension point your component targets and Shopify renders it there.
This structure means your customisation appears in a predictable place, renders correctly on all devices, and does not interfere with adjacent checkout elements. It also means that when Shopify changes the checkout layout, your extension still lands in the right conceptual place even if the visual arrangement shifts.
Available APIs
| API | What It Enables | Who Uses It |
|---|---|---|
| Checkout UI Extensions API | Render custom UI components in defined extension points | Developers building checkout apps |
| Branding API | Programmatic control over checkout design and style elements | Developers, advanced design customisation |
| Shopify Functions API | Custom backend logic for discounts, shipping, payment, validation | Developers, Shopify Plus only |
| Web Pixel API | Structured customer event tracking without script injection | Analytics and marketing teams |
| Post-Purchase Extension API | Custom experiences on the order confirmation page | Upsell apps, survey tools, loyalty programmes |
The Sandbox Environment
All checkout extensions run in a sandbox an isolated JavaScript execution environment that prevents extensions from accessing the global page scope, reading arbitrary DOM elements, or interfering with other extensions. Each extension only has access to the data that Shopify explicitly passes to it through the APIs.
For merchants, this means you can install third-party checkout apps with significantly more confidence than you could with checkout.liquid script injections. The blast radius of a problematic extension is contained by design.
Theme Compatibility
A common concern when merchants first hear about Extensibility is whether their existing theme will continue working. The short answer is yes - checkout extensions are designed to work alongside your store theme rather than replacing it. The checkout design layer is separate from your storefront theme, and Shopify ensures that extensions work consistently across the themes available on the platform.
6. Costs and Shopify Plan Requirements
| Feature | All Shopify Plans | Shopify Plus Only |
|---|---|---|
| Checkout apps from App Store (pre-built) | ✓ Available | - |
| Checkout Editor (visual design) | ✗ Not available | ✓ Available |
| Branding API (programmatic styling) | ✗ Not available | ✓ Available |
| Shopify Functions API (custom logic) | ✗ Not available | ✓ Available |
| Custom apps with Function APIs | ✗ Not available | ✓ Available |
| Web Pixel / Customer Events | ✗ Not available | ✓ Available |
Shopify Plus pricing starts at approximately $2,300/month for most merchants, with the full Extensibility toolkit included in the plan. There are no additional platform fees for using Checkout Extensibility.
Individual checkout apps from the App Store carry their own pricing, typically ranging from around $10 to several hundred dollars per month depending on complexity and feature set.
For merchants not on Shopify Plus: you still benefit from improved checkout reliability and speed, and you can use App Store checkout apps. But the full customisation toolkit, Branding API, Shopify Functions, the Checkout Editor requires upgrading to Plus.
7. How to Migrate from checkout.liquid - Step by Step
The migration process is more structured than most merchants expect. Shopify provides a built-in report in the admin that identifies exactly what you have customised in checkout.liquid and gives you a starting point for recreating those customisations in the new system.
CRITICAL WARNING: All customisations in checkout.liquid will be permanently lost when you publish your new Checkout Extensibility setup. There is no automatic migration everything needs to be manually reviewed, documented, and rebuilt. Do not start this process without first exporting a full record of your current customisations.
Before You Touch Anything - Audit First
The most important step in any migration is understanding exactly what you are migrating away from. Shopify provides a personalised report in the admin that lists every customisation in your current checkout.liquid, but it is worth doing your own review as well.
- Every custom design element - colours, fonts, layout modifications, logo placements
- Every custom field or input you have added (gift messages, delivery instructions, custom attributes)
- Every third-party script or pixel - GA4, Meta Pixel, TikTok, Pinterest, any others
- Every app integration that injected code into checkout
- Every custom validation or checkout logic
- Everything on thank you and order status pages - this is often where loyalty programme triggers and post-purchase surveys live
Check app compatibility before assuming any existing app will work automatically. Many apps require a specific update to support Checkout Extensibility contact each vendor directly if you are unsure.
Step 1: Review Your Personalised Migration Report
In Shopify Admin, go to Settings → Checkout. In the "Upgrade to Checkout Extensibility" section, click View personalised report. This report shows every active customisation, which source file it comes from, what lines of code are involved, and Shopify's suggested approach for recreating it in the new system. Export this as a CSV for your records.
Step 2: Audit Thank You and Order Status Page Apps
In Shopify Admin, go to Settings → Apps. Review every installed app that adds functionality to the thank you or order status pages. These are the pages most commonly affected by the August 2025 deadline. Confirm with each vendor whether their app has been updated for Checkout Extensibility compatibility.
Step 3: Plan Your Rebuild Before You Build
Decide which customisations to recreate using the Checkout Editor, which to recreate using App Store apps, and which require custom development. Create a prioritised list with owners and timelines assigned to each item.
Step 4: Create and Configure Your New Checkout Design
In Shopify Admin, go to Settings → Checkout → Checkout customisation → Create checkout design. Configure branding, install apps, and set up tracking via Customer Events. Test thoroughly in preview mode before publishing.
Step 5: Test Across Devices and Edge Cases
Run test purchases across desktop and mobile, test discount codes, Shop Pay, payment methods, and confirm tracking pixels are firing correctly.
Step 6: Publish and Monitor
Publish changes and monitor conversion rate, abandonment, and revenue. Have a rollback plan ready.
8. Customising Design and User Experience
One of the most significant practical improvements in Checkout Extensibility is how much more accessible deep checkout customisation has become not just for developers, but for the broader team.
The Checkout Editor
The Checkout Editor is a visual, real-time interface for customising how your checkout looks. No code required. You can adjust:
- Colours: background, button, link, and text colours throughout the checkout
- Typography: fonts used for headings and body text
- Logo: size, position, and alignment of your brand logo
- Layout: one-page checkout versus multi-step flow configuration
- Form styling: input field appearance, border radius, spacing
- Section headings and labels: what various checkout sections are called
Changes appear in a live preview as you make them, so what you see while editing is what your customers will see. For non-technical team members who previously had no way to influence the checkout's appearance without filing a developer request, this is a substantial shift in how much control the business actually has day-to-day.
NOTE: The Checkout Editor is only available in conjunction with Checkout Extensibility and is therefore exclusively for Shopify Plus users.
The Branding API - Going Deeper
The visual editor covers a lot of ground, but it does not expose everything. For brands that need precise control over component-level styling specific corner radii, custom input states, exact shadow values, typography at a more granular level the Branding API provides programmatic access.
Using the Branding API requires developer involvement, but the result is a checkout experience that can be matched pixel-perfectly to your brand's design system. For premium lifestyle brands, fashion retailers, and luxury e-commerce where brand presentation at checkout is as important as anywhere else on the site - this level of control was simply not available before.
With the Branding API, you can control:
- Background and text colours at a component level
- Button styles, states, and border radius values
- Custom font loading and typography at heading and body level
- Border colours, shadow values, and spacing between elements
- Input field styling including focus, error, and success states
9. Shopify Functions: Extending Backend Logic
Shopify Functions is where Checkout Extensibility goes beyond visual customisation and into genuine business logic. These are server-side functions that run inside Shopify's infrastructure and allow you to customise how discounts, shipping, payment methods, and cart validation actually work not just how they look.
NOTE: The Shopify Functions API is only available on Shopify Plus. Apps in the App Store that include Functions can be used on all plans, but building custom apps with Function APIs requires a Plus subscription.
Custom Discount Logic
The standard Shopify discount system is powerful, but it has hard limits. With Shopify Functions, you can build discount rules that go well beyond what the admin panel allows:
- Tiered discounts based on customer purchase history, not just cart value
- Discounts that activate based on specific product combinations or bundle configurations
- Customer-segment-specific pricing that applies automatically based on tags or metafields
- Stackable discount logic, controlling precisely which discounts can combine and in what order
- Volume discounts that apply at the line item level rather than the cart level
Custom Payment and Shipping Method Logic
Shopify Functions also allows you to control which payment methods and shipping options appear and how they are sorted or named based on real-time conditions:
- Hide cash on delivery for orders above a certain value threshold
- Show specific payment methods only to B2B customer segments
- Re-order shipping options to surface your preferred carrier first for specific regions
- Rename generic shipping rate names to more customer-friendly descriptions
- Block certain shipping methods for specific product types that have special delivery requirements
Cart and Checkout Validation
Custom validation rules checking that minimum order values are met, that product combinations are permissible, that address information matches required formats can all be built using Shopify Functions. Previously, validation like this required JavaScript injected into checkout.liquid, which was fragile and often failed on edge cases. Function-based validation runs server-side, which makes it more reliable and harder to circumvent.
10. Checkout Apps: What You Can Add Without Custom Development
For merchants who do not have a development team and are not looking to build custom Functions, checkout apps offer a practical middle ground. These are pre-built applications available in the Shopify App Store that are specifically designed to work with Checkout Extensibility's extension points.
| Category | What These Apps Do | Common Use Case |
|---|---|---|
| Upsell and Cross-sell | Display product recommendations, bundles, or add-on offers at checkout | Increase average order value |
| Custom Fields | Add gift message fields, delivery instructions, order notes, custom attributes | Personalisation, special handling |
| Loyalty Programmes | Show points balance, allow points redemption, display rewards at checkout | Retention, repeat purchase incentive |
| Trust and Social Proof | Display reviews, security badges, guarantees, delivery promises | Reduce checkout anxiety, improve conversion |
| Alternative Payments | Klarna, Afterpay, PayPal, and other BNPL integrations | Expand payment options |
| Shipping Upgrades | Insurance, express options, delivery date selection | Premium delivery experience |
| Branding and Design | Custom fonts, layouts, colour schemes beyond the built-in editor | Advanced brand expression |
One important distinction: checkout apps from the App Store are available to all Shopify plans, not just Plus. If you are on a standard Shopify plan and have been watching Checkout Extensibility from a distance thinking it does not apply to you some of it actually does. You just do not have access to the Checkout Editor or custom Functions.
11. Customer Event Tracking and Analytics
One of the more quietly significant improvements in Checkout Extensibility is how customer event tracking is handled. With checkout.liquid, tracking meant injecting script tags raw JavaScript from Google Analytics, the Meta Pixel, TikTok, or whoever else needed checkout data. This was not structured, it was not auditable, and it was the source of an enormous number of tracking conflicts and data integrity problems.
The replacement is the Customer Events page in Shopify Plus admin - a structured interface for configuring tracking pixels that runs through Shopify's Web Pixel API.
What Changes About Tracking
Instead of injecting third-party scripts directly into the checkout page, you configure pixel integrations through the Customer Events interface. Shopify then fires these pixels using standardised event data and the same event schema across every integration, which means cleaner data and fewer discrepancies between platforms.
For merchants who have ever stared at checkout data wondering why Meta says one number, GA4 says another, and your Shopify dashboard says a third, this structured approach is a meaningful improvement. All three draw from the same underlying event stream rather than each independently counting whatever they happen to capture.
The Customer Events interface also gives you visibility into what is being tracked and when, which is useful both for auditing and for GDPR and consent management compliance. You can see exactly which pixels fire on which events, and integrate with consent management platforms to ensure pixels only fire with appropriate user consent.
NOTE: If you are running Google Tag Manager server-side (sGTM), Checkout Extensibility's Web Pixel API is compatible with server-side tag routing. This means you can route checkout events through your sGTM container for additional first-party data capture, deduplication, and Meta CAPI and Google Ads Enhanced Conversion integration — all without injecting scripts into the checkout page.
12. App and Theme Compatibility: What You Need to Check
| App Category | Compatibility Status | Action Required |
|---|---|---|
| Loyalty and Rewards programmes | Mixed - check per vendor | Confirm vendor has updated to Checkout UI Extensions |
| Review display apps | Most updated | Verify compatibility in App Store listing |
| Tracking pixels | Replaced by Customer Events | Migrate to Web Pixel API |
| Upsell and cross-sell apps | Most updated | Check extension point compatibility |
| Custom payment integrations | Requires Shopify Functions | Developer rebuild may be required |
| Post-purchase survey tools | Mixed - check per vendor | Confirm Post-Purchase Extension support |
| Script-injected third-party tools | Not compatible | Find App Store alternative or rebuild |
The rule of thumb: any app that previously worked by injecting a script tag into checkout.liquid needs to be evaluated carefully. Most reputable app vendors have already updated their products, but check the App Store listing specifically for mentions of Checkout Extensibility compatibility and always test before you publish.
13. Frequently Asked Questions
Why did Shopify remove checkout.liquid in the first place?
checkout.liquid gave merchants direct HTML access to checkout pages, which sounds great but created serious problems at scale. Every customisation was a potential security risk, third-party scripts ran with full page access alongside customer payment data. Every Shopify platform update risked breaking existing customisations. And because everyone modified the same file in different ways, there was no consistent way for Shopify to ship new checkout features without potentially breaking someone's customised checkout. Checkout Extensibility solves all three problems: sandboxed extensions cannot access data outside their scope, app-based customisations survive platform updates, and structured extension points mean Shopify can evolve the checkout without breaking the ecosystem.
Do I need to migrate even if my checkout still looks fine?
Yes. For the information, shipping, and payment pages, the August 2024 deadline has already passed to checkout.liquid is already deactivated for these pages. For thank you and order status pages, the deadline is August 28, 2025. After that date, script tags and additional scripts on those pages will stop functioning entirely, which means tracking pixels, post-purchase integrations, and loyalty triggers that live on those pages will break without warning. Migrate proactively rather than reactively.
How long does migration typically take?
It depends almost entirely on the complexity of your current checkout customisations. A store with minimal checkout.liquid modifications can complete the migration in a few days to a week. A store with extensive custom logic, multiple deeply integrated third-party apps, complex validation rules, and heavy post-purchase functionality could easily require four to eight weeks of careful migration work. The audit phase alone properly documenting everything that exists in your current checkout is worth doing thoroughly regardless of how simple or complex your setup is. Rushing it is how important integrations get missed until a customer reports a problem.
Can I use Checkout Extensibility if I am not on Shopify Plus?
Partially. Checkout apps from the Shopify App Store that use Checkout UI Extensions are available on all Shopify plans — so you can add upsell widgets, custom fields, trust badges, and similar functionality through App Store apps regardless of your plan tier. What is exclusively Plus: the Checkout Editor, the Branding API, Shopify Functions for custom discount and shipping logic, and Customer Events tracking. If your needs are primarily adding pre-built functionality through apps, you can do a lot on a standard plan. If you need deep custom logic or full design control over checkout, Plus is required.
Will my existing Shopify apps automatically work with Checkout Extensibility?
Not automatically. Apps that previously functioned by injecting script tags into checkout.liquid need to be updated by their developers to use the new extension points and APIs. Most reputable, actively-maintained apps have already done this but the only way to know for certain is to check the App Store listing for explicit mentions of Checkout Extensibility compatibility, and to contact the vendor directly if you are unsure. Apps that have not been updated and that relied on script injection will stop working when you publish your new checkout setup. Build this audit into your migration plan as a non-negotiable step.
What is the difference between Checkout UI Extensions and Shopify Functions?
Checkout UI Extensions handle the front-end what customers see in the checkout interface. They let you render custom components in defined extension points: adding a loyalty programme widget, displaying a custom message, showing upsell offers, adding custom fields. Shopify Functions handle the back-end the actual business logic of how checkout works. They let you customise how discounts are calculated, which shipping methods appear and in what order, which payment methods are available for specific customers, and how cart validation rules are enforced. A useful mental model: UI Extensions change what the checkout looks like; Shopify Functions change what the checkout does.
How does tracking and pixel management work after the migration?
Pixel management moves to the Customer Events page in Shopify Plus admin, which uses the Web Pixel API to fire structured, standardised events to your analytics and marketing platforms. Instead of injecting raw GA4 or Meta Pixel scripts into checkout.liquid, you configure your pixels through this interface and Shopify handles the event firing in a sandboxed, structured way. This generally improves data quality because all platforms receive events from the same underlying data stream. It also simplifies consent management for GDPR compliance, since you have a single interface for controlling which pixels fire and when.
What should developers know before building with Checkout Extensibility?
A few important things. First, the development environment uses React and TypeScript modern tooling that most front-end developers will be comfortable with, but a shift if your team has been working primarily in Liquid. Second, Shopify Functions are written in WebAssembly via Rust or JavaScript and TypeScript compiled to WASM, which has a learning curve if you have not worked with it before. Third, all extensions are sandboxed, which means you cannot access arbitrary DOM elements or global JavaScript scope, you work exclusively with the data Shopify passes you through the APIs. Fourth, testing is done through Shopify's development store flow with preview links, which is structured but different from standard web development debugging. The Shopify developer documentation is genuinely thorough, and the developer community around Checkout Extensibility has grown significantly over the past two years.

