Skip to content
DataUntangler

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.

In-browser your file never leaves your computer

Every row proposed to you before it is applied

CSV log of what you approved and rejected

Clean a file
01 Try it on this page

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.

02 About salesforce merge contacts

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.

Sales operations admin reviewing a list of duplicate contacts on a monitor before merging them

How do I merge contacts in Salesforce?

  1. 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. 2 Select the records to merge, up to three including the one you started from, and choose Next.
  3. 3 Pick the master record. Its Contact ID survives, and Salesforce keeps hidden and read only values, such as sharing settings, from it.
  4. 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. 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.

03 Read it off a real file

A Salesforce contact report export run through the engine on this page

Contact Account Name Email 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.

04 Cleaning Salesforce contacts

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 accounts

Three 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.

05 Before you run it

Questions about salesforce merge contacts

How do I merge duplicate contacts in Salesforce?
Open one of the contacts, choose View Duplicates or the Merge Contacts action, select up to three records, pick the master record, choose the field values to keep where they conflict, and confirm. Related items move to the master contact and the other records go to the Recycle Bin.
Can you merge more than three contacts in Salesforce?
Not in one action. Salesforce merges up to three contacts at a time, in the interface and through the API. A person with five records takes two merges. Decide the whole group first on an exported list, then merge the master with two records, then with the remaining two.
Can you merge a lead and a contact in Salesforce?
Not with the merge screen, because leads and contacts are different objects. Convert the lead instead and, on the conversion screen, choose the existing contact rather than creating a new one. Put leads and contacts in one export with a Type column, so the pass shows which groups are conversions to run.
Can you undo a contact merge in Salesforce?
No. Merges are permanent. The merged away contacts can be restored from the Recycle Bin while they are there, but the values and related records already moved to the master stay there. Decide every merge on a reviewed list and keep the audit log with the Contact IDs.
Does DataUntangler connect to my Salesforce org?
No. It works on a contact or lead report you export as a CSV, inside your browser, and returns the duplicate groups, a cleaned file and an audit log with the Contact ID on every line. You run the merges in Salesforce yourself. Nothing on this site has access to your org.
06 What it costs

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-serve

One person with files to clean, as many as they like.

$29$59/mo

Billed $348 a year Billed monthly

Buy Analyst, yearly Buy Analyst, 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)

Buy Enterprise, yearly Buy Enterprise, monthly
  • 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.

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.

Clean a file