← Back to blogRSS feed

shopify / customer-accounts / b2b

Shopify Customer Accounts: The New Login Is Not a Theme Template

Shopify customer accounts use a 6-digit email code, not a theme login template. What changes on upgrade, the default shopify.com URL, and B2B sign-in.

If customers still type a password on a page that lives in your theme, you are on legacy customer accounts. Shopify customer accounts, the current version, ask for a one-time 6-digit email code on pages Shopify hosts outside the theme. Switching is an admin upgrade, not a restyle of customers/login.liquid.

Help marks legacy customer accounts as deprecated. You can revert an upgrade within 30 days. Classic customer accounts, the phrase many merchants still search, are this password login. There is no third version.

Shopify customer accounts in one paragraph (per Shopify Help, checked 2026-10-14): Customer accounts are the current login: the customer enters an email and a one-time 6-digit code, and a password is not required. Legacy customer accounts are the older login: email and password, built from theme templates such as Customer login. The new pages are managed in the checkout and accounts editor, separate from the theme. Until you connect a subdomain, they use a shopify.com URL such as shopify.com/1234567890/account. Legacy accounts are deprecated, and you can revert an upgrade within 30 days.

A woman in a white polo types on a rose-gold laptop at a wooden cafe counter, the screen turned away

The code arrives in the customer’s inbox. The page that asks for it is Shopify’s account host, not a login template in the theme.

Password page or six-digit code

Customer accounts Legacy customer accounts
Sign-in One-time 6-digit code by email. No password. Email and password.
Where it lives Checkout and accounts editor Theme templates and templates/customers
New customers Signing in with a new email creates the customer profile. No separate register page. The customer registers, or accepts an invite, before signing in.
B2B Supported. Buyers sign in with the code. Not supported.
Self-serve returns Supported, once you turn the switch on. Not supported.

The email code can show up as an autocomplete suggestion above the keyboard on iOS, so the customer does not have to switch apps to read it.

Sign in with Shop is another button on that same login, not a separate account product. If Shop Pay is on, Sign in with Shop appears automatically, on any plan. You manage it in Settings → Customer accounts. The customization guide describes that Shop Pay path: a customer Shop already recognizes can sign in with one click. If Shop does not recognize them, the email can lead to an SMS code on the phone number saved in Shop, or back to email if no phone is saved. On legacy accounts, Sign in with Shop is a setting you turn on yourself.

Google and Facebook are optional on the new login. A Shopify Plus store can connect its own identity provider, and that connection replaces the default sign-in. The code email and the social buttons are not used on those stores.

Customers stay signed in for up to 365 days. A return visit inside that window does not ask for the code again. Neither that page nor the customization guide describes a setting that changes the window. Details stored on the account are filled in at checkout.

The new login is not a theme template

Legacy pages are theme files. In the theme editor they sit under Legacy customer accounts: Customer account, Customer activate account, Customer addresses, Customer login, Customer order, Customer register, and Customer reset password. In the code editor they are the templates under templates/customers. Branding for those pages comes from the online store theme.

The new pages do not. Help says customer accounts are managed separately from the theme, so a theme update does not rewrite the account experience, and new account features do not wait on a theme release. Branding comes from the checkout and accounts editor: the logo, colors, and fonts shared with checkout, with overrides for the account header and for the sign-in page. The sign-in page can take its own logo, colors, and a hero image that displays only on desktop. You cannot add app blocks to the sign-in page.

What the theme still controls is the entrance. Show sign-in links, under Settings → Customer accounts, puts a link in the header and at checkout. The theme decides whether that link is a person icon, the customer’s initial, or the words “Sign in” or “Account”. Turn the links off and customers cannot sign in from the store. The account menu disappears with them.

An account component in the theme is optional. It offers the same sign-in choices on the storefront, so the customer can sign in and stay on the shop instead of leaving for the account host. That is a component you add. Editing customers/login.liquid does not create it.

After you upgrade, Shopify redirects legacy account URLs, including /account/login and hard-coded links in the theme, to the new accounts. A custom sign-in you built somewhere else, a modal or a page that is not those templates, is not part of that redirect. Remove or repoint it before you upgrade.

Liquid changes on the legacy templates do not move across. Replace the ones you still need with apps that work with customer accounts, and add their blocks in the checkout and accounts editor. If a subscription link or a loyalty block lives only in that Liquid, it is gone on the day you click Upgrade.

Publishing the configuration is not the upgrade

Duplicate the checkout configuration under Settings → Checkout, and do the new branding and app blocks on the copy. Publishing that copy makes it the live checkout and account configuration. The online store and checkout still send people to legacy accounts until you finish the upgrade.

Test before that click. Settings → Customer accounts shows a URL. Open it in a new tab. With a subdomain, it looks like account.your-store.com. Without one, it is https://shopify.com/{your-store-ID}/account. Sign in as a test customer with the code email, and with Shop or social sign-in if you offer them. If a Plus identity provider is connected, test that provider. The code email is not the path on that store.

The code is sent from your sender email. If you cannot open that mailbox, you cannot see what customers receive. You also cannot edit the default wording of that verification email.

Upgrade from Settings → Customer accounts, using the Upgrade banner. You can revert within 30 days.

shopify.com or your own account subdomain

Until you connect a subdomain, the sign-in page, the orders page, the profile page, and the order status page use a shopify.com host. Help’s examples are a sign-in link similar to shopify.com/authentication/1234567890/login and an orders URL similar to shopify.com/1234567890/account/orders. The number is your store ID.

The subdomain is built from the store’s primary domain. Entering account produces account.your-store.com. Customers then sign in at account.your-store.com/authentication/login and open orders at account.your-store.com/orders. Change the primary domain under Settings → Domains and the account host follows it. One subdomain covers every market. Market-specific account domains are not supported.

You can connect the subdomain while you are still on legacy accounts. Legacy login URLs stay put until the upgrade. Order status is the exception: once the subdomain is the primary domain for customer accounts, order status uses it even if you have not upgraded.

For a domain Shopify manages:

  1. Go to Settings → Customer accounts and click Change domain.
  2. Enter the label, such as account, and save.
  3. Wait. Help says propagation and verification might take up to 48 hours.
  4. Go to Settings → Domains, open the subdomain under Customer Account, and set Type to Primary domain.

Customers do not see the subdomain until that primary step.

For a third-party domain, the same dialog uses Continue. At the registrar, add a CNAME whose host is the label you chose (account) and whose target is shops.myshopify.com. Back in Shopify, click Verify connection. The same “up to 48 hours” note applies, and you still mark the subdomain primary. Shopify Support cannot log in to the registrar for you.

If Google, Facebook, or your own identity provider is already connected, add the new host to that provider before you change the domain in Shopify. Change the domain first and customers cannot sign in until the provider is updated. Leave the old host in the provider until sign-in and sign-out both work on the new one.

Pixel tracking is a second reason to connect one. The customization guide says pixel support on customer account pages requires a custom subdomain. After you create that subdomain, installed pixel apps record page_viewed on those pages, including pages added by apps. Those apps are listed under Settings → Customer events.

B2B buyers use this login

Shopify B2B does not accept legacy customer accounts. The buyer has to be assigned to a company location, then sign in with that email and the same six-digit code. Help also calls the code a one-time PIN. There is no password on this login.

One store uses one version of customer accounts. B2B requires the new version, so turning it on switches your retail customers too. An email that is not on a company location, or a visitor who never signs in, is a D2C customer. The company-location link on the email decides who sees B2B products and pricing.

Company records and catalogs are a separate setup from this sign-in. This page only covers how those buyers authenticate.

Settings → Checkout → Customer information applies to D2C checkout fields. B2B buyers are not asked for those fields, even when you mark them required.

What does not survive the upgrade

  • Segments filtered on customer_account_status stop meaning what they meant. That filter is legacy-only. The new accounts have no replacement filter, and the status does not change when someone signs in with a code.
  • The Flow triggers customer account enabled and customer account disabled read that same legacy status. A welcome email or a first-sign-in tag built on them will not fire after the upgrade.
  • You cannot turn off one new account. Deleting the customer profile removes it, and the next sign-in with that email creates the profile again. Changing the email does not merge two profiles. Marketing consent stays as it was when the email changes. A customer who signs in through an external identity provider cannot edit their email from the account page.
  • Passwords are not a default option. The code is how Shopify checks that the person has the inbox, and there is no password to reset. A Plus identity provider can still offer passwords if that provider supports them. That login belongs to the provider. It is not the theme password page coming back.
  • For regular shoppers, saving cards in the account is limited to Shopify’s Enterprise offering, including commerce components. Shop Pay covers fast checkout for everyone else. B2B buyers can use vaulted cards on any plan. Customers who sign in with Multipass are asked for the card CVV when they pay with a saved card.
  • Multipass on Shopify Plus keeps working after the upgrade, for API sign-in and URL sign-in, with the same secret. Manage it under Settings → Customer accounts → Authentication. If the setting is missing, Help says to contact Shopify Support.

Self-serve returns need the new accounts

The comparison gives self-serve returns to the new accounts and not to legacy ones. Turning them on is still its own switch under Settings → Customer accounts. The return window, the fees, and final-sale items are not set on this screen. How those rules relate to the policy page your customers read is covered in Shopify return policy. Legacy accounts are one reason that self-serve switch does nothing.

Before you click Upgrade

  1. See which version Settings → Customer accounts is linking to.
  2. List the legacy template customizations you still need, and plan app blocks for those. Leave the rest.
  3. Confirm you can read the sender mailbox.
  4. If you want a branded host, connect the subdomain and set it as primary before the upgrade. Update the identity provider or social sign-in first when either is already on.
  5. Publish the checkout configuration, open the account URL, sign in as a test customer, then click Upgrade.
  6. For B2B buyers, confirm the email is on a company location before you send the sign-in link.
  7. Turn on self-serve returns only after customers are reaching these accounts.

FAQ

Are classic customer accounts the same as legacy customer accounts?

Yes. Help’s name is legacy customer accounts: an email, a password, and theme templates. “Classic” is a search phrase, not a third product.

Can I build the new login by editing the theme?

No. Theme edits change the legacy templates, or they add an account component that hands the customer to the new host. The sign-in page itself is the checkout and accounts configuration. A subdomain changes the hostname. It does not decide which system answers.

What if I never connect an account subdomain?

Customers use the shopify.com URLs, including order status. Sign-in still works. You do not get a branded host, and pixel apps do not track the account pages.

Do B2B buyers get a password?

Not on this login. They use the six-digit code for the email on their company location. A legacy password page cannot be the B2B sign-in.

Sources