Order summary
The order summary area on the Thank you page displays the purchased line items and order totals after the buyer completes their order. Extensions in this area help merchants build post-purchase engagement by surfacing product-specific instructions, review prompts, and follow-up actions alongside the order details.
The cart line item target doesn't render for custom line items belonging to draft order invoices.
Anchor to Use casesUse cases
- Product-specific post-purchase instructions: Show setup guides, care instructions, or download links for digital products next to each purchased item.
- Per-item review prompts: Invite buyers to leave reviews for individual products, linking directly to the review submission flow.
- Product registration and warranty activation: Prompt buyers to register specific products or activate warranties immediately after purchase.
- Post-purchase surveys: Collect buyer feedback through a compact form after the order summary.
- First-order welcome and onboarding: Display personalized welcome messages for new buyers with loyalty program enrollment or onboarding information.
- Referral program invitations: Generate shareable referral links or codes tied to the completed order for easy sharing.
Anchor to Line item targetsLine item targets
Use these static extension targets to extend the order summary line items area on the Thank you page. These targets support the full checkout component set, including form fields, banners, images, and interactive elements. The examples demonstrate using the Order API for order data and API properties for reading checkout state.
Anchor to Thank you cart line item ,[object Object]Thank you cart line item target
purchase.thank-you.cart-line-item.render-after
Renders on every line item in the order summary on the Thank you page, inside the details under the line item properties element. This target is instantiated once for each item in the order. To selectively show content for specific items, inspect the cart line data from target and return null for items where your extension doesn't apply.
This target receives additional cart line item properties that provide the specific cart line through the target property with access to merchandise details, quantity, cost, attributes, and discount allocations.
The Order API provides read access to order data, including the order number and whether it's the buyer's first order. Extensions also have read access through API properties to checkout state, including shop information, buyer identity, cost breakdowns, and cart lines. Write access isn't available on Thank you page targets because the order is complete.
Supported components
- Abbreviation
- Badge
- Banner
- Box
- Button
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Link
- Map
- Modal
- Money field
- Number field
- Ordered list
- Paragraph
- Password field
- Payment icon
- Phone field
- Popover
- Press button
- Product thumbnail
- Progress
- Qr code
- Query container
- Scroll box
- Section
- Select
- Sheet
- Skeleton paragraph
- Spinner
- Stack
- Switch
- Text
- Text area
- Text field
- Time
- Tooltip
- Unordered list
- Url field
Available APIs
- Addresses API
- Analytics API
- Attributes API
- Buyer Identity API
- Buyer Journey API
- Cart Instructions API
- Cart Lines API
- Checkout Token API
- Cost API
- Customer Privacy API
- Delivery API
- Discounts API
- Extension API
- Gift Cards API
- Localization API
- Localized Fields API
- Metafields API
- Note API
- Payments API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
Supported components
- Abbreviation
- Badge
- Banner
- Box
- Button
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Link
- Map
- Modal
- Money field
- Number field
- Ordered list
- Paragraph
- Password field
- Payment icon
- Phone field
- Popover
- Press button
- Product thumbnail
- Progress
- Qr code
- Query container
- Scroll box
- Section
- Select
- Sheet
- Skeleton paragraph
- Spinner
- Stack
- Switch
- Text
- Text area
- Text field
- Time
- Tooltip
- Unordered list
- Url field
Available APIs
- Addresses API
- Analytics API
- Attributes API
- Buyer Identity API
- Buyer Journey API
- Cart Instructions API
- Cart Lines API
- Checkout Token API
- Cost API
- Customer Privacy API
- Delivery API
- Discounts API
- Extension API
- Gift Cards API
- Localization API
- Localized Fields API
- Metafields API
- Note API
- Payments API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
Anchor to Thank you cart line list ,[object Object]Thank you cart line list target
purchase.thank-you.cart-line-list.render-after
Renders once after all line items in the order summary on the Thank you page. This target appears once per order, unlike the cart line item target, which is instantiated for each item.
The Order API provides read access to order data, including the order number and whether it's the buyer's first order. Extensions also have read access through API properties to checkout state, including shop information, buyer identity, cost breakdowns, and cart lines. The Storefront API is available through the query method for fetching additional data like product recommendations. Write access isn't available on Thank you page targets because the order is complete.
Supported components
- Abbreviation
- Badge
- Banner
- Box
- Button
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Link
- Map
- Modal
- Money field
- Number field
- Ordered list
- Paragraph
- Password field
- Payment icon
- Phone field
- Popover
- Press button
- Product thumbnail
- Progress
- Qr code
- Query container
- Scroll box
- Section
- Select
- Sheet
- Skeleton paragraph
- Spinner
- Stack
- Switch
- Text
- Text area
- Text field
- Time
- Tooltip
- Unordered list
- Url field
Available APIs
- Addresses API
- Analytics API
- Attributes API
- Buyer Identity API
- Buyer Journey API
- Cart Instructions API
- Cart Lines API
- Checkout Token API
- Cost API
- Customer Privacy API
- Delivery API
- Discounts API
- Extension API
- Gift Cards API
- Localization API
- Localized Fields API
- Metafields API
- Note API
- Payments API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
Supported components
- Abbreviation
- Badge
- Banner
- Box
- Button
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Link
- Map
- Modal
- Money field
- Number field
- Ordered list
- Paragraph
- Password field
- Payment icon
- Phone field
- Popover
- Press button
- Product thumbnail
- Progress
- Qr code
- Query container
- Scroll box
- Section
- Select
- Sheet
- Skeleton paragraph
- Spinner
- Stack
- Switch
- Text
- Text area
- Text field
- Time
- Tooltip
- Unordered list
- Url field
Available APIs
- Addresses API
- Analytics API
- Attributes API
- Buyer Identity API
- Buyer Journey API
- Cart Instructions API
- Cart Lines API
- Checkout Token API
- Cost API
- Customer Privacy API
- Delivery API
- Discounts API
- Extension API
- Gift Cards API
- Localization API
- Localized Fields API
- Metafields API
- Note API
- Payments API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
Anchor to Best practicesBest practices
- Reserve space for dynamic content: The order summary is visible throughout the Thank you page. If you load data asynchronously, use a skeleton paragraph or spinner to hold space while content loads.
- Use the Storage API to track interactions: Record whether a buyer has already submitted a survey or dismissed a prompt so it doesn't resurface on page refresh.
- Check
isFirstOrderfor personalization: UseorderConfirmation.value.isFirstOrderfrom the Order API to differentiate first-time buyers from returning customers and display appropriate messaging. - Keep per-item extensions lightweight: The cart line item target runs once for each item in the order. Avoid heavy network calls for each instance and consider caching data using the Storage API to reduce repeated requests.
- Use the cart line target property directly: In the cart line item target, read
shopify.target.valuefor the specific cart line rather than searching throughshopify.lines. The cart line item properties give you direct access to the attached line item.