Checkout customisation on Shopify Plus changed materially in 2024 when Shopify ended support for checkout.liquid. The new system - Checkout Extensibility - opened up a genuinely different set of customisation possibilities, while taking some old patterns off the table. Two years in, most Plus brands have either migrated, are mid-migration, or are running on checkout.liquid past the deprecation and feeling the pain. The next 12 months will close out the migration cycle for the brands still holding out.
This piece is the practical walkthrough for Plus brands scoping checkout customisation work in 2026. What's possible, what's not, the migration mandate, common customisation patterns, cost and timeline framework, and where most projects underscope the work.
What changed in 2024
Shopify deprecated checkout.liquid for Plus brands in August 2024. The decision ended a decade of theme-based checkout customisation and shifted the entire ecosystem onto Checkout Extensibility - a new system built around UI extensions, Shopify Functions, and post-purchase pages.
The change wasn't a refactor. It was an architectural shift. checkout.liquid let agencies modify the checkout template like any other Liquid template. Extensions don't work that way. They're isolated components that plug into specific extension points Shopify defines. Functions run server-side on Shopify's infrastructure, with strict capability boundaries. The customisation model is more structured, more performant, more secure, and meaningfully different from what brands and agencies built over the checkout.liquid years.
Two years in, the ecosystem has caught up. Major apps have native Extensibility integrations. The extension targets cover most real-world customisation needs. The Functions surface keeps expanding. Migration is no longer optional - it's overdue for the brands still on checkout.liquid - and the work is well-understood by experienced teams.
What you can actually customise
Five categories cover most brand requirements.
UI extensions at checkout
Visual customisations to the checkout flow. Custom fields (gift messages, delivery instructions, order purpose, B2B PO numbers). Custom UI elements (banners, social proof, urgency messaging, trust badges). Conditional content (different messaging for first-time vs returning customers, B2B vs DTC, region-specific compliance). Dynamic shipping option presentation. The extension targets cover most surfaces brands actually want to touch.
Functions for business logic
Server-side logic that runs during checkout. Custom discount logic (member pricing, dynamic bundles, BOGO rules). Cart transformations (auto-add free gifts, enforce minimum orders, apply complex pricing). Shipping rules (custom shipping methods, conditional shipping availability, B2B shipping logic). Payment gating (restrict payment methods by customer type or cart contents). Functions cover what apps and Scripts handled previously, with better performance and proper API access.
Post-purchase pages
The page customers see immediately after completing checkout, before the thank-you page. Native post-purchase upsells (high acceptance rates because there's no payment friction - the card is already charged). Surveys (how did you hear about us). Order modifications (add subscription, change delivery preference). Custom thank-you content (brand-specific welcome, next steps, app downloads).
Custom Pixels
Server-side tracking that runs on Shopify's infrastructure rather than client-side. Better tracking accuracy in the ATT/ITP era. Native integration with marketing tools (Meta CAPI, TikTok Events API, Google Ads enhanced conversions). Less reliance on third-party pixel scripts that slow checkout and break under ad-blocker conditions.
Branding and theme customisation
Visual styling of the checkout itself. Colours, fonts, layout, sectioning, logo placement. More flexible than checkout.liquid in some ways, more constrained in others. Most brands can achieve their target visual identity within the branding API limits.
What you can't customise
Worth knowing where the boundaries sit.
The core checkout flow. The sequence of information capture (contact, shipping, payment) is owned by Shopify. Brands can add fields and content but can't reorder the fundamental flow or merge steps in unconventional ways.
Payment processing. The payment capture, fraud detection, and transaction routing run on Shopify's payment infrastructure. Brands customise around payment but don't replace the payment system.
Address validation and shipping rate calculation. The underlying logic stays with Shopify and the carrier integrations. Custom shipping rules can layer on top but can't replace the core address and rate logic.
The checkout URL structure. The checkout runs on a Shopify-hosted URL. Brands customise the branding, the URL pattern stays Shopify-owned.
For most brands, the constraints don't block actual requirements. The brands that hit constraints are usually trying to rebuild things that Shopify intentionally owns for security, compliance, or reliability reasons.
The migration mandate
Brands still on checkout.liquid in 2026 are in one of three situations.
Active migration in progress. The most common case for late-mover Plus brands. The work is meaningful but bounded - typical migrations run 6-14 weeks depending on the complexity of existing customisations. We covered the migration specifically in checkout.liquid migration to Checkout Extensions.
Holding pattern - aware but not yet scoping. These brands know the deprecation happened but haven't started the migration. Risk profile is climbing: Shopify continues to deprecate adjacent surfaces, security patches stop, new features become inaccessible. The cost of waiting compounds.
Unaware - still operating as if nothing changed. Rare in 2026 but exists. Usually brands without active agency relationships who missed the announcement cycle. Highest-risk position because the migration scope grows with every month spent on the unsupported system.
For all three: the migration is now the prerequisite for any meaningful new checkout work. Brands trying to add new customisations to checkout.liquid in 2026 are throwing money away on infrastructure that's actively being retired.
Common customisation patterns we ship
The work that comes up repeatedly across mid-market Plus engagements.
Custom checkout fields with conditional logic. Gift message fields that appear only when a gift option is selected. PO number fields that appear only for B2B customers. Delivery instruction fields that vary by shipping method.
Trust-building modules at checkout. Social proof banners (real-time order count, customer photos), security badges, return policy reminders, contact information. The extension targets allow tasteful placement that improves conversion without cluttering the experience.
Dynamic shipping option presentation. Showing estimated delivery dates instead of generic shipping speed labels. Highlighting the cheapest or fastest option dynamically. Adding shipping cost transparency (origin, carrier, service level).
Post-purchase upsells with native acceptance. Single-click acceptance of upsell offers (the payment is already authorised). High conversion rates - 10-15% of orders typically accept well-designed post-purchase offers.
B2B-specific checkout customisations. Different field layouts for B2B accounts. Custom payment terms surface. PO/quote integration. Approval workflow integration where required.
Custom Pixels for tracking accuracy. Server-side tracking implementations that improve attribution accuracy and reduce reliance on third-party pixel scripts.
Cost and timeline framework
For typical mid-market Plus brands scoping checkout customisation work.
Simple scope (custom fields + post-purchase page): $15K-$30K, 4-6 weeks. Single extension, straightforward post-purchase upsell, basic testing.
Standard scope (multi-extension + Functions + post-purchase): $30K-$60K, 6-10 weeks. Multiple extensions, custom Functions for business logic, post-purchase optimisation, B2B handling if applicable.
Complex scope (full migration + new customisations): $50K-$120K, 10-16 weeks. Full migration from checkout.liquid, multiple new customisations, complex business logic, multi-region handling, extensive testing.
Headless add-on: $10K-$30K, 2-4 additional weeks. Integration work on the Hydrogen side where the storefront hands off to checkout.
Ongoing optimisation retainer: $5K-$15K/month for continuous testing and feature additions post-launch.
The cost gap from simple to complex isn't arbitrary - the testing surface grows non-linearly. Every conditional path, every business rule, every edge case needs verification across payment methods, customer types, regions, and integration touchpoints.
Where most projects underscope the work
Four patterns from checkout projects we've shipped or audited.
Underscoping the migration audit. Brands assume their checkout.liquid customisations will map 1:1 to Extensions. Some do, some don't. The audit is what surfaces which is which. Skipping it produces mid-project scope changes that cost more than the audit would have.
Treating extensions as a UI exercise rather than a system change. The Functions side is where most strategic value sits. Brands that focus only on visual customisations miss the bigger lift from Functions-based business logic.
Skipping post-purchase pages. One of the highest-ROI surfaces in the new system. Brands that deploy with the default thank-you page leave meaningful upsell revenue on the table. Building post-purchase customisations should be part of any checkout project, not a phase-two addition.
Underestimating testing time. Checkout testing requires real transaction scenarios across payment methods, customer types, regions, and integration touchpoints. The testing phase routinely surfaces edge cases that need fixing. Brands that compress testing to save time ship checkout regressions to production.
Where to start
If you're scoping checkout customisation work for a Shopify Plus brand, four moves order the work.
One: audit your current checkout. What customisations exist today, what platform they're built on, what business logic they encode. The audit is the foundation for everything that follows.
Two: map your customisation goals. What you actually want the new checkout to do. Specific outcomes, not vague "better checkout" framing. Conversion lift, AOV lift, B2B support, multi-region handling, tracking accuracy.
Three: scope the migration alongside the new work. If you're still on checkout.liquid, the migration is non-negotiable. Better to scope it alongside new customisations than as a separate later project.
Four: budget for ongoing optimisation. Checkout isn't ship-and-forget. The strongest brands run continuous testing on checkout flows, post-purchase offers, and conversion experiments.
Talk to our team about checkout customisation. We ship migrations, custom extensions, Functions-based business logic, and post-purchase optimisation across mid-market Plus brands. The discovery call takes 30 minutes and you'll leave it knowing what your specific scope and cost look like. Related reading: Checkout Extensibility API technical walkthrough, checkout.liquid migration to Extensions, cart customisation on Shopify Plus, and post-purchase upsell on Shopify Plus.
Is checkout.liquid still supported in 2026?
Shopify deprecated checkout.liquid for Plus brands in August 2024. Brands still relying on checkout.liquid customisations are running on borrowed time: the platform no longer supports new development, security patches, or compatibility with new Shopify features. Migration to Checkout Extensibility is required, and the longer brands wait the more painful the migration gets as Shopify continues to deprecate related surfaces.
What can I actually customise on the new checkout?
More than most brands realise. UI extensions handle visual customisations (custom fields, gift messages, delivery date pickers, custom banners, social proof modules, dynamic shipping options). Functions handle business logic (custom discounts, shipping rules, payment gating, cart transformations). Post-purchase pages handle upsell, surveys, and order modifications. The combination covers 90%+ of what brands actually need.
What can't I customise?
Shopify still owns the checkout shell - payment processing, address validation, the core checkout flow logic. Brands can't fully replace the checkout UI or run checkout entirely on their own infrastructure. The constraints are real but rarely block what brands actually need to ship.
How much does a checkout customisation project cost?
$15K-$80K for typical mid-market scope depending on complexity. Simple custom field additions and post-purchase pages: $15K-$30K. Multi-feature builds with conditional logic and B2B handling: $30K-$60K. Complex migrations from heavily-customised checkout.liquid: $50K-$120K. Headless implementations add $10K-$30K for the Hydrogen-side integration.
How long does it take?
4-10 weeks for typical mid-market scope. Discovery and audit 1-2 weeks, extension development 2-5 weeks, testing 1-2 weeks, go-live 1 week. Complex migrations or multi-feature builds extend to 12-16 weeks. The work doesn't compress well below 4 weeks because checkout testing requires real transaction scenarios across payment methods and edge cases.
Can I do this with my existing apps (ReConvert, AfterSell, Recharge)?
Yes for most apps. Major checkout-adjacent apps have updated their integrations to work with Checkout Extensibility. ReConvert, AfterSell, Recharge, Bold, and others have native Extensibility-compatible versions. The exception is brands running deeply-customised app implementations from the checkout.liquid era - those usually need rework alongside the platform migration.
What about headless brands on Hydrogen?
Hydrogen storefronts hand off to Shopify checkout (the storefront runs in Hydrogen, the checkout runs on Shopify). The Checkout Extensibility customisations work the same way - they apply to the Shopify-hosted checkout that Hydrogen routes to. Headless brands get the same customisation surface as theme-based brands, plus the option to build the pre-checkout experience (PDP, cart, etc.) fully custom.
Where do most brands go wrong?
Three patterns. Underscoping the migration audit - brands assume their checkout.liquid customisations will map cleanly to Extensions and discover edge cases mid-project. Treating extensions as a UI exercise rather than a system change - the Functions side is where most strategic value sits. Skipping post-purchase pages - one of the highest-ROI surfaces in the new system and most brands deploy with the default.
A Shopify Plus Agency for Strategic Design & Advanced Engineering
Building something ambitious?
- Shopify deprecated checkout.liquid in August 2024. Brands still on it in 2026 are running on borrowed time: no new features, no security patches, growing migration cost the longer they wait.
- Checkout Extensibility opens five customisation categories: UI extensions at checkout, Functions for business logic, post-purchase pages, Custom Pixels, branding customisation.
- What you can't customise: the core checkout flow sequence, payment processing, address validation, the checkout URL structure. The constraints are bounded and rarely block actual brand requirements.
- Cost framework: $15K-$30K simple scope (custom fields + post-purchase). $30K-$60K standard (multi-extension + Functions). $50K-$120K complex (full migration + new customisations). Headless adds $10K-$30K.
- Timeline: 4-10 weeks for typical scope, 10-16 weeks for complex migrations. Doesn't compress well below 4 weeks because checkout testing needs real transaction scenarios.
- Most common pitfalls: underscoping the migration audit, treating extensions as UI-only, skipping post-purchase pages, underestimating testing time.





