Why does Shopify show the wrong order count for one of my customers?

A customer's order count in Shopify admin doesn't match what you see when you actually look at their orders. Here's why the numbers diverge and how to find the real total.

customersordersAPIcustomer profilesdata accuracy

What's going on

A merchant looks at a customer's profile in Shopify admin and sees an order count that doesn't line up with what shows on the Orders page when filtered by that person's email, sometimes higher, sometimes lower than expected. It's disorienting because the number seems like it should be a simple, authoritative fact, yet it changes depending on where you look: the Customers list, the individual profile, a CSV export, or an API call.

The most common cause isn't a counting bug at all, it's that the same real-world customer has more than one customer profile in the store. This happens easily: a shopper checks out as a guest with one email, later creates an account with a slightly different address or a typo, orders again over the phone with staff entering details by hand, or places a wholesale or POS order filed under a separate profile. Each profile carries its own independent order count, so the person's true lifetime total is split across records and no single number tells the whole story.

A second, less obvious cause is that 'order count' isn't one fixed definition. Cancelled orders, refunded orders, and test orders placed through a sandbox payment method can still be attached to a customer's history and counted, even though a merchant mentally excludes them from their own tally. Depending on whether you're reading the Customers list, the profile page, a report, or an API field, the number can reflect a slightly different scope or lag by a short delay, which is enough to make two numbers that both come from Shopify look inconsistent.

Why it happens

Shopify creates a new customer profile whenever it can't confidently match an incoming order to an existing one: a different email, a different phone number, a name typo, or an order placed through a different channel with slightly different contact details. Each of those profiles accrues its own order count independently, so a customer who has genuinely ordered five times might show up as two profiles with counts of three and two, and neither number is 'wrong' on its own, they're just incomplete halves of the same picture.

On top of that, there isn't one single canonical 'valid orders only' number exposed everywhere by default. The raw order count in most admin views is closer to a lifetime count of everything attached to that customer, including cancelled orders and orders placed for testing, unless you actively filter the Orders page by status yourself. Merchants comparing that raw count to a manual tally of what they consider 'real' completed sales will naturally see a mismatch that isn't a data error, just a difference in scope.

5 ways to fix it

1

Check for duplicate customer profiles first

Before assuming the count is wrong, search Customers for the person's name and every email or phone variant you have on file. If a guest checkout, a POS sale, or an app created more than one profile for the same shopper, each profile carries its own separate order count, and none of them shows the true total. Shopify has a feature for merging duplicate customer profiles into one record from the customer's page; use it to consolidate their history so the order count recalculates against a single merged profile.

2

Confirm you're comparing the same thing

The count shown in the Customers list, the count on an individual profile, a number pulled from the Admin API, and a manual count from the Orders page can each be scoped slightly differently, and some admin views take a short time to catch up after an order changes status. Before treating this as a bug, filter the Orders page by that customer's email and check the status of every order side by side with whatever number looked off.

3

Decide whether cancelled and test orders should count

An order that was later cancelled or refunded, or a test order placed while setting up payments, can still be attached to a customer's history and included in the count even though you don't think of it as a real sale. There's no single toggle to strip these out of the raw total; you have to filter the Orders page by that customer and check status directly if you need a 'completed orders only' figure instead of the lifetime count.

4

Pull the number from the Admin API if you're reconciling programmatically

If you're syncing order counts into a loyalty program or CRM, query the customer's order count directly through the Admin GraphQL API rather than relying on what different admin screens render, and pair it with a query of that customer's associated orders so you can see exactly which ones are being counted and check their statuses yourself.

5

Use a dedupe app only if this keeps happening at scale

If duplicate profiles are a recurring problem, common with guest checkout, POS, or wholesale orders using slightly different contact details each time, a customer-data cleanup app that flags and merges duplicates on a schedule may be worth it. For a one-off cleanup, Shopify's own merge feature is enough and costs nothing.

Bottom line

Most "wrong" order counts trace back to one of two things: the same person has more than one customer profile splitting their history across records, or you're comparing views that scope "order" differently, such as one that includes cancelled or test orders and one that doesn't. Start by merging any duplicate profiles and filtering the Orders page by that customer's email to see the real breakdown before assuming anything is broken. Only reach for a cleanup app if duplicate profiles are a recurring, store-wide pattern rather than a one-off.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.