Merging two email lists without duplicates
Merge on the canonical address — lowercased, plus-tags removed, Gmail dots collapsed — and decide in advance which source wins each field. Almost every bad merge is caused by matching on name or by letting “last file imported” overwrite better data.
Also decide what the merge means: a union (everyone in either list) is not the same as an intersection (only people in both), and importing the wrong one is how people get emailed twice.
Decide the field ownership rule first
- Consent date: keep the earliest. It is your evidence of when permission started.
- Engagement / last activity: keep the most recent.
- Name, company, title: keep the most complete non-empty value, not the newest.
- Tags and segments: union them, then dedupe the tags themselves.
Match on address, never on name
"Jon Smith" and "Jonathan Smith" are one person. "Jon Smith" and "Jon Smith" at two companies are two records that should probably stay separate. Addresses are the only field with a canonical form, which is why every reliable dedupe starts there.
Watch the export formats
A Mailchimp export is one row per address with subscribed status. A HubSpot export is one row per contact plus lifecycle stage, and may include unsubscribed and bounced records. If you merge raw exports without filtering status, you will email people who explicitly opted out of one of the two lists — the most expensive mistake available here.
The order that avoids damage
Filter each file to sendable status first, normalise both, then union or intersect, then dedupe, then verify domains. Doing it in the other order means you clean addresses you were never going to email and lose the ability to reconcile counts.
Check your own list in about 30 seconds. Paste or drop a CSV — duplicates, typos, role addresses and dead domains, all handled in your browser. Free for the first 100 addresses, $19 once for unlimited.
Open the toolCommon questions
How do I know how many duplicates there were?
Record the count before and after each step: rows in, rows after filtering, rows after dedupe, rows after domain checks. If a merge reports “no duplicates” on two real lists, the matching rule is probably wrong.
Should I merge transactional and marketing contacts?
Keep them as separate audiences and merge only what you have consent to market to. A purchase record is not marketing consent in the EU or UK.
Last updated 2026-10-23.