Technologies for customizing Shopify checkout
This guide describes the various technologies that you can use to customize Shopify checkout, and describes what you can do with them.
Anchor to TechnologiesTechnologies
You can customize Shopify checkout using the following technologies:
| Technology | Customization type | Availability |
|---|---|---|
| Checkout UI extensions | Add custom UI or content to the checkout process and Order status page | Shopify Plus. Thank you and Order status extensions are available to all plans except Shopify Starter. Market overrides are available to Advanced. |
| Checkout UI extensions: post-purchase | Add new content to the post-purchase page | All plans except Shopify Starter. Currently in beta. Can be used without restrictions in a dev store. To use post-purchase extensions on a live store, you need to request access. |
| GraphQL Admin API | Customize the look and feel of checkout | Shopify Plus |
| Shopify Functions | Extend or replace key parts of Shopify's backend with custom logic | All plans except Shopify Starter. Some Function APIs are only available in feature preview. Merchants that have checkout.liquid customizations need to upgrade to Shopify Extensions in Checkout to use Function APIs. |
| Web pixel extensions | Track customer behavior | All plans except Shopify Starter. |
The following diagram provides a decision tree for choosing a technology:

Anchor to Use casesUse cases
There are a variety of ways that you can customize Shopify checkout. The following table describes some common use cases that you can build:
| Technology | Customization type | Use cases |
|---|---|---|
| Checkout UI extensions | Add custom UI or content to the checkout process and Order status page |
|
| Checkout UI extensions: post-purchase | Add new content to the post-purchase page |
|
| GraphQL Admin API | Customize the look and feel of checkout |
|
| Shopify Functions | Extend or replace key parts of Shopify's backend with custom logic |
|
| Web pixel extensions | Track customer behavior |
|
Anchor to Market overrides (early access)Market overrides (early access)
Merchants on Advanced or Plus who use markets can tailor their checkout and customer accounts experience for regional and company location markets.
In the checkout and accounts editor, merchants can create market-specific overrides in either their published or draft configurations. Overrides inherit from their parent market override or from the store's default experience when no parent override exists. A market override can include changes to branding and settings, and can add, reorder, or remove extensions.
If the buyer's resolved markets change while they're in checkout or customer accounts (for example, due to a delivery address change), updated settings are dynamically reloaded. Extensions might also be added or removed as a result. If an extension is moved to a different extension target for a market, it's treated as a new activation and will be unmounted and remounted.
To ensure the best merchant and buyer experience:
- Prefer native market overrides in the editor over re-implementing your custom market contextualization for market types already supported by Shopify.
- Don't rely on
useLocalizationMarket()for market-specific conditions. Market definitions are merchant-defined and this API returns only the most precise regional market. Use delivery address or company location information for regional/B2B logic. - Use local storage to persist state across extension activations and target changes.
Anchor to Next stepsNext steps
- Learn how to get started building for checkout.
- Learn how to use UI extensions in checkout or post-purchase by following one of our use case tutorials.
- Learn how to use Shopify Functions by following one of our use case tutorials.
- Create a web pixel extension to track customer behavior and subscribe to all events emitted by Shopify.
- Use the GraphQL Admin API to apply branding changes to checkout.