Shopify Customer Accounts: Extensions, Legacy Status, Migration

Shopify customer accounts vs legacy accounts, the status of the legacy deprecation, what customer account UI extensions can add, and what to check before you upgrade.

In this guide
  1. Two versions of customer accounts
  2. Where the legacy deprecation stands
  3. What customer account UI extensions can add
  4. Limits and requirements
  5. What to check before you upgrade
  6. Mapping old customizations to new ones
  7. How a custom extension project runs
  8. Have it built
  9. FAQ

If your store still uses the old login and register pages built from theme Liquid templates, you are on legacy customer accounts, and Shopify has deprecated them. The replacement, now simply called customer accounts, works differently: customers sign in with a one-time code, the pages are hosted by Shopify, and you customize them with apps instead of theme code.

This guide explains the two versions, where the deprecation stands as of October 2026, what customer account UI extensions can add, and what to check before and after you upgrade.

Two versions of customer accounts

Legacy customer accounts Customer accounts (current)
Sign in Email and password Email and a one-time 6-digit code by default; Shop sign-in, Google and Facebook are options
Pages built with Theme Liquid templates under templates/customers Shopify-hosted pages, edited in the checkout and accounts editor
Customization Theme code Apps and customer account UI extensions, plus branding settings
Built-in features What your theme implements Store credit, self-serve returns, B2B and more, per Shopify’s changelog
Status Deprecated Where all new features ship

Per the help center, stores on Shopify Plus can also connect their own identity provider, which replaces the default sign-in experience.

Where the legacy deprecation stands

Shopify’s changelog entry of February 26, 2026 says:

  • Legacy customer accounts are no longer available to new stores, or to existing stores not already using them.
  • Shopify will stop feature updates and technical support for the older version.
  • A final sunset date will be announced later in 2026.

At the time of writing, we could not find an announced sunset date on Shopify’s changelog or help center, so check the changelog before you plan around one. The developer announcement adds that the legacy Liquid templates will eventually be locked from editing and then removed.

For apps and themes, the developer changelog is direct:

  • Apps that rely on legacy Liquid account pages won’t work for merchants on the current version; they should use customer account UI extensions.
  • Theme developers should remove legacy account Liquid files. A store on legacy accounts that switches to a theme without them is upgraded to the current customer accounts automatically.
  • Custom storefronts should use the Customer Account API for customer-scoped data instead of Storefront API customer mutations.

Shopify’s customer accounts developer guide puts it in one line: all merchants must upgrade to the latest version of customer accounts.

What customer account UI extensions can add

Customer account UI extensions are app components placed on the Order index, Order status and Profile pages, or added as pages of their own. Shopify notes they are only supported on the current version of customer accounts. From the targets reference:

Page Targets
Order index customer-account.order-index.block.render, customer-account.order-index.announcement.render
Order status customer-account.order-status.block.render, ...announcement.render, ...cart-line-item.render-after, ...cart-line-list.render-after, ...customer-information.render-after, ...fulfillment-details.render-after, ...unfulfilled-items.render-after, ...payment-details.render-after, ...return-details.render-after
Profile (all customers) customer-account.profile.block.render, customer-account.profile.announcement.render
Profile (non-B2B) customer-account.profile.addresses.render-after
Profile (B2B) customer-account.profile.company-details.render-after, ...company-location-addresses.render-after, ...company-location-payment.render-after, ...company-location-staff.render-after
Order actions customer-account.order.action.menu-item.render, customer-account.order.action.render
Full pages customer-account.page.render, customer-account.order.page.render
Footer customer-account.footer.render-after

The B2B profile targets only appear when the customer belongs to a company location. Merchants can also scope any extension to specific markets, including B2B company locations, in the editor.

Blocks and static targets

Block targets are placed by the merchant in the checkout and accounts editor, up to three extensions per block location. Static targets sit next to a page feature, such as payment details or return details, and only appear when that feature does.

The Order status page belongs here too. If you build for the page customers see after purchase, you use the customer-account.order-status targets, while the Thank you page uses checkout targets; see Shopify checkout UI extensions for those. Order status extensions are available on all plans except Shopify Starter, per Shopify’s checkout technologies page.

Order actions

Order action extensions add an item to an order’s action menu on the Order index and Order status pages, such as requesting a return or leaving a review. The menu item target places the button; the action target is the modal it opens, and that modal is a single step. A button can also link to an order-specific full page instead.

Full pages

Full-page extensions add a page for things the native pages don’t cover: wishlists, subscriptions, loyalty, returns. The rules:

  • customer-account.page.render is for pages not tied to an order. It allows direct linking by default, so merchants can add it to a menu or share the URL. Set allow_direct_linking = false to prevent that.
  • customer-account.order.page.render is for a page about one order. It cannot be linked directly; open it from an order action or an Order status extension.
  • A full-page target cannot share an extension with other targets, and each extension provides only one page.

Limits and requirements

From the extension reference:

Item Limit
Compiled bundle 64 KB, or 128 KB for full-page extensions
Merchant settings Up to 20 per extension
Extensions per block location Up to 3
Capabilities api_access (Storefront API), network_access (external calls, requested in the app’s settings), collect_buyer_consent (for example SMS marketing consent)
Customer data Extensions that access customer data need protected customer data access approved before going live

All targets can read and write metafields through the Customer Account API, and Order status targets can also read them through the Metafields API. That makes metafields the simplest way to show your own data, such as a warranty end date or a loyalty tier, without calling your server on every page view.

One more requirement from the developer guide: apps that send customers to the pre-authenticated Order status page need level 2 protected customer data permission. Customers who aren’t logged in are asked to sign in if they go further into their account.

What to check before you upgrade

Shopify’s upgrade guide walks through nine steps. The short version:

  1. List your legacy customizations. Look at the account templates in the theme editor and any .liquid files under templates/customers. Each one needs a replacement.
  2. Duplicate your checkout configuration in Settings > Checkout, so you can build and preview without customers seeing it.
  3. Replace customizations with apps. Add app blocks in the checkout and accounts editor, find apps in the App Store filtered by customer accounts, or add menu links to pages and external sites.
  4. Check branding across checkout and account pages.
  5. Optionally connect a subdomain, such as account.your-store.com.
  6. Confirm your sender email, since sign-in codes are sent by email.
  7. Publish the configuration. Your store keeps using legacy accounts until the final step.
  8. Test the new account URL with a test customer and every sign-in option you offer.
  9. Upgrade from Settings > Customer accounts.

What the guide warns about:

Area What changes
Custom sign-in or register pages May need theme edits; legacy account URLs, including hard-coded links, redirect automatically
Workflows built on legacy accounts Cannot be migrated
Segments using customer_account_status Won’t work as expected, with no equivalent filter
Passwords Gone; remove anything that relied on password reset emails
Sign-in page Logo, colors, fonts and brand image only, no blocks
Domains One customer account domain for all markets
Multipass (Plus) Existing integrations keep working
Market-specific customization Advanced or Plus only, per the customization help page

After upgrading, you can revert within 30 days.

Mapping old customizations to new ones

Legacy customization Current replacement
Extra fields on the account page Profile block extension reading and writing customer metafields
Loyalty or rewards page Full-page extension, linked from the account menu
Reorder or return buttons Built-in reorder and self-serve returns, or an order action extension
Warranty or tracking info per order Order status block or static target
B2B company details per location B2B profile targets
Custom login page Branding settings; a Plus identity provider if sign-in must go through your own system

Check the App Store first. Many loyalty, subscription, wishlist and returns apps already ship customer account extensions. A custom extension makes sense when the data comes from your systems, such as an ERP order history, a warranty database or contract pricing for B2B buyers, or when the page must do something no app does.

How a custom extension project runs

  1. Inventory what customers do in their account today and which parts are custom.
  2. Match each item to a built-in feature, an App Store app or a custom extension.
  3. Design the data: what lives in metafields and what needs your server.
  4. Request access early: protected customer data and network access.
  5. Build and preview with Shopify CLI on a development store, then on your duplicated configuration.
  6. Test every sign-in path and every market before you press Upgrade.
  7. Maintain the app as API versions move; see maintaining a custom Shopify app.

Have it built

If your account pages carry logic you can’t lose, or the upgrade surfaced gaps no app fills, it is a reasonable custom project. Our custom solutions page explains how the team behind Storefleet Store Ops takes on custom Shopify work and what to send us. For deciding between building and buying more broadly, read when to build a custom Shopify app and Shopify custom app vs public app. Related: POS UI extensions for in-store staff tools and custom reports with ShopifyQL for the back office.

FAQ

When will legacy customer accounts stop working?

Shopify deprecated them on February 26, 2026 and said a final sunset date will be announced later in 2026. Check Shopify’s changelog for the current date before you plan.

Can I add custom fields to the customer account profile?

Yes, with a profile block extension that reads and writes customer metafields through the Customer Account API.

Do customer account UI extensions work with legacy accounts?

No. Shopify states they are only supported on the current version of customer accounts.

Can I go back to legacy accounts after upgrading?

Within 30 days of upgrading, according to Shopify’s upgrade guide.

Can I keep password sign-in?

Not with Shopify’s own sign-in, which is passwordless. Stores on Shopify Plus can connect their own identity provider, which replaces the default sign-in experience.

Sign in to your workspace

Each workspace has its own address: <workspace>.getstorefleet.com. Enter your workspace name, or paste its address, and we take you to its sign-in page.

You will go to

New to StoreFleet? Create a workspace