Cleaning up duplicate customers in Shopify

Shopify can merge two customer profiles into one, and has since 2022. What it cannot do is find the duplicates, or merge more than two at a time from the admin — which is exactly where a store with thousands of them gets stuck. Here is what the merge actually keeps, and the part you will have to organise yourself.

Shopify can merge two customer profiles into one, and it has been able to since October 2022. What it cannot do is tell you which profiles are duplicates, or merge more than two at a time from the admin. For a store with a handful of repeats that is a few minutes of work. For a store with four thousand, it is the whole problem.

How a merge works, and what it keeps

From Customers, open one of the two profiles, choose More actions → Merge customer, and search for the other by name, email, phone number or card number — or tick both in the customer list and choose Merge. Shopify then shows you which details it will keep and which it will discard, and you confirm.

Almost everything comes across. Shopify's own list: "Orders, Draft orders, Addresses, Email address, Phone number, Name, Notes, Tags, Tax settings, Timeline events, Credit cards, Customer accounts, Gift cards, Discounts". If one profile had agreed to email or text marketing and the other had not, "the merged profile is subscribed."

Which profile survives depends on email addresses. If only one of the two has an email, that one remains. If both do, the profile whose email you chose to keep remains. If neither has an email — two card-name profiles, say — the one you searched for under Find a customer to merge with remains. It is worth deciding deliberately, because the surviving profile keeps its own customer ID — anything outside Shopify that listens for the merge follows the survivor, and Klaviyo, for one, does not listen.

Two things to know before you press the button. "After the profiles are merged, you can't reverse the process." And "The customer isn't notified when you merge their customer profiles."

And one thing that stops a merge before it starts. Nine situations block it outright — a subscription the customer has ever had, a saved payment method, store credit, a link to a B2B company among them. They are the reason some duplicates can never be cleaned up, and they have a page of their own.

Why there are duplicates at all

Shopify does not let two customers share an email address or a phone number. So every duplicate you find is one of two kinds: the same person under a second email, or a profile with no email or phone at all — often one your POS created from the name on a card, which has its own page.

That matters for the most common piece of advice you will find, which is to export your customers, tidy them in a spreadsheet and import them back with Overwrite existing customers that have the same email or phone number ticked. The label says what it matches on — which is precisely the case that cannot be a duplicate. It will not merge two profiles with different emails. A spreadsheet is a good way to find duplicates; it is no way to fix them.

Thousands of duplicate customers to clean up? Describe how your duplicates look →

When there are thousands

Shopify does not find them for you. Its own announcement of the merge feature put that job on the merchant — "First, identify duplicated customer profiles with the same name, phone number, email address, or another overlapping attribute." There is no report, filter or segment that compares one customer with another. A member of Shopify's team wrote in 2022 that surfacing duplicates was among the "top problems our team is working to solve"; it has not shipped since.

And the admin merges them in pairs. "To merge more than 2 customers together, repeat the procedure for each additional profile." Four thousand duplicates is four thousand confirmations.

That two-at-a-time limit belongs to the admin screen, not to Shopify itself. The same merge exists as an API call, which runs as a background job and can be run for a whole list of pairs, one after another, rather than clicked through — so a large clean-up is a matter of building the list of pairs and running them, not of clicking. What it still needs is somebody to decide which profiles are the same person, because that judgement is the part no platform makes for you: two customers called J. Smith are not necessarily one.

Which route is yours

What you need Where it comes from
Merge two profiles Native — Customers → More actions → Merge customer
Merge a third into them Native — repeat the merge
Find which profiles are duplicates Not native — no report or filter compares customers
Merge hundreds or thousands Not in the admin — the same merge, run through the API
Undo a merge Not possible
Merge profiles Shopify refuses Not possible — link them instead

What Shopivibe does

For two or three duplicates: use the admin. It is quick, it is Shopify's own, and it shows you exactly what it will keep.

Where this becomes worth asking for is scale: "find every customer who is obviously the same person — same name and postcode, one with an email and one without — and merge them, keeping the one with the email." That is two jobs, finding and merging, and Shopify does neither in bulk.

Two things to say plainly. The matching rule is yours to agree, because deciding that two profiles are one person is a judgement, and a wrong merge cannot be undone. And the finding and the merging are both built for you — the list of pairs is built on the criteria you agreed and the merges run from it, rather than switched on. A person here takes it on straight away and has it working in your store within 24 hours.

Shopivibe solves the problem in your store and keeps what it adds maintained, including when Shopify changes something underneath. Shopivibe is free during early access, with 3,500 credits included. Credits beyond the included 3,500 cost $0.06 each.

Know which of your customers are really the same person? Describe it in your own words →

Checked against Shopify's documentation and the App Store on 22 September 2026.