Salesforce merge contacts and leads from one reviewed list of duplicates
Salesforce merges up to three contacts at a time, and a merge cannot be undone. The merge screen is fine for one pair somebody already spotted. It is no help with the real job, which is deciding which of 40,000 contacts are the same person. DataUntangler reads your contact or lead report export in the browser, groups the likely duplicates with the reason for each match, flags groups where two reps own the same person, and hands you a reviewed merge list plus an audit log keyed on the Contact ID.
Load a messy sample and watch it work
The same engine described below, running on your own machine. Nothing is uploaded and nothing is applied until you approve it.
1. Load a file
Your file is read on your own machine. Nothing is uploaded, so nothing can leak.
Or start from a messy sample
Status
Loading the sample file.
File: CRM contact export
Rows
--
Columns
--
Changes
--
Duplicate rows
--
Date formats
--
Blank or invalid emails
--
Load a file to see the diff
Drop a CSV or pick one of the messy samples. Every proposed change appears here as a line you approve or reject.
2. Review every change
Nothing approved yet.
Nothing is applied to your file until you approve it, and your original file is never modified.
Proposed changes
Original Proposed
Duplicate clusters
Merge or keep both
Want this on every file, and on bigger ones?
The free try is one file of your own. The Analyst plan cleans as many files as you need, up to 25MB and about 100,000 rows each, for $59 a month or $348 a year.
3. Take the result
The cleaned CSV contains only the changes you approved. The log lists every change, approved or not.
Why a Salesforce org collects duplicate contacts
Contacts come in through every door. A rep adds Laura Bennett after a call, a list import brings her in again with her email in capitals, a marketing sync creates a third record from a webinar form, and a lead that was never converted sits beside the contact it should have become. Duplicate rules only stop what passes through a path that checks them, so years of imports and integrations leave a backlog nobody planned for.
The cost shows up in front of customers. Two reps email the same buyer in the same week, campaign history and activities split across records so nobody sees the whole relationship, opted out people get mail from the copy that never recorded the opt out, and contact counts in a board deck include the same person twice.
How do I merge contacts in Salesforce?
- 1 In Lightning Experience, open one of the duplicate contacts. If your duplicate rules are active, the Potential Duplicates component lists matches. Choose View Duplicates, or use the Merge Contacts action if your admin added it to the page layout.
- 2 Select the records to merge, up to three including the one you started from, and choose Next.
- 3 Pick the master record. Its Contact ID survives, and Salesforce keeps hidden and read only values, such as sharing settings, from it.
- 4 Where the records disagree, choose the value to keep for each field, then confirm. If the contacts carry data privacy records, Salesforce either keeps the most recently updated one (when your admin turned that setting on) or asks you to pick.
- 5 Related items move to the master and the other contacts go to the Recycle Bin. Take the next group from the reviewed list, so every merge is one somebody already approved.
How many contacts can you merge at once in Salesforce?
Three. Salesforce lets you select up to three contacts in one merge, in Lightning and in Classic, and the API merge call has the same ceiling of one master plus two others. A person with five contact records takes two merges, and a backlog of 600 groups takes at least 600 merge actions.
Mass merge apps on the AppExchange run those calls in batches, but they still need a rule that says which contacts are the same person. A rule good enough to run unattended is one you want to have read on a sample of your own data first, which is exactly what a pass on the export gives you.
Can you merge contacts with different accounts in Salesforce?
Yes, in Lightning Experience. Salesforce lets you merge contacts with different primary accounts unless one of them is associated with a portal user, and you choose which account the surviving contact keeps. In Classic the Merge Contacts button sits on the Contacts related list of one account, so the records have to be on that account.
Different accounts are also where a wrong merge does the most damage. Laura Bennett at Granite Peak Builders Inc and Laura Bennett at Granite Peak Builders are probably one person on two duplicate accounts. Laura Bennett at Granite Peak and Laura Bennett at a hospital system are two people. The pass groups the first pair and shows the account names side by side, so the second kind of pair gets read, not merged on a name.
What permissions do you need to merge contacts in Salesforce?
Delete on contacts. Merging contacts enabled for a Customer Portal also needs Manage Customer Users or Edit Self-Service Users, and Partner Portal contacts need Manage External Users or Manage Partners. Leads follow the same pattern: Salesforce Help lists Delete on leads to merge them.
That usually means a sales ops admin runs the merges while reps own the records. A merge list the reps saw beforehand, with each group and its reason, turns "who deleted my contact" into a review that already happened.
Merge leads in Salesforce, and a lead with a contact
Leads merge the same way as contacts: open a lead, view its duplicates, choose up to three, pick the principal record and the values to keep, and confirm. Salesforce Help lists lead merging in Lightning for Starter, Essentials, Group, Professional, Enterprise, Performance, Unlimited, Pro Suite and Developer editions with Sales.
A lead and a contact cannot be merged with the merge screen, because they are different objects. The route is lead conversion: convert the lead and, on the conversion screen, choose the existing contact instead of creating a new one. That is why the pass should see leads and contacts in one file. Export both reports, add a column called Type with Lead or Contact, and stack them. A group with one Lead row and one Contact row is a conversion to run, not a merge.
Salesforce on its own against a pass on the contact export
| The duplicate | Salesforce on its own | Pass on the export |
|---|---|---|
| Same email with capitals and spaces | Caught when the matching rule normalizes it | Trimmed and lowercased, then matched |
| Michael Donovan at Lakeshore Medical Group LLC and at Lakeshore Medical Group | Depends on the rule | Matched once LLC is set aside |
| Stephanie Carter and Stephanie Cartor at one company | Fuzzy rule may flag it | Close name and company match, likely |
| Same name and company, two different emails | Can look like one person | Grouped and flagged for you to read |
| Mike Donovan against Michael Donovan | Fuzzy rule may flag it | Not matched, check nicknames by eye |
| Two owners on the same person | Shown only inside the merge screen | Flagged as a conflict before you merge |
| More than three records for one person | Several merges, decided one at a time | One group, merged in batches of three |
The merge always happens inside Salesforce. The pass decides the groups in advance and keeps a record of each decision.
The matching is the same data deduplication engine used across the site: exact email after trimming and lowercasing, then the person name with the company, legal suffixes such as Inc and LLC set aside, and fuzzy matching for close spellings. Each group is built around the most complete row, so the contact with the email, phone and mailing address filled in is proposed as the master.
What happens to related records when contacts merge?
They follow the master. Campaign history, activities and other related items from the losing contacts are related to the record you keep, and Salesforce Files attached in the feed or the Files list stay on it. Chatter feeds are kept from the master only. The surviving contact keeps the Created By and Created Date of the oldest record in the merge, whichever record you picked as master.
Ownership causes the arguments. The master keeps one Contact Owner, so a merge can quietly move a buyer from one rep to another. The pass shows the owner as a conflict on every group where the owners differ, so the decision is made before the merge and not after a dispute about who sourced the deal.
Can you undo a contact merge in Salesforce?
No. A merge is permanent. The contacts that lost the merge go to the Recycle Bin and can be restored while they are there, but the field values and related records already moved onto the master stay on the master, so you are left splitting history by hand. The audit log from the pass fills the gap Salesforce leaves: which Contact IDs merged into which, and the reason given at the time.
How to export contacts from Salesforce for the pass
Build a Contacts report in tabular format with Contact ID, First Name, Last Name, Account Name, Email, Phone, Mailing State, Mailing Zip, Contact Owner and Created Date, and export it as a CSV. Data Loader or the weekly data export work too and return the 18 character ID, which is the safe one to join on.
One header needs a change before the pass. Rename Contact Owner to Owner. Our engine reads a column called Contact Owner as part of the person name, which hides real duplicates whose owners differ; under the plain header Owner it is read as text and shows up as a conflict, which is what you want. Then load the file into the demo at the top of this page. Nothing uploads, the contacts are matched inside your browser tab, and the audit log keeps the Contact ID next to every decision.
Merge contacts before a migration or an integration goes live
Every duplicate contact copies across when the org feeds another system. A marketing platform bills both records, a support tool opens tickets against both, and a migration to another CRM loads both. Duplicate accounts are covered on Salesforce merge accounts, and a full lead, contact and account cleanup on Salesforce deduplication. If the contacts are about to arrive from Zoho, the cleanup belongs before the load, as set out in Zoho to Salesforce migration.
Who pays for a Salesforce contact cleanup
The buyer is the sales ops or RevOps admin with a contact backlog, a marketing platform that bills per contact, or a migration with a cutover date, and a sales team that will notice every contact that changes owner. They need the merge list decided before the merges, and a record of why each group was merged when a rep or a compliance reviewer asks.
DataUntangler is a data cleaning tool on the Analyst plan at 59 dollars a month, or 348 dollars a year, with unlimited files up to about 100,000 rows each. It does not connect to your org and writes nothing to it. You export, review the groups, and run the merges in Salesforce yourself, three at a time.
A Salesforce contact report export run through the engine on this page
| Contact | Account Name | Result | |
|---|---|---|---|
| Laura Bennett | Granite Peak Builders Inc | laura.bennett@granitepeak.com | Kept, colorado to CO |
| Laura Bennett | Granite Peak Builders | Laura.Bennett@GranitePeak.com | Same email address, likely, owners differ |
| Michael Donovan | Lakeshore Medical Group LLC | mdonovan@lakeshoremed.com | Kept, illinois to IL |
| Michael Donovan | Lakeshore Medical Group | (no email) | Same name and company, likely, owners differ |
| Stephanie Carter | Bayview Insurance Partners | scarter@bayviewins.com | Kept, new jersey to NJ, ZIP 7102 to 07102 |
| Stephanie Cartor | Bayview Insurance Partners | (no email) | Close name and company match, likely |
| Tom Reyes | Pinecrest Logistics | tom.reyes@pinecrestlog.com | Kept, texas to TX |
| Tom Reyes | Pinecrest Logistics | treyes@gmail.com | Same name and company, different email, flagged for review |
| Andrea Wolfe | Ortiz & Lane CPAs | awolfe@ortizlane.com | Kept, nothing matched |
| Andrea Wolfe | Ortiz and Lane CPAs | (no email) | Not matched to Ortiz & Lane |
| Kevin Marsh | Redwood Analytics | kmarsh@redwoodanalytics.com | Kept, nothing matched |
| Kevin Marsh | (no account) | (no email) | Not matched, nothing but the name |
Every result above came out of a real run on this file, which also carried the 18 character Contact ID, phone, ZIP, owner and created date columns. Groups are marked likely rather than certain because the Contact IDs differ. Three pairs are missed on purpose or by limit: "and" against "&" in the account name, a contact with nothing but a name, and, in a second run, Mike against Michael Donovan, because the engine does not treat nicknames as the same first name. Sort the export by last name and read those rows yourself.
What the merge screen does not tell you
The merge screen is good at merging three contacts you already chose. It does not tell you which contacts to choose, or which rep loses a buyer when you do.
Salesforce merge accountsThree at a time
Every merge takes one master and at most two others, so a large backlog takes hundreds of actions.
No undo
Restoring from the Recycle Bin does not move related records back off the master.
Leads sit apart
A lead and a contact for the same person never show up in one merge screen.
What the export pass adds
Every likely duplicate contact and lead group in one view, the reason for each match, owner conflicts flagged, and a log keyed on the Contact ID.
Questions about salesforce merge contacts
How do I merge duplicate contacts in Salesforce?
Can you merge more than three contacts in Salesforce?
Can you merge a lead and a contact in Salesforce?
Can you undo a contact merge in Salesforce?
Does DataUntangler connect to my Salesforce org?
Plans for when the file is bigger than the demo
Yearly billing saves 50 percent. There is no free plan, and no card is needed to use the browser demo above.
Yearly billing saves 50 percent, half the monthly price.
Switch to yearly and save 50 percent.
Analyst
Self-serveOne person with files to clean, as many as they like.
$29$59/mo
Billed $348 a year Billed monthly
- Unlimited files
- Files up to 25MB, about 100,000 rows
- Exact and fuzzy duplicate detection
- Dates, numbers, currencies, encoding and casing fixed
- Every change reviewable before you download
- Cleaned CSV and a change log, both downloadable
- Runs in your browser: files never leave your machine
- Email support
Enterprise
Several people on one invoice, a DPA on request, priced per seat.
$49$98/seat/mo
Billed $588 a seat a year, from 2 seats ($1,176) Billed monthly per seat, from 2 seats ($196)
- Everything in Analyst
- Several people on one invoice
- DPA on request
- Invoicing and purchase orders
- A named contact for support
Payment is by card through our payment provider, monthly or yearly, and you can cancel from your account at any time. The free try is one file of your own, up to 5MB, in the browser demo. Already paid? Sign in.
Related pages
- Salesforce Merge Accounts in Bulk from One Reviewed List
- Salesforce Deduplication and Data Cleaning Tool
- CRM Data Cleansing Before Import or Migration
- Fuzzy Matching Tool for Names and Companies
- Data Cleaning Software for CSV and Excel Files
- Data Quality Tools and Software Compared
- Entity Resolution Software for Customer Records
- Data Hygiene for Contact Lists and CRM Records
- Excel Data Cleaning Tool Without Formulas
- Data Cleaning Services vs Doing It In House
- Data Deduplication Tools for CSV and Excel
- Address Standardization and Cleansing Software
- HubSpot Deduplication to Merge Duplicate Contacts
- Zoho CRM Deduplication to Merge Duplicate Contacts
- Pipedrive Duplicate Contacts Deduplication Tool
- NetSuite CSV Import With Clean and Deduped Files
- Data Scrubbing Software and Tools for CSV Files
- Mailchimp Duplicate Contacts Across Audiences
- Constant Contact Duplicate Contacts and Emails
- Klaviyo Duplicate Profiles and Merge Profiles
- ActiveCampaign Duplicate Contacts and Merge Contacts
- QuickBooks Online Merge Vendors and Customers From One List
- Merge Customers in QuickBooks Desktop and Merge Vendors
- HubSpot Merge Contacts and Companies From a Reviewed List
Clean the file, and be able to show what you changed
Try the demo on your own CSV first. It runs in your browser, it costs nothing, and no card is required.
No card required. Your file never leaves your computer.