What you will learn
On this pageContentsCloseOpen
Your repeat-customer rate looks worse than it is. One shopper sits in the customer list three times — a guest checkout, a POS sale, and the account they created later with a slightly different email. Klaviyo bills you for all three and emails the same person twice.
The question most merchants search at this point is whether Shopify can merge duplicate customers at all. It can. Merge customers is a documented admin action, and no plan restriction is documented on the Help Center page describing it. Articles still claiming Shopify has no native merge are out of date.
So the useful question is different: what does the native merge refuse to touch, and what happens to those profiles. Shopify publishes that answer, and the list is longer than most write-ups admit — nine documented conditions, several of them permanent. Any profile that has ever had a subscription contract is blocked forever, active or not.
That shapes app selection more than any feature grid does. Three of the four dedicated apps disclose Shopify's Merge customers permission in their App Store data access, and the Admin API's customerMerge mutation takes exactly two customer IDs per call. An app offering bulk merge is looping that mutation, inheriting all nine restrictions and the same irreversibility. What an app genuinely adds is detection — Shopify surfaces no duplicates at all — and scale.
A warning about the evidence: this category is thin and young. Two of the four dedicated apps have zero reviews, and the highest-reviewed has nine. This article covers what each app publishes and what permissions it holds, not how any of them behaves at volume. Research date: September 3, 2026. Prices in USD.
Why duplicates accumulate on Shopify specifically
Shopify identifies a customer by email address, and an order by the email on that order. The Help Center states the consequence: "Orders are permanently associated with the customer account that placed them." You cannot move an order to another customer, because its email is the unique identifier. Shopify's documented remedy is the one on that same page: "If you need to associate orders with a different customer account, then you can merge customer profiles."
That design choice generates the duplicates. A guest checkout under [email protected] creates a profile that will never join the account under [email protected]; a POS sale captured with a phone number and no email creates another. Shopify's customer documentation describes no duplicate-detection surface. The merge flow assumes you already know which two profiles are duplicates: open one, start a merge, then search for the other by first name, last name, email address, phone number, or credit card number.
What the native merge does
Fourteen data types are documented as merged into the surviving profile: Orders, Draft orders, Addresses, Email address, Phone number, Name, Notes, Tags, Tax settings, Timeline events, Credit cards, Customer accounts, Gift cards, and Discounts. Customer metafields are not on that list — do not assume that data survives, because Shopify does not document that it does.
Five limitations apply to every merge that succeeds:
- The merge cannot be reversed: "After the profiles are merged, you can't reverse the process."
- Combined notes must be 5,000 characters or fewer, including spaces.
- Combined tags must be 250 tags or fewer.
- Marketing consent resolves upward: "If the customer is subscribed to email and SMS text marketing in one profile, but not in the other, then the merged profile is subscribed."
- "The customer isn't notified when you merge their customer profiles."
The consent rule deserves a second read: merging a subscribed profile with an unsubscribed one produces a subscribed profile, silently. For a US store running email and SMS that is a compliance-relevant default, not a neutral one.
Then the volume constraint: "To merge more than 2 customers together, repeat the procedure for each additional profile." A shopper with four records needs three sequential merges. At 500 pairs that stops being a task and becomes a project.
The nine conditions that block a merge outright
This decides whether an app can help you at all. Reproduced from Shopify's Help Center as it read on September 3, 2026:
Profiles can't be merged in the following cases:
- Either of the customer profiles has, or has ever had, a subscription contract.
- Either of the customer profiles is a B2B customer actively linked to a company, or still linked to past B2B orders.
- Either of the customer profiles has a vaulted credit card.
- Either of the customer profiles has a store credit account.
- Either of the customer profiles has a multipass login.
- Either of the customer profiles has been deleted.
- Either of the customer profiles has been redacted or a data redaction request is in progress.
- A customer profile merge is in progress.
- A customer data request is in progress.
The permanent ones do the damage. The subscription clause reads "has, or has ever had" — cancelling does not clear it, so any store that has run Shopify Subscriptions, Recharge, Skio or similar carries a cohort that can never be merged. Store credit accounts behave the same way, so a store-credit returns program quietly manufactures unmergeable profiles. Vaulted cards block until the card is removed, a normal outcome of Shop Pay and POS card-on-file. B2B company links and Multipass are Plus features, so they only bite Plus stores — but there, past B2B orders alone stop a buyer's retail and wholesale profiles being consolidated.
The last two conditions are transient and mainly explain sporadic failures during a bulk run. Redaction blocks the merge while an erasure request runs, and permanently once complete. And one rule follows from the deletion clause: never delete a duplicate profile, because a deleted profile is ineligible as a merge target and its orders cannot be reassigned.
The Admin API mirrors all of it. customerMerge requires the write_customer_merge scope and takes exactly two IDs, customerOneId and customerTwoId. A companion query, customerMergePreview, requires read_customer_merge and returns blockingFields, so an app could warn you before attempting a blocked merge — though none of these vendors documents doing that. Details are from API version 2026-07, checked September 3, 2026.
What merging does not fix
Shopify's merge stops at Shopify's data. Klaviyo is the case that is verifiable: it has its own merge under Profile actions, manual and one pair at a time, described in its documentation as "The merging process takes a few moments to complete. This action is permanent." Nothing in Klaviyo's documentation ties that action to a Shopify customer merge — which is why two of the apps below sell Klaviyo merge sync as a paid feature.
Loyalty balances, review platforms and helpdesk histories are not on Shopify's documented merged-data list, and we did not verify their behavior. Check each against its own documentation.
The four dedicated apps, compared
| Singulary ‑ Merge Customers | MergeGuard ‑ Merge Customers | UnifyMate: Merge Customers | Doppelganger | |
|---|---|---|---|---|
| Developer | Small Victories | Caelena Software Labs | Sisyphe | Marquee Development |
| Rating (reviews) | 5.0 (9 reviews) | 0.0 (0 reviews) | 0.0 (0 reviews) | 3.2 (6 reviews) |
| Launched | March 2, 2026 | January 13, 2026 | December 30, 2025 | October 14, 2021 |
| Entry paid price | $9/month | $29/month | $24.99/month | $5/month |
| Free plan | 1 scan, 10 merges | 5 merges | 5 merges | Under 50 orders/month |
| Free trial | No | No | No | 7-day |
Merge customers scope disclosed | Yes | Yes | Yes | No data access section published |
| Detection signals | Name, email, phone, address; confidence-scored | Name, email, phone, address; continuous | Email aliases, order history | Find only; no scheduled scan published |
| Bulk merge | Unlimited on paid plans | Capped at 100 / 200 / 500 per month | Unlimited on Standard | Not advertised |
| Klaviyo sync | Yes | No | Yes | No |
| Prevention at signup or checkout | New-signup check | Signup check and guest checkout protection | No | No |
Prices are as of September 3, 2026, billed in USD every 30 days. Ratings and review counts are as of the same date.
Singulary ‑ Merge Customers

Source: Shopify App Store (Singulary ‑ Merge Customers), retrieved September 3, 2026
Built by Small Victories and launched March 2, 2026, Singulary rates 5.0 from 9 reviews and was the only one of these four whose listing header carried the Built for Shopify badge on September 3, 2026. Nine reviews is a small base, and all nine are five stars, which tells you less than it appears to.
It is also the app that states its mechanism plainly: its product page says "Uses Shopify's official Customer Merge API" and its data access discloses Edit customers: Merge customers, customer data. The listing describes "weighted matching on name, email, phone, and address" with a confidence score, plus "Customer data health fixes" on paid plans — one reviewer describes those as including corrections of typo domains such as gmial.com to gmail.com. Klaviyo profiles are merged in the same pass.
Pricing: Test (free), Growth at $9/month for up to 25,000 customers, Business at $49/month for up to 100,000, Enterprise at $99/month for unlimited, with unlimited scans and merges on paid tiers. One discrepancy: the App Store listing describes the free tier as up to 1 scan and 10 merges, while the vendor's own page lists 5 scans and its FAQ mentions 5 merges. The App Store figures are quoted here.
Poor fit if your duplicates sit in subscription or B2B customers. Shopify Flow, POS and Checkout Extensibility support is not stated in the app's official documentation.
MergeGuard ‑ Merge Customers

Source: Shopify App Store (MergeGuard ‑ Merge Customers), retrieved September 3, 2026
MergeGuard, from Caelena Software Labs, launched January 13, 2026 and has 0 reviews at a 0.0 rating. There is no independent evidence of how it behaves on a real store, and listing copy does not substitute for that.
What it publishes is a prevention story rather than a cleanup story. Its listing says duplicate groups are "found continuously - no scan to run", matched on name, email, phone and address with an explanation per group, and it names Checkout and Customer accounts among its Works with surfaces. Its data access discloses Edit customers: Merge customers, customer data. The vendor's own site adds a Signup Duplicate Check, Guest Checkout Protection and an Excel export before merging — a backup file, not a rollback — none of which appear in the App Store listing's plan features; on the listing, Guest Checkout Abuse Monitoring first appears on the $49 Growth plan. Its own listing says "Confirm first: Shopify merges are permanent."
Pricing: Free (5 merges), Starter at $29/month or $299/year, Growth at $49/month or $499/year, Scale at $99/month or $999/year, with 14 to 16 percent off annually. But every paid tier caps merges — 100, 200 and 500 per month respectively — and whether unused merges roll over is not documented. A store with 3,000 duplicate pairs cannot finish a cleanup in one month on any published plan. Wrong economics for a one-time cleanup; a reasonable shape for an ongoing duplicate flow.
A caution this app illustrates: its website footer displays the words "Built for Shopify" while its App Store listing header shows no badge. Whichever app you evaluate, check the listing, not the vendor's site.
UnifyMate: Merge Customers

Source: Shopify App Store (UnifyMate: Merge Customers), retrieved September 3, 2026
UnifyMate, from Sisyphe, launched December 30, 2025 and also has 0 reviews at a 0.0 rating. Its App Store slug is profile-unify and its privacy policy is still titled for Profile Unify, so the app was evidently renamed.
Pricing is the simplest here: a free tier with 5 merges and Klaviyo sync, and a Standard Plan at $24.99/month with unlimited merges and real-time Klaviyo synchronization. Its data access discloses Edit customers: Customer data, merge customers, so it holds the official scope.
Two observations from that same block. Its order-history read scope is limited to the last 60 days, while its stated detection method is email aliases and order history — so the signal it matches on is windowed in a way that constrains matching depth for older duplicates. It also requests Edit products: Products, collections, and no listed feature explains why a customer-merge app needs product write access. Neither point is an accusation; both are worth raising with the vendor. No phone or address matching is published, so this is a poor fit for POS-driven duplicates.
Doppelganger

Source: Shopify App Store (Doppelganger), retrieved September 3, 2026
Doppelganger, from Marquee Development, launched October 14, 2021 and rates 3.2 from 6 reviews — the lowest rating here, with 2 of the 6 at one star.
Its distinguishing idea is linking rather than merging. Both of its plans are priced on unlimited linking of customer accounts, not on merges. Linking groups profiles for lifetime-value reporting without destroying either Shopify record, and the listing positions it for rolling several individual buyers up into one client company — which in principle sidesteps both the irreversibility and the restriction list. But whether a link is visible outside the app, in Shopify Analytics or segments or Klaviyo, is not documented, so do not assume it repairs native reporting. Pricing is a Free Plan for stores under 50 orders a month and a Basic Plan at $5/month, with a 7-day free trial, the only trial in this set.
Two maintenance signals. The listing publishes no data access section, because 2021 listings predate that block — so whether Doppelganger calls the official customerMerge mutation cannot be verified, in either direction. And its App Documentation link returned a 404 on September 3, 2026. The two positive reviews the listing surfaces date from 2021 and 2022, and one 2025 review reports the app never loaded in the admin and that support did not respond. That is a single review, but with the dead documentation link it is a fair concern.
Matrixify: a correction, not a recommendation

Source: Shopify App Store (Matrixify), retrieved September 3, 2026
Matrixify, from ITissible, is the answer merchants land on most often in community threads about bulk customer cleanup, and it is the wrong one. It rates 4.9 from 1,455 reviews and carries the Built for Shopify badge — a well-regarded app that cannot do this particular job.
Two pieces of primary evidence. Its data access lists Edit customers: Customer data and nothing else; there is no Merge customers permission, unlike the three apps above. And its documented MERGE command is a row-level upsert: "MERGE: will try to find existing Customer, and update it with data from the row. If such Customer will not be found, then it will create new." That is spreadsheet-row matching — merging a row into a record, not two records into one.
Its REPLACE command carries a documented warning that the app will delete the customer completely and re-create it from the file, losing anything not in the import — so a merchant reaching for Matrixify to clean up duplicates is one command value away from data loss.
Where it is useful here is diagnosis. Export the full customer list — Demo is free for 10 customers per file, Basic $20/month for 2,000, Big $50/month for 20,000, Enterprise $200/month for unlimited — then sort by email domain, normalized phone, or address and count your duplicates before buying anything.
Stopping new duplicates
CSV imports. Shopify's import documentation matches on email or phone number, and duplicates inside a single file are silently dropped: "Only the last profile with the duplicated email address or phone number is imported into the customer list in your Shopify admin." Dedupe the file before uploading, and check the phone column, not just email.
Guest checkout and POS. These create profiles without an account. Two apps here publish prevention: Singulary's listing says new signups are checked instantly, and MergeGuard publishes a signup check plus guest checkout protection, with Guest Checkout Abuse Monitoring appearing from its $49 Growth plan. At 9 reviews and 0 reviews respectively, treat both as published features rather than verified ones. Capturing a consistent identifier at POS is the lower-tech version of the same fix.
Deletion. Do not delete duplicates. A deleted profile is permanently ineligible as a merge target and its orders cannot be reassigned.
For the profiles Shopify will never merge, tag them so your reporting can group what the platform will not consolidate.
Choosing
Fewer than about 20 pairs and you know who they are. Use the native merge. Budget about 30 seconds per pair, accept that it is permanent, and buy nothing.
You do not know how many duplicates you have. Export and count first. Shopify's CSV export is free; Matrixify gives you a richer file.
Hundreds of pairs, Klaviyo in the stack, cost-sensitive. Singulary at $9/month — the cheapest of these four to offer unlimited merges with Klaviyo sync. 9 reviews.
Duplicates keep coming back from guest checkout or POS. MergeGuard publishes the prevention layer, with guest checkout monitoring from $49/month. Check the merge caps against your volume, and go in knowing it has 0 reviews.
Duplicates are almost entirely email aliases. UnifyMate at $24.99/month flat, after confirming yours are not phone- or address-based. 0 reviews.
Under 50 orders a month, or LTV rolled up per company, or Shopify refuses to merge your profiles. Doppelganger at $5/month, linking rather than merging. 3.2 from 6 reviews.
Subscription, B2B, store credit, vaulted card or multipass customers. No app will merge those. Tag and report around them.
Sources
- Managing customers — Shopify Help Center
- Importing and exporting customer lists — Shopify Help Center
- customerMerge mutation — shopify.dev
- customerMergePreview query — shopify.dev
- Shopify API access scopes — shopify.dev
- Singulary ‑ Merge Customers — Shopify App Store
- MergeGuard ‑ Merge Customers — Shopify App Store
- UnifyMate: Merge Customers — Shopify App Store
- Doppelganger — Shopify App Store
- Matrixify — Shopify App Store
- Singulary product page — Small Victories
- MergeGuard pricing
- Matrixify Customers documentation
- How to delete, merge, and export a profile — Klaviyo Help Center
Shopify Flow adds and removes product tags for free on every paid plan, but its Get product data action returns at most 100 products per run, so backfilling an existing catalog becomes a scheduled loop. Flow also has no generic Product updated trigger, which means it structurally cannot re-tag a product after you edit its type, vendor, or price. Shopify Magic suggests a product category and fills category metafields, but product tag generation is not on its published feature list. The six apps compared here meter completely different units: Leap Auto Tags counts every tag added and every tag removed as one credit against 2,000 per month at $8, FilterTag meters 500 to 50,000 generated tags per month at $9 to $59, TAGit AI works out to 3 to 9 cents per generated tag, and Helium charges $9.99 one-time per 100 products. Mechanic and Matrixify charge flat fees of $16 to $199 and $20 to $200 with no per-tag metering at all. Check the denominator before you check the price. Researched September 3, 2026.