How to dedupe a contact list

Exact email match catches the easy cases. Name and company fuzzy matching catches the rest, but needs a review step before anything gets merged automatically.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.

app.salescrew.io/inbox
The unified reply inbox with classified threads

The short answer

  • Exact email match is the first and most reliable deduplication pass. It misses a meaningful share of real duplicates: the same person under a work email and a personal email, or a typo in one of the two entries.
  • Name and company fuzzy matching (close but not identical spellings, or the same person under two title variations) catches a further layer of duplicates. It is more prone to false positives than exact email matching.
  • Automatic exact-match deduplication on import is generally safe to run without review. Anything relying on fuzzy matching is safer flagged for human review before an actual merge, especially on a large list.
  • A merge should combine activity history (emails, calls, notes) from both records into the surviving one. A merge tool that silently discards one record's history is a common and easy-to-miss data loss risk.

Why one matching method is not enough

Contact lists accumulate duplicates through several distinct patterns. No single matching rule catches all of them. The cleanest case is an exact email match. Two records with the identical email address are almost certainly the same person, and merging them automatically is low-risk. But a large share of real duplicates do not share an exact email at all. A contact might appear once under their work email from a form fill and again under a personal email from a networking event. Or the same email might have a typo in one of the two records.

Catching those requires fuzzy matching on other fields. Similar names, the same company domain, or a phone number in common. This method is more powerful but less certain. Two different people at the same company with similar names can trigger a false match. That is why fuzzy-matched candidates are better handled as suggested merges for a human to confirm, rather than merged automatically the way an exact email match can be.

Matching methods and how to treat their results

Matching methodReliabilitySafe to auto-merge?
Exact email matchVery highGenerally yes
Same phone numberHigh, but shared lines happen (reception, shared office)Usually flag for review
Similar name + same company domainModerateFlag for review, do not auto-merge
Similar name only, different companyLowFlag only if other signals also align

What to actually do with a large messy list

Run the exact-email pass first and merge those automatically. That typically resolves a large share of the total duplicate count with essentially no risk. Then run a fuzzy pass and review the candidates in batches rather than merging blind. Watch for cases where two different people share a name, or a generic email pattern like a shared department address. Keep the merge tool's history-preservation behaviour in mind throughout. Check a handful of early merges to confirm notes, emails and call logs from both records survive into the merged one.

Disclosure: SalesCrew is our product. Its duplicate detection surfaces exact and fuzzy matches, with a merge tool that preserves activity history from both records. Its import wizard checks against existing contacts on the way in rather than creating fresh duplicates from every import. Fuzzy matches still require a person to confirm before the merge happens. The product surfaces the candidates. It does not decide who is the same person.

An auto-merge on a fuzzy match can combine two different people

Automatically merging anything beyond an exact email match risks folding two different contacts into one record, silently losing one person's history. Review fuzzy matches before merging, especially on a list with common names or shared company domains.

Questions

Is matching on email address alone enough to catch most duplicates?
It catches a meaningful share, but not most in practice. The same person often appears under a work email and a personal email, or with a typo in one entry. An exact email match catches none of those. Name and company matching, done carefully, catches a further set that email alone misses.
Should deduplication run automatically on every import?
Automatic matching against existing records on import is useful for catching obvious exact matches. Automatic merging (rather than flagging for review) on anything less than an exact match risks combining two different people who happen to share a name or company.
What happens to activity history (emails, calls, notes) when two records are merged?
A well-built merge tool combines the activity history from both records into the surviving one. It does not keep only one record's history and discard the other's. Confirm this behaviour before merging at scale. Losing history is a common and hard-to-notice failure.