UX for Thank you and Order status pages
This guide introduces UX guidelines for Thank you and Order status page customizations.
Anchor to Choosing placementChoosing placement
Before getting started, you first need to decide whether you want your extension to show up at a static target, or a dynamic target. Read the target framework to learn more. Choosing the right target approach is key to providing a great customer experience.
![The Order status page, with a highlighted section labelled "purchase.thank-you.block.render [OrderStatus1]".](/images/apps/checkout/thank-you-order-status/orderstatus1-extension-point.png)
In the example above, purchase.thank-you.block.render
is a dynamic extension point, which a merchant can place wherever they want. In this instance, the extension adds a post-checkout survey extension in OrderStatus1
above the customer information, because the survey feedback should be captured directly after the buying experience.
Anchor to Choosing componentsChoosing components
To understand the complete list of components needed to create Thank you or Order status page extensions, first consider the possible states for these extensions.

An extension has four possible states:
- Loading state. Learn more about requesting network access scope.
- Loaded (default) state.
- Processing state.
- Submitted state.
The submitted state doesn't need a success banner because the addition of the survey to the page indicates that the extension was rendered.
Anchor to Component listComponent list
To create the four possible states of a post-checkout survey extension, you need all the components listed in the following chart.
Component | Preview | Tips |
---|---|---|
SkeletonText | ![]() | Try to reflect the actual content's dimensions to keep placement from shifting when the content loads. |
View | ![]() | View is a generic container component. Its contents will always be the same size, so this component can be useful in layout components like Grid , BlockStack , and InlineStack that would otherwise stretch their children to fit. |
Heading | ![]() | Allow merchants to customize the header content and make it configurable from the checkout editor. |
Text | ![]() | Allow merchants to customize the text content and make it configurable from the checkout editor. |
ChoiceList | ![]() | Use choice lists to present a list of choices where customers can make a single selection or multiple selections. If possible, enable merchants to customize the OptionList content. |
Button | ![]() | Use secondary buttons here, reserving the primary button for the main call to actions (such as "Continue shopping"). |
Banner | ![]() | Use secondary buttons here, reserving the primary button for the main call to actions (such as "Continue shopping"). |
Anchor to Choosing a layoutChoosing a layout
When using a nested layout, you need only the following structural component:
Component | Preview | Tips |
---|---|---|
BlockStack | ![]() | BlockStack components can be nested with themselves or with other components. |
Use the BlockStack
component to vertically stack elements on top of each other.

Anchor to Nesting BlockStackNesting Block Stack
Spacing between the heading and content should be set to base
to keep it consistent with nested components. To address different spacing values, you can nest a BlockStock
inside of another BlockStack
component, as shown in the following image:

Anchor to Post-checkout survey UX guidelinesPost-checkout survey UX guidelines
To help merchants gain customer trust and to provide a great post-checkout experience, follow these guidelines when designing a post-checkout survey app extension.
Anchor to Display only one survey per sessionDisplay only one survey per session
Limit content so that customers aren't overwhelmed with information after they've completed their order.

Anchor to Give merchants control over survey contentGive merchants control over survey content
Merchants know their customers best and should have the flexibility to create surveys that relate to the shopping journey of their customers.

Anchor to Next stepsNext steps
- Use a checkout UI extension to add a post-checkout survey to the Thank you and Order status pages.
- Explore UX guidelines for the entire checkout experience.
- For practical guidance on how to design a user interface for the Shopify admin, refer to Shopify's App Design Guidelines.
- Get familiar with Polaris accessibility and content guidelines.