Checkout Extensibility: a deep dive after 30 production builds
Where the new checkout shines, where it’s still rough, and migration patterns that work.

We’ve shipped 30+ Checkout Extensibility builds since GA. Here’s the honest take.
Where it shines
Custom field collection, line-item editing, and conditional payment method hiding. The new extension model is genuinely better than checkout.liquid for these jobs.
Where it’s still rough
Complex layout overrides aren’t fully supported. Some payment methods (notably some BNPL providers) don’t expose the hooks Extensibility expects. Migration of bespoke checkout.liquid logic is non-trivial.
80% of checkout.liquid customizations port cleanly. The other 20% will eat a month of your engineering time.
Migration order
Migrate analytics first, then payment-method conditional logic, then UI. Don’t try to do all three in one cutover.


