Shopify checkout extensions after WooCommerce (2026)
How to customize Shopify checkout using Checkout UI Extensions after migrating from WooCommerce — adding custom fields, delivery instructions, order notes, upsells, trust badges, and porting WooCommerce checkout customizations.
WooCommerce developers customized checkout extensively: WooCommerce Checkout Field Editor added custom fields, conditional logic showed/hid fields based on products, and custom PHP hooks like woocommerce_checkout_before_order_review injected arbitrary HTML at any checkout position. Shopify's checkout is hosted and far more restricted — but Checkout UI Extensions (introduced in 2023) and the Checkout Blocks app give significant customization capability without requiring Shopify Plus.
WooCommerce checkout customization vs Shopify
| WooCommerce approach | Shopify equivalent | Requires |
|---|---|---|
| WC Checkout Field Editor (custom fields) | Checkout UI Extension or Checkout Blocks app | Standard Shopify or Plus |
| Order notes field | Native order notes (enable in theme settings) or Checkout Blocks | Standard Shopify |
| Delivery date picker | Checkout UI Extension (custom) or app (DeliveryDate, Zapiet) | Standard Shopify |
| Custom HTML at checkout | Checkout UI Extension components only | Standard Shopify |
| checkout.php full customization | checkout.liquid (deprecated) or Checkout UI Extensions | Shopify Plus |
| Custom checkout steps / multi-page | Not supported (Shopify checkout is fixed flow) | N/A |
| Conditional field display | Checkout UI Extension with React logic | Standard Shopify |
| Order bump / upsell at checkout | Checkout UI Extension or Post-purchase extension | Standard Shopify |
| Trust badges at checkout | Checkout Blocks or Checkout UI Extension | Standard Shopify |
Checkout Blocks app (no-code, standard Shopify)
Checkout Blocks is a free/paid Shopify app that adds blocks to checkout without code — the fastest way to replicate many WooCommerce checkout customizations:
- Available blocks: text field, text area, checkbox, dropdown, date picker, image, text, banner, upsell product, trust badge, delivery date, gift message, custom HTML banner
- Placement: can be placed at address step, delivery step, payment step, order confirmation page
- Conditional display: show blocks based on cart contents, product tags, cart total, customer tags
- Data saved: custom field values saved as order metafields (accessible in admin, order confirmation, fulfilment)
- Free tier: limited blocks. Paid: ~$15–99/mo depending on features needed.
Native order notes
Shopify themes can enable an order notes field in cart — not technically "checkout" but functionally equivalent for many WooCommerce order notes use cases:
- Enable via theme settings: Dawn → Cart → enable "Order note"
- Notes appear on the order in admin and in order confirmation email
- Limitation: customers enter notes in cart, not checkout — some drop off before reaching checkout
- For notes at checkout specifically: use Checkout Blocks "text area" block at the delivery or payment step
Checkout UI Extensions (developer approach)
For custom checkout fields beyond what Checkout Blocks offers, developers build Checkout UI Extensions using Shopify's React-based extension API:
// checkout-extension/src/Checkout.tsx
import {
reactExtension,
useApplyMetafieldsChange,
useMetafield,
TextField,
BlockStack,
Text,
} from "@shopify/ui-extensions-react/checkout";
export default reactExtension("purchase.checkout.delivery-address.render-after", () => (
<DeliveryInstructions />
));
function DeliveryInstructions() {
const applyMetafieldsChange = useApplyMetafieldsChange();
const currentValue = useMetafield({
namespace: "custom",
key: "delivery_instructions",
});
return (
<BlockStack>
<Text size="medium">Delivery instructions (optional)</Text>
<TextField
label="e.g. Leave at door, ring bell"
value={currentValue?.value ?? ""}
onChange={(value) =>
applyMetafieldsChange({
type: "updateMetafield",
namespace: "custom",
key: "delivery_instructions",
valueType: "string",
value,
})
}
/>
</BlockStack>
);
}
Extension target positions
purchase.checkout.contact.render-after— after email/contact fieldpurchase.checkout.delivery-address.render-after— after delivery addresspurchase.checkout.shipping-option-list.render-after— after shipping optionspurchase.checkout.payment-method-list.render-after— after payment methodspurchase.checkout.actions.render-before— before "Complete order" buttonpurchase.thank-you.block.render— on thank you / order confirmation page
Checkout upsells
In-checkout upsell (Checkout UI Extension)
- Show a relevant product recommendation at checkout ("Add X for £Y before completing your order")
- One-click add to cart from checkout extension
- Conditional: only show if cart doesn't contain the product, or if cart total is above/below threshold
- Apps: Checkout Blocks includes upsell block. Dedicated apps: ReConvert, Upsell by Zipify.
Post-purchase upsell (thank you page)
- Offer shown on the order confirmation page after payment — customer can add product to their existing order
- No re-entering payment details — charged to same payment method
- Best for low-friction add-ons (related product, extended warranty, bundled accessory)
- Apps: ReConvert, Zipify One-Click Upsell, Checkout Blocks thank-you page block
Delivery date picker
WooCommerce stores commonly used WooCommerce Delivery Date or Iconic WooCommerce Delivery Slots. Shopify equivalents:
- Zapiet Store Pickup + Delivery: Full delivery date/time slot management. Integrates with checkout for date selection. Supports local delivery and store pickup with date/time slots.
- DeliveryDate: Delivery date picker at checkout via Checkout UI Extension. Block-based, configurable blackout dates and lead times.
- Checkout Blocks: Date picker block available on paid plan.
- Date saved as order metafield: accessible in fulfilment workflow, order confirmation email, and third-party fulfilment systems.
Trust signals at checkout
WooCommerce checkout often had trust badges injected via hooks. Shopify checkout equivalent:
- Checkout Blocks: add trust badge image (SSL secure, money-back guarantee, etc.) at payment step
- Custom banner: "Free returns within 30 days" banner above the "Complete order" button
- Checkout Blocks free tier includes basic text and image blocks — sufficient for trust signals
Shopify Plus: checkout.liquid (legacy) and checkout editor
Shopify Plus merchants have additional options:
- Checkout editor (Plus): drag-and-drop checkout customization including custom HTML blocks, branding, and more section types
- checkout.liquid (deprecated but still functional): Liquid template for checkout — full HTML control. Being phased out in favour of Checkout UI Extensions + editor.
- New Plus stores should use Checkout UI Extensions + the checkout editor rather than checkout.liquid.
Checkout migration checklist
- Audit current WooCommerce checkout customizations: custom fields, notes, conditional logic, upsells
- Map each WooCommerce customization to Shopify equivalent (Checkout Blocks or UI Extension)
- Install Checkout Blocks app for no-code customizations (order notes, trust badges, gift message)
- Build Checkout UI Extension for custom fields not available in Checkout Blocks
- Set up delivery date/time picker if applicable (Zapiet or DeliveryDate)
- Configure post-purchase upsell on thank-you page
- Verify all custom field values are saved as order metafields and accessible in fulfilment workflow
- Ensure order confirmation email template includes custom field values (configure in email template settings)
- Test complete checkout flow with all custom fields on mobile and desktop
The most critical checkout customization for most WooCommerce migrators is the order notes or delivery instructions field — customers are used to it being there, and losing it causes customer service overhead as buyers email to add instructions manually. This is a 10-minute Checkout Blocks setup: install the free tier, add a text area block to the delivery step, label it "Delivery instructions or order notes". The field value appears on the order in admin automatically. Don't over-engineer this particular feature — Checkout Blocks handles it cleanly without any code.
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.