checkout.liquid Is Deprecated — Complete Migration to Checkout Extensibility
If your Shopify theme or app still uses checkout.liquid to customize the checkout experience, you are working with a deprecated feature that Shopify is actively removing. The migration deadline was August 2024 for Shopify Plus merchants and enforcement is ongoing. Checkout Extensibility is the replacement — a system of UI extensions, custom pixels, and branding settings that delivers everything checkout.liquid offered, without the security and performance tradeoffs. This guide covers everything you need to migrate.
What is being removed and when
checkout.liquid allowed arbitrary Liquid and HTML injection into Shopify's checkout pages. Shopify deprecated it in August 2021 and required migration for all Shopify Plus merchants by August 2024. Post-deadline, checkout.liquid is either already removed or will be removed at Shopify's next enforcement pass. Non-Plus merchants on checkout.liquid are also affected — the feature is being sunset across all plan types.
What replaces checkout.liquid
Checkout Extensibility provides four replacement mechanisms: 1) Checkout UI Extensions — React-based components deployed as app blocks in specific extension zones. 2) Custom Pixels — JavaScript in a sandboxed browser context for analytics and conversion tracking. 3) Checkout Branding API — GraphQL API for colors, typography, and layout customization. 4) Thank You and Order Status Page Extensions — UI extensions for post-purchase pages that checkout.liquid also covered.
Migrating tracking and analytics scripts
Any pixel (Google Analytics, Meta Pixel, TikTok, Klaviyo) injected via checkout.liquid must move to Custom Pixels. In Shopify Admin: Settings > Customer events > Add custom pixel. Custom pixels run in a sandboxed iframe with access to the Shopify analytics API for standard events: checkout_started, payment_info_submitted, order_placed. For GTM, deploy it as a custom pixel using the GTM script block inside the pixel's JavaScript field.
Migrating UI customizations
Custom content added to checkout (trust badges, promotional banners, upsell widgets) must become Checkout UI Extensions. Create one with: shopify app generate extension --type checkout_ui_extension. Extensions are React components deployed to specific zones: Checkout::Dynamic::Render (flexible placement), Checkout::Cart::LineItemList::RenderAfter (below cart items), Checkout::Footer::Render (checkout footer). Use Polaris components for consistent Shopify styling.
The fix: before and after
// CODE_COMPARISON
Frequently asked questions
- What happens if I do not migrate from checkout.liquid?
Shopify removes checkout.liquid customizations in waves by enforcement deadline. After removal, checkout still works (Shopify's core checkout is intact) but your custom HTML, scripts, and styling from checkout.liquid stop rendering. Impact ranges from missing trust badges to broken analytics and conversion tracking.
- Can I use Checkout Extensibility on all Shopify plans?
Checkout UI Extensions for the checkout flow itself (cart, shipping, payment steps) require Shopify Plus. The Thank You page and Order Status page extensions are available on all plans. Custom Pixels and the Checkout Branding API are available on all paid Shopify plans.
- Do I need a developer to set up Custom Pixels?
Basic pixel setup for standard integrations (Google Analytics, Meta Pixel) can be done without a developer using Shopify's built-in integrations in Settings > Customer events. Custom JavaScript pixels and GTM require a developer familiar with the Shopify Web Pixels API and the analytics.subscribe() event system.
// SCAN_YOUR_CODE
Does your theme have this bug?
Paste your code. Syphio automatically detects and fixes this error and hundreds of others — in seconds.
Validate my Liquid →