--- title: Create multi-page extensions description: Learn more about building extensions that can render on any checkout page. source_url: html: 'https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions' md: 'https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md' --- ExpandOn this page * [What you'll learn](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#what-youll-learn) * [Requirements](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#requirements) * [How it works](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#how-it-works) * [Pre-purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#pre-purchase) * [Post-purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#post-purchase) * [Pre and post purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#pre-and-post-purchase) * [Testing the extension in the checkout editor](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#testing-the-extension-in-the-checkout-editor) * [Next steps](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#next-steps) # Create multi-page extensions In this tutorial, you'll learn how a UI extension can target checkout, the **Thank you** page, the **Order status** page, or all of the above, to create a seamless experience for merchants and their customers. *** ## What you'll learn In this tutorial, you'll learn how to create a checkout UI extension that can render in checkout, the **Thank you** page, the **Order status** page, or all three areas. *** ## Requirements * You're familiar with [**Thank you** and **Order status** page checkout UI extensions](https://shopify.dev/docs/apps/build/checkout/thank-you-order-status). - You're a [user with app development permissions](https://shopify.dev/docs/apps/build/dev-dashboard/user-permissions). - You've created a new [development store](https://shopify.dev/docs/api/development-stores) with the following: * [Generated test data](https://shopify.dev/docs/api/development-stores/generated-test-data) * [Checkout and Customer Accounts Extensibility](https://shopify.dev/docs/api/developer-previews#checkout-and-customer-accounts-extensibility-developer-preview) feature preview enabled - You've [created an app that uses Shopify CLI 3.85.1 or higher](https://shopify.dev/docs/apps/build/scaffold-app). *** ## How it works You can use a [checkout UI extension](https://shopify.dev/docs/apps/build/checkout/thank-you-order-status) to add custom content across multiple pages of checkout. Depending on the page and state of Shopify’s internal order processing, the targets and APIs available to extensions can vary. A multi-page extension can be used to add custom content such as final sale details, upsells, surveys and more. The following examples demonstrate how to use targets to target different parts of the flow, depending on your use case. *** ## Pre-purchase You can configure a UI extension to display before a purchase is completed by using the `purchase.checkout.cart-line-item.render-after` extension target. This means that merchants can place the extension on the information, payment and shipping steps of checkout (pre-purchase). ## shopify.extension.toml ```toml [[extensions.targeting]] target = "purchase.checkout.cart-line-item.render-after" module = "./src/Checkout.tsx" ``` ![An image that shows a UI extension in the order summary displaying that the product cannot be shipped to PO boxes](https://shopify.dev/assets/assets/images/apps/checkout/thank-you-order-status/pre-purchase-extension-rendering-DF9XxBBY.png) *** ## Post-purchase You can configure an extension to display after a purchase is completed by using both the `purchase.thank-you.cart-line-item.render-after` and `customer-account.order-status.cart-line-item.render-after` extension targets. This means that merchants can place the extension on the **Thank you** and **Order status** pages (post-purchase). ## shopify.extension.toml ```toml [[extensions.targeting]] target = "purchase.thank-you.cart-line-item.render-after" module = "./src/ThankYou.tsx" [[extensions.targeting]] target = "customer-account.order-status.cart-line-item.render-after" module = "./src/OrderStatus.tsx" ``` ![An image that shows an extension in the order summary displaying expected shipping delays](https://shopify.dev/assets/assets/images/apps/checkout/thank-you-order-status/post-purchase-extension-rendering-D8hBfgSA.png) *** ## Pre and post purchase You can configure an extension to display on all areas of the checkout by combining the `purchase.checkout.cart-line-item.render-after`, `purchase.thank-you.cart-line-item.render-after` and `customer-account.order-status.cart-line-item.render-after` extension targets. ## shopify.extension.toml ```toml [[extensions.targeting]] target = "purchase.checkout.cart-line-item.render-after" module = "./src/Checkout.tsx" [[extensions.targeting]] target = "purchase.thank-you.cart-line-item.render-after" module = "./src/ThankYou.tsx" [[extensions.targeting]] target = "customer-account.order-status.cart-line-item.render-after" module = "./src/OrderStatus.tsx" ``` ![An image that shows a UI extension in the order summary final sale, no returns or exchanges](https://shopify.dev/assets/assets/images/apps/checkout/thank-you-order-status/persistent-extension-rendering-C_bvXi-e.png) *** ## Testing the extension in the checkout editor 1. Follow the guide to [test an extension in the editor](https://shopify.dev/docs/apps/build/checkout/test-checkout-ui-extensions#test-the-extension-in-the-checkout-editor) 2. Use the dropdown list at the top of the page to navigate to the **Thank you** and **Order status** pages. Note In a future release, we'll improve the extension installation in the editor to enable merchants to add an extension to multiple pages at once and share configuration between each placements. *** ## Next steps [Get started with editor extension collections\ \ ](https://shopify.dev/docs/apps/build/customer-accounts/editor-extension-collections) [Get started with building editor extension collections to group multi-page extensions](https://shopify.dev/docs/apps/build/customer-accounts/editor-extension-collections) *** * [What you'll learn](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#what-youll-learn) * [Requirements](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#requirements) * [How it works](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#how-it-works) * [Pre-purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#pre-purchase) * [Post-purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#post-purchase) * [Pre and post purchase](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#pre-and-post-purchase) * [Testing the extension in the checkout editor](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#testing-the-extension-in-the-checkout-editor) * [Next steps](https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions.md#next-steps)