Skip to main content

Building apps for customer accounts

Merchants use customer accounts to enable their customers to view their order history, check order statuses, edit their profile, and take actions related to their order.

Customer account UI extensions are only supported on the new version of customer accounts. Legacy customer accounts don't support customer account UI extensions. Learn more about customer accounts.

Tip

Determine the customer account version that a merchant's using by querying the CustomerAccountsV2 object.


Customers can navigate to their account from the online store, from order notification emails, or any custom entrypoint placed by the merchant.

If the customer isn't already logged in, clicking a link from an order notification email to view their order will bring them to the pre-authenticated Order status page. From there, if the customer tries to navigate to another page in their account, or tries to take an action, they’ll be prompted to log in. After the customer logs in, they're fully authenticated and able to access all customer account pages. Learn more about Order status page authentication states.

Using customer account UI extensions, apps can extend the functionality of existing customer account pages, as well as, create new pages (full-page extensions).

Note

Customer account UI extensions can be built using web components.

A diagram showing that a customer can navigate to their account from the online store, or from order notifications. Developers can build extensions for all customer account pages, and create full-page extensions to create new pages.

You can extend the following pages in customer accounts at defined extension targets:

Customer account pages
PageDescriptionExample use cases
Order index

The page that customers land on when they log in to their account. Provides a list of all the customer’s orders, including draft orders that they’ve been invoiced for.

Customers can take action on an order from this page, such as requesting a return.

Order actions, product suggestions based on order history, loyalty discount offers.
Order status

The page where customers can view, track, and manage a specific order.

Customers can take action on an order from this page, such as requesting a return.

Order actions, product reviews, surveys, order tracking, loyalty points earned.
Profile

The page where customers can manage their personal information, such as name and addresses.

For B2B customers, this page also includes company information.

Membership level, loyalty point balance, customer metafields.
New pagesApps can create new pages using full-page extensions, to support use cases that aren't suited to native pages.Wishlist, subscriptions, rewards, offers.

Order index

The Order index page showing three orders that contain various plants. One order is in the the Confirmed status, one in the Delivered status, and one is in the Out for delivery status.

Order status

The Order Status page showing the plants that are included in the order, the total cost of $1,220, the Delivered status, and order details such as customer contact information, shipping and billing address, and payment information.

Profile

The Profile page. The page shows the customer’s name, email, phone number, addresses, and saved payment methods.

To learn how to customize and extend customer accounts, read the following tutorials.


Anchor to Developer tools and resourcesDeveloper tools and resources

Note

If you're building an app that directs customer to the pre-authenticated Order status page, then you need to obtain level 2 permission for protected customer data. If you're sending transactional SMS on behalf of merchants then you should include the customer’s order number alongside any links to the Order Status Page.

After the customer logs in, they're fully authenticated and able to access all customer account pages. Using customer account UI extensions, apps can extend the functionality of existing customer account pages, as well as create new pages (full-page extensions). Customer account UI extensions can be built using web components.


Was this page helpful?