Skip to main content

Add pages to customer accounts

Merchants have diverse needs and some use cases won't fit into extension targets on existing customer account pages. For example, to create extensions for popular use cases like loyalty programs, wishlists, subscriptions, returns, and exchanges, a separate page is required. In these cases, build a full-page extension.

Full-page extensions render UI in a new page, below the header and above the footer.

A desktop view of the header and footer of customer accounts. The entire main content area between the header and footer is occupied by a large blue dotted-line box that says Full-page extension, indicating that this area can be populated by a full-page customer account UI extension.

There are two full-page extension targets available:

  • customer-account.page.render: Use this extension target if the page you’re building is not tied to a specific order.

  • customer-account.order.page.render: Use this extension target if the page you’re building is tied to a specific order.

    Each full-page extension has a unique URL. You can build other extensions that link to a full-page extension URL.

Anchor to Allow or prevent direct linkingAllow or prevent direct linking

Full-page extensions using the customer-account.page.render extension target allow direct linking by default. Merchants can add the link to these full-page extensions to their online store or customer account navigation menus. They can also copy the page URL and add it anywhere.

The following video shows the merchant experience of adding a page to the customer account menu:

To prevent direct linking, specify using allow_direct_linking = false in your extension configuration file.

shopify.extension.toml

[[extensions.targeting]]
module = "./src/FullPageExtension.jsx"
target = "customer-account.page.render"

[extensions.targeting.capabilities]
allow_direct_linking = false

Full-page extensions using the customer-account.order.page.render target do not allow direct linking. To link to your full-page extension, create an order action extension or inline extension on the Order status page.


Each extension can only extend the full-page extension target once. You can create multiple new pages by creating multiple extensions. It's best to use one page per use case.

A full-page extension target (customer-account.page.render or customer-account.order.page.render) cannot coexist with any other targets in the same extension.


Anchor to Developer tools and resourcesDeveloper tools and resources



Was this page helpful?