There are many options available that allow you to customize and extend Shopify checkout. This guide introduces the available technologies for customizing checkout, and ways that you can extend checkout. ## Technologies You can customize Shopify checkout using the following technologies: | Technology | Customization type | Availability | |---|---|---| | [Checkout UI extensions](/docs/api/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. | | [GraphQL Admin API](/docs/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) | Customize the look and feel of checkout | Shopify Plus | | [Shopify Functions](/docs/apps/build/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 [developer preview](/docs/api/release-notes/developer-previews).

Merchants that have [checkout.liquid](/docs/storefronts/themes/architecture/layouts/checkout-liquid) customizations need to [upgrade to Checkout Extensibility](https://help.shopify.com/manual/checkout-settings/checkout-extensibility/checkout-upgrade) to use Function APIs. | | [Post-purchase checkout extensions](/docs/apps/build/checkout/product-offers#post-purchase-product-offers) | Add new content to the post-purchase page | All plans except Shopify Starter.

Currently in beta. Can be used without restrictions in a [development store](/docs/api/development-stores). To use post-purchase extensions on a live store, you need to [request access](/docs/apps/build/checkout/product-offers/build-a-post-purchase-offer#step-5-request-access). | | [Web pixel app extensions](/docs/api/pixels) | Track customer behavior | All plans except Shopify starter. | The following diagram provides a decision tree for choosing a technology: ![A decision diagram for choosing a specific checkout technology](/assets/apps/checkout/checkout-decision-tree.png) ## Use 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](/docs/api/checkout-ui-extensions) | Add custom UI or content to the checkout process and **Order status** page | | | [GraphQL Admin API](/docs/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) | Customize the look and feel of checkout | | | [Shopify Functions](/docs/apps/build/functions) | Extend or replace key parts of Shopify’s backend with custom logic | | | [Post-purchase checkout extensions](/docs/apps/build/checkout/product-offers#post-purchase-product-offers) | Add new content to the post-purchase page | | | [Web pixel app extensions](/docs/api/pixels) | Track customer behavior | ## Next steps - Learn how to [get started](/docs/apps/build/checkout/start-building) building for checkout. - Learn how to use checkout UI and post-purchase extensions by following [one of our use case tutorials](/docs/api/checkout-extensions#getting-started). - Learn how to use Shopify Functions by following [one of our use case tutorials](/docs/apps/build/functions#getting-started). - [Create a web pixel app extension](/docs/apps/build/marketing-analytics/build-web-pixels) to track customer behavior and subscribe to all events emitted by Shopify. - Use the GraphQL Admin API to [apply branding changes](/docs/apps/build/checkout/styling) to checkout.