Decoding the Shopify "No Customer Found" 403 Error: A Community Deep Dive

Alright, fellow store owners, let's talk about those head-scratching moments when something critical breaks on your Shopify store, and all the usual settings look perfectly fine. I recently followed a fascinating discussion in the Shopify community that hit close to home for anyone who's ever upgraded to the new customer accounts and then faced an unexpected roadblock. It's a classic example of how deep you sometimes have to dig, and how invaluable community insights can be.

The issue, brought to light by TobiEcom, was a particularly nasty one: after switching to the new customer accounts, customers could log in successfully, receive their 6-digit code, and even have the account page start loading. But then, every single request to the /account/customer/api/unstable/graphql endpoint would return a dreaded 403 Forbidden with the message {"errors":[{"message":"No Customer Found"}]}. The page would then display "There was a problem loading this website," and clicking anything would log the customer out. Even worse, brand-new email addresses weren't creating customer records in the admin!

TobiEcom had already done their homework, checking all the usual suspects: incognito mode, different devices, customer account settings, checkout restrictions, no conflicting apps or UI extensions, and ensuring the store wasn't password-protected. Everything seemed in order, yet the problem persisted. This is where the community really shines, offering perspectives that go beyond the obvious.

The Payments Hold Connection: A Critical Clue

One detail TobiEcom mentioned really caught the attention of the community: "Earlier the same day the store showed a Shopify Payments hold ("payouts paused / customers can’t complete checkout"). That warning has since disappeared, but the login issue is unchanged."

This was the "aha!" moment for several contributors. Shawn-Z, a sharp community member, immediately connected the dots. He pointed out that the "No Customer Found" 403 on every Customer Account API call, occurring on the same day as a payments hold, strongly suggested an account-level flag rather than a simple settings problem. He even noted that Shopify's API docs list a 403 on that specific API as the shop being marked fraudulent. Frankybiz echoed this theory, suggesting an underlying risk review that triggered both issues, with the payments hold clearing but the customer accounts side remaining flagged.

This insight is crucial because it tells us that sometimes, issues aren't about what you've configured, but about something happening "behind the scenes" at a platform level. For anyone running their store on Shopify, understanding these deeper systemic issues can save hours of fruitless troubleshooting.

Suspect #1: The Hidden Account Flag (Most Likely Culprit)

Given the strong correlation with the payments hold, the community largely agreed that a hidden risk or fraud flag on the store itself was the most probable cause. Here's how you can investigate and tackle this:

How to Test for an Account-Level Flag:

  1. Manual Customer Creation Test: As Shawn-Z wisely suggested, try creating a customer manually in your Shopify admin using a fresh email address.
  2. Attempt Login: Then, try to log in with that manually created customer.
  3. Observe Results: If you still get the "No Customer Found" 403, it's a huge indicator. It means your store can't even look up existing customers, confirming it's not just an auto-creation issue, but a broader store-level restriction.

How to Escalate with Shopify Support:

Frontline support agents might not have visibility into these deep-seated account flags. So, when you contact them, be very specific:

  1. Provide Exact Details: Paste the exact 403 error body you're seeing (e.g., {"errors":[{"message":"No Customer Found"}]}).
  2. Include Timestamps: Provide specific timestamps for when the issue started and when you've reproduced it.
  3. Reference the Payments Hold: Crucially, mention the Shopify Payments hold that occurred earlier the same day. Emphasize the timing correlation.
  4. Ask Directly About Flags: Request that they check whether there's a risk or fraud flag on the shop itself. This specific phrasing helps them escalate to the right internal team who can see these flags.

Suspect #2: The Custom Subdomain Snafu

While the account flag was the lead suspect, Arslan_Shopify_Dev and max_froonze brought up another excellent point: custom subdomains. If you've set up something like account.your-shop.com for your customer account page, there's a chance its DNS might no longer be pointing correctly to Shopify, or there could be a configuration issue.

How to Check and Fix Custom Subdomain Issues:

  1. Identify Custom Subdomain: Check your Shopify domain settings to see if you have a custom subdomain configured for your customer accounts page (e.g., account.your-shop.com).
  2. Temporarily Disable: If you do, try disabling that custom subdomain temporarily.
  3. Revert to Default: Revert to using the default new customer account page on the Shopify domain.
  4. Test Again: Attempt to log in with a customer. If this resolves the issue, then the problem lies with your custom subdomain's DNS configuration, and you'll need to update its records to point correctly to Shopify.

It's fascinating how a seemingly straightforward error can have such complex, underlying causes. This community discussion really highlighted that when you're facing a persistent 403 "No Customer Found" error with your new Shopify customer accounts, especially if it coincides with other account-level warnings like a payments hold, the solution often lies beyond the visible settings. It's about looking for those hidden flags and ensuring all your domain configurations are perfectly aligned. Don't be afraid to push for deeper investigation with Shopify support, armed with the right details and questions, and remember to always consider your domain setup. Happy troubleshooting!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases