Shopify Customer Accounts vs Classic Accounts — what changed and what breaks

Shopify replaced classic customer accounts with a new flow. The migration is automatic but the implications aren't. Here's what to know.

Shopify rolled out new Customer Accounts as the default, replacing the legacy Classic Accounts experience. For most stores the migration is invisible. For stores running loyalty, subscription, or any kind of customer portal customisation, it isn’t. Here’s the briefing.

What’s different

Classic Accounts were the email-and-password login flow Shopify shipped for years. Customers got a static account page (orders, addresses) at /account. Themes could customise the markup directly.

New Customer Accounts are passwordless by default — the customer enters an email, gets a one-time code, signs in. The account page is hosted by Shopify (shop.com/account redirects to a Shopify-hosted UI), and customisation is via app extensions.

The two experiences differ in:

  • Auth flow — passwordless code vs. password
  • Hosting — theme-rendered vs. Shopify-hosted
  • Customisation — theme files vs. account UI extensions
  • Permissions — slightly different scopes for apps reading customer data

What “automatic” actually means

Shopify is migrating stores in waves. New stores get New Accounts by default; legacy stores get pushed over a Settings → Customer accounts toggle. The customer’s email + password still works (they get a one-time code instead of a password prompt) — Shopify doesn’t lose data.

What can go sideways:

  • Loyalty apps that rendered widgets on the legacy account page. They need to be replaced with App Extensions for the new account UI, or the loyalty status disappears from the customer’s portal.
  • Subscription apps that linked the customer to a “Manage subscription” portal hosted on a custom URL. Those URLs may still work, but the navigation in the new account page might not point to them automatically.
  • Custom account templates. Any work you did to redesign customers/account.liquid is dead — that template no longer renders for stores on New Accounts.
  • Embedded shop apps. Some apps assumed customer login would happen at a theme URL; new accounts redirect to a Shopify subdomain that breaks the assumption.

The right migration steps

If you haven’t migrated:

  1. Inventory anything customer-facing. What pages, widgets, or apps render specifically because the customer is logged in?
  2. Check each app’s New Customer Accounts support. Most major apps (Klaviyo, Loyalty Lion, Recharge, Yotpo) have this — older or smaller apps may not.
  3. Migrate in a draft / dev store. Toggle the setting, walk through every customer flow.
  4. Plan for the disappeared template. If you had heavy custom account UX, decide if the new account portal is enough, or whether you need a UI Extension to add features back.
  5. Communicate the change. A short customer email saying “you’ll now get a code instead of a password” cuts support tickets in half.

Things customers complain about

Predictable feedback after migration:

  • “I’m being asked for a code every time.” The fix is to configure session length under Customer Accounts settings. Default is short; bump it to 14–30 days for low-friction stores.
  • “I can’t reset my password.” There is no password to reset. The codes ARE the auth. Educate via the FAQ.
  • “I can’t see my loyalty points.” This is the loyalty app’s problem; nudge the app vendor.

When you should NOT migrate yet

  • If you’re on a heavily customised theme account experience that earns money (e.g. portfolio of saved orders, complex B2B catalogues per customer), and you don’t have time to rebuild that as App Extensions.
  • If you use a niche subscription or B2B app that hasn’t shipped New Accounts support.
  • If you’re 90% of the way through a major launch — punt the migration to post-launch.

For everyone else: the migration is fine, the customer experience is better on average, and it’s coming whether you want it or not.

A note on B2B

If you run B2B (Plus + Companies), the New Accounts flow is materially better — it integrates Companies, Locations, and quotas into the same login session. Stores on legacy accounts had to bolt B2B onto the side; new accounts treat it natively. This alone is reason to move.

— Read next

How to build a custom product configurator on Shopify (without an app)

— Hit a wall?

We can help building properly?