Deduplicating customer records: how duplicates happen and how to stop them
Where duplicate customer records come from, how to find them safely, the merge rules that keep the right details, and the intake habits that stop new ones appearing.
Frontiva · · 3 min read
Duplicate customer records come from four places: a customer contacting you on a new channel before the system can match them, a front desk creating a record instead of searching, an import that did not check for matches, and a customer with two phone numbers. Find them by exact matches on phone and email first, then by name plus one other detail with a person confirming, and merge with rules about which details win. Then fix intake so the flow of new duplicates stops.
Why duplicates matter
The person replying sees half the history. Reminders go to the old number. The AI greets a ten-year patient as new. A customer who complained last month looks like a first-timer this month. Duplicates are not untidy; they are the system not knowing who it is talking to.
Where they come from
A new channel. Maria texts from a number the system has, then DMs from an Instagram account it does not. Until she gives her number in the DM, there are two Marias.
The front desk. Searching takes five seconds; creating takes three. Under pressure, people create.
Imports. A spreadsheet from the old system with 2,000 rows, imported without matching against the records already there.
Two numbers. A customer with a work mobile and a personal one, who used each once.
Finding them
Exact matches first. Same phone number: duplicates, almost always. Same email: duplicates, usually. These can be found by the system and merged with a person's one-click confirmation.
Then probable matches. Same name and same branch, or same name and a similar number, or same name and the same pet. Show these to a person with both records side by side; never merge them automatically.
Never on name alone. Two Maria Gomezes at a busy dental office is normal.
Merge rules
Keep the most recently confirmed phone and email; keep the older ones as additional. Keep every conversation, appointment and note from both, in one timeline. Keep every consent and opt-out from both, per purpose, with the most restrictive winning if they conflict (an opt-out on either record is an opt-out). Keep the earlier "customer since" date. Keep the owner from the more active record. Log the merge with both original records' details, and make it reversible.
Stopping new ones
Search before create, enforced: the system shows matching records as the front desk types a name or number, and creating requires passing them. Ask for the phone number early in every channel, with a reason, so the AI can match. Import with matching on, and review the flagged rows. Give the front desk a "possible duplicate" queue to clear weekly rather than expecting them to notice in the moment.
The weekly review
Ten minutes: open the possible-duplicates list, confirm or dismiss each, done. A list that is cleared weekly stays short. One that is ignored for six months becomes a project.
Frequently asked questions
Can the AI merge duplicates?
It can find exact matches and propose them. A person confirms. The risk of a wrong merge (one customer seeing another's history) is too high for automation.
What about households?
Two people sharing a number are not duplicates. Keep both records, note the shared number, and let the conversation decide which person it is. Systems that force one record per number get families wrong.
Do merged records affect reports?
Customer counts drop slightly and become true. Appointment and conversation counts are unchanged.
What Frontiva does here
Frontiva's CRM resolves the same phone number on SMS and WhatsApp to one contact automatically, flags possible duplicates, and merges them with one click, keeping everything from both records. CSV imports check phone and email against existing contacts and against other rows in the file before anything is created. See identity across channels for the channel side.