Header
The header area appears at the top of the checkout page, directly below the store logo and navigation. Extensions in this area add high-visibility content to the checkout experience that buyers see immediately on page load.
Anchor to Use casesUse cases
- Sitewide promotion banners: Display time-limited offers like free shipping thresholds or volume discounts based on the buyer's cart total.
- Loyalty program status: Show the buyer's loyalty points and how many they'll earn from the current purchase, with account creation prompts for new customers.
- Discount code automation: Detect when a buyer qualifies for an automatic discount and apply it, displaying a confirmation banner with the savings amount.
- Geo-targeted messaging: Display region-specific content like customs notices for international orders or currency conversion reminders based on the buyer's location.
Anchor to Header targetHeader target
Use this static extension target to extend the area directly below the checkout header. This target supports the full checkout component set, including form fields, banners, images, and interactive elements. The examples demonstrate using API methods for cart mutations and API properties for reading checkout state.
Anchor to Checkout header ,[object Object]Checkout header target
purchase.checkout.header.render-after
Adds persistent content directly below the checkout header. Like all checkout targets, this target has write access through API methods for cart lines, discount codes, gift cards, notes, attributes, metafields, and shipping address changes.
Extensions also have read access through API properties to shop information, buyer identity, cost breakdowns, cart lines, delivery groups, discount codes, localization, and other checkout state.
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: Layout shifts are highly visible in the header. If you load data asynchronously, use a skeleton paragraph or spinner to hold space while content loads.