Skip to main content

Setting up Shopify New Customer Accounts

Shopify New Customer accounts (NCA) are compatible with Tapcart apps with some configuration to your Shopify storefront via Shopify's admin. Once you setup that configuration, steps outlined below, your app will use Shopify's New Customer Account portal as the default Account page in the app (replacing the Classic Accounts version provided by default).

Enabling authentication for new customer accounts in the Tapcart app requires specific configurations in Shopify. This guide provides an overview of the necessary steps to ensure a seamless login experience for your customers.

For more information on the differences between NCAs and the Classic Accounts, reference our comparison.

New Customer Account Activation Steps

Before getting started you will want to confirm your storefront has already activated New Customer accounts in your Shopify admin. If you have not already done that please review the New Customer Accounts Shopify Help Center article on how you can do so.

Add "Headless" App from Shopify App Store

Shopify is currently improving the way 3rd parties leverage New Customer Accounts however for the time being, in order for New Customer Accounts to work in the app you must add Shopify's Headless app from the App Store.

Note: Make sure to complete Step 6 in the list below otherwise an error will appear on the sign in screen in app.

  1. Visit Shopify App Store and install their Headless App (note: this is a free app as of writing this article)

  2. Click Create Storefront to begin creating a storefront

  3. Under "Manage API Access" click Manage on the Customer Account API

  4. Leave the Public (web app) option selected under the Client Type section.

  5. Copy your Client ID shown in the image below.
    Note: Shopify mentions avoiding sharing it but the token is actually accessible through network calls so it's not as risky as described.

    76476923-6321-44b7-9d19-ba65d7d003b4
  6. Find the Application Setup section and click the pencil to edit

    1. Add the following URL as a Callback URI so that Shopify knows who is the source authentication the customer: https://shopify-customer-accounts.vercel.app/auth/token

    2. Add the following URL as a Javascript Origins which allows customer access tokens to be refreshed: https://shopify-customer-accounts.vercel.app

      2024-12-13_14-54-06.png

Note: Ensure that your redirect/JavaScript origin and callback URIs match the values required by your headless app settings. Double-check for any extra spaces or characters in the URI strings, as mismatches can cause errors.

Send data to your Tapcart team to complete the integration

In order for the setup to be completed we need to add this information into our system. Please email the following to [email protected]

  • Client ID

  • Account Profile URL

This can take 24-48 hours to turn around so please account for that when making the request.

What happens next: Once you send your Client ID, the Tapcart team configures the integration on the backend. You will not see an immediate change in your app but the account screen will update once provisioning is complete. This typically takes 24–48 hours.

After Setup: Verifying the Integration is Active

Once Tapcart confirms your integration is complete, follow these steps to verify everything is working correctly:

  1. Open your live Tapcart app and navigate to the Account page.

  2. You should see Shopify's passwordless login screen (a prompt to enter an email address, followed by a one-time 6-digit code). If you still see the Classic Accounts email/password screen, the integration is not yet active.

  3. Test the login flow end-to-end: enter a customer email, receive the 6-digit code, and confirm the customer lands on their account page.

  4. If the login screen does not appear or returns an error, see the Troubleshooting Tips section below.

What existing customers will experience

Existing customers with Classic Accounts (email + password) will not be able to log in with their old password after the migration. On their next login attempt, they will be prompted to authenticate with a one-time email or SMS code instead. Their order history, addresses, and account data are preserved; only the login method changes.

Note: Multipass is not supported with New Customer Accounts. If your store relies on Multipass for single sign-on (SSO), do not migrate to New Customer Accounts until Shopify adds Multipass support. See our Classic vs. New Customer Accounts comparison for details.

Troubleshooting Tips

  • Errors when adding URIs: If you encounter errors such as “JavaScript origin is not valid,” review your URI settings to ensure they are accurate and free of trailing spaces or mismatched characters.

  • Login screen still shows Classic Accounts (email/password) after 48 hours: Confirm that you sent both your Client ID and Store ID to [email protected]. If you only sent the Client ID, reply to the same email thread with your Store ID. If you're unsure whether your request was received, email [email protected] referencing your original submission.

  • Customers report they can't reset their password: This is expected behavior after migrating to New Customer Accounts. Passwords are no longer used, customers authenticate with a one-time email code. Direct them to use the email login flow instead.

  • Error on the sign-in screen after setup: Confirm that Step 6 of the Headless App setup is complete. The Callback URI and JavaScript Origins must both be added exactly as specified. Even a trailing space in either URL will cause authentication to fail.

  • Headless app shows "Client ID" but you're unsure what to copy: The Client ID is the alphanumeric string displayed under the Customer Account API section after you click Manage. Copy the full string without any surrounding spaces and include it in your email to Tapcart.

Did this answer your question?