Full page
Customer accounts are getting layout and design updates. Enable the Customer account improvements feature preview to get early access. Review the feature preview overview and where extension targets will render in the new layout.
Customer accounts are getting layout and design updates. Enable the Customer account improvements feature preview to get early access. Review the feature preview overview and where extension targets will render in the new layout.
Full-page extensions allow you to create entirely new pages in customer accounts. They render in the main content area, below the header, and above the footer.
By default, when a merchant adds a full-page extension in the checkout and accounts editor, they're prompted to add it to the customer account header menu. Use the page component as the main container for placing content in your full-page extension.
Anchor to Use casesUse cases
- Wishlist: Build a dedicated page where customers can view and manage their saved products.
- Loyalty program: Display loyalty points, rewards tiers, and redemption options on a custom page.
- Return requests: Create an order-specific page where customers can initiate and manage product returns.
- Subscription management: Allow customers to view and manage their product subscriptions on a dedicated page.
- Custom order views: Build order-specific pages that display supplementary information such as warranty details or installation instructions.
Anchor to Full page targetsFull page targets
Full-page extensions support custom protocols and the Navigation API for in-extension routing.
A full-page extension target can't coexist with any other targets in the same extension. Each full-page extension must be defined in a separate [[extensions.targeting]] entry in your TOML configuration.
A full-page extension target can't coexist with any other targets in the same extension. Each full-page extension must be defined in a separate [[extensions.targeting]] entry in your TOML configuration.
Anchor to Customer account full page ,[object Object]Customer account full page target
customer-account.page.render
Renders a full-page extension in the main content area of customer accounts. Use this target for pages that aren't tied to a specific order, such as a wishlist or loyalty program page.
Supported components
- Abbreviation
- Announcement
- Avatar
- Badge
- Banner
- Box
- Button
- Button group
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Customer account action
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Image group
- Link
- Map
- Menu
- Modal
- Money field
- Number field
- Ordered list
- Page
- 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
Supported components
- Abbreviation
- Announcement
- Avatar
- Badge
- Banner
- Box
- Button
- Button group
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Customer account action
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Image group
- Link
- Map
- Menu
- Modal
- Money field
- Number field
- Ordered list
- Page
- 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
Anchor to Order-specific full page ,[object Object]Order-specific full page target
customer-account.order.page.render
Renders a full-page extension tied to a specific order in the main content area of customer accounts. Use this target for pages like return requests or warranty details. This target gives you access to order details through shopify.order, as well as line items through shopify.lines.
Supported components
- Abbreviation
- Announcement
- Avatar
- Badge
- Banner
- Box
- Button
- Button group
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Customer account action
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Image group
- Link
- Map
- Menu
- Modal
- Money field
- Number field
- Ordered list
- Page
- 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
- Authenticated Account API
- Authentication State API
- Buyer Identity API
- Cart Lines API
- Checkout Settings API
- Cost API
- Customer Account API
- Customer Privacy API
- Discounts API
- Extension API
- Gift Cards API
- Intents API
- Localization API
- Metafields API
- Navigation API
- Note API
- Order API
- Order Status Localization API
- Require Login API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
- Toast API
- Version API
Supported components
- Abbreviation
- Announcement
- Avatar
- Badge
- Banner
- Box
- Button
- Button group
- Checkbox
- Chip
- Choice list
- Clickable
- Clickable chip
- Clipboard item
- Consent checkbox
- Consent phone field
- Customer account action
- Date field
- Date picker
- Details
- Divider
- Drop zone
- Email field
- Form
- Grid
- Heading
- Icon
- Image
- Image group
- Link
- Map
- Menu
- Modal
- Money field
- Number field
- Ordered list
- Page
- 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
- Authenticated Account API
- Authentication State API
- Buyer Identity API
- Cart Lines API
- Checkout Settings API
- Cost API
- Customer Account API
- Customer Privacy API
- Discounts API
- Extension API
- Gift Cards API
- Intents API
- Localization API
- Metafields API
- Navigation API
- Note API
- Order API
- Order Status Localization API
- Require Login API
- Session Token API
- Settings API
- Shop API
- Storage API
- Storefront API
- Toast API
- Version API
Anchor to Best practicesBest practices
- Use the page component as the root container: Wrap your full-page extension content in a page component. It provides a consistent layout with support for headings, subheadings, and action slots (
primary-action,secondary-actions,breadcrumb-actions). - Choose the right target for the context: If the page needs access to order data, use
customer-account.order.page.render. Otherwise, usecustomer-account.page.render. - Handle route navigation within the extension: Use the Navigation API and
navigation.navigate()for programmatic in-extension routing. Use relative URLs or theextension:protocol with link components for declarative navigation. - Share direct links to the page: The URL for a full-page extension is static, so merchants can link customers directly to the page using the URL.
- Guard against missing data: When using
customer-account.order.page.render, always check thatshopify.order.valueis defined before rendering order-specific content. The order data loads asynchronously and may beundefinedon the initial render.