Salesforce Deduplication Guide

Find duplicate Leads, Contacts and Accounts in your org and mass merge them, step by step.

View as Markdown

Dedupely connects directly to your Salesforce org to find and merge duplicates, from simple exact matches to complex cases, without breaking your Flows, triggers or integrations. It works with every Salesforce edition.

Supported Salesforce objects

You can dedupe these Salesforce objects:

  • Accounts
  • Contacts
  • Leads
  • Opportunities
  • Individuals, when your org uses them
  • Custom Objects

You can't merge records across different object types, e.g. a Lead into a Contact.

Common Salesforce duplicate issues

Salesforce orgs are highly customized and shared by many teams, so admins can't risk breaking processes or reporting:

  • Duplicate Rules have gaps. Matching rules miss typos, nicknames and formatting differences. Records saved at the same time, like rows in one import, aren't compared with each other. And Duplicate Rules don't run on some actions, such as converting leads (unless Apex Lead Convert is on) or adding records with Lightning Sync or Einstein Activity Capture.
  • The HubSpot-Salesforce sync. Merging in one CRM without accounting for the sync can cause update loops, re-creating records or overwriting field values.
  • Inherited automation. Years of Apex triggers, Process Builders and Flows mean a careless merge can fire unexpected automation or break links to legacy IDs.
  • The 3-record merge limit and ignored alerts. Salesforce only lets you merge 3 records at a time by hand, and Duplicate Rules are often set to "alert" rather than "block", so reps click past them.

How Salesforce's native merge works

Added

Dedupely merges through Salesforce's own API. You control which values survive with Merge Rules, but every merge still follows Salesforce's built-in rules:

  • The master record keeps its ID. The other records in the merge go to the Salesforce Recycle Bin, where they stay for 15 days before Salesforce deletes them permanently.
  • Related records move over. Blank fields never overwrite existing data, and child records (Opportunities, Tasks, Cases, Notes and custom related lists) are reparented to the master record.
  • Automation runs. Merges fire standard Salesforce events, so active Apex triggers and record-triggered Flows run as usual.
  • Opportunities and custom objects are merged by Dedupely. Salesforce has no merge for them, so Dedupely updates the surviving record, re-points child records to it and deletes the others. Emails, files, notes, opportunity contact roles and product lines on the others don't move.
  • Merges Salesforce would refuse: records that point at each other, or values from a retired picklist. Dedupely spots them before a merge, and Safety Settings → Merge choices decides whether to ask, fix or skip. A skipped match moves to the Attention Required tab.
  • Account hierarchies stay intact. A merge stops if the accounts are in the same parent–child hierarchy. When a parent account is merged into another account, its child accounts move to the surviving account.

How to dedupe Salesforce records, step by step

  1. Test first. If your org has a lot of custom code, Flows or cross-system syncs, connect a Sandbox and watch the downstream effects. For standard orgs, open View Match Details and check field-level outcomes in the Merge Preview column before merging or automating.
  2. Dedupe your legacy data. Merge historical duplicates first. This lowers the risk of old records overwriting active data in future automated merges.
  3. Decide what a duplicate is for each source. Trace where duplicates come from (Web-to-Lead, integrations, the HubSpot sync). Use strict matching for automated cleanup and keep edge cases for review.
  4. Build one Duplicate Search per scenario. Create a separate Duplicate Search for each source or type of duplicate, instead of one broad search.
  5. Protect downstream processes with Auto Match. Use Auto Match for edge cases. You're notified when duplicates reach your threshold, and can merge, reject, or send them to Manual Review for a team lead.
  6. Automate. Once your searches are proven against your downstream systems, turn on Auto Merge on a schedule to merge recurring duplicates from forms and integrations.
Opening View Match Details on a match and checking the result in the Merge Preview column

What happens next

After each merge in Salesforce:

  • The master record keeps its ID, and all related records are moved onto it.
  • Your automation runs. Check any Flows or Apex triggers that listen for merges or deletes.
  • HubSpot is merged too. If HubSpot and Salesforce are linked in Dedupely, the matching HubSpot records are merged in the same action. See Merging duplicates with an active HubSpot-Salesforce Integration.
  • Every merge is logged in Merge History.

Most merges can be undone within 30 days from Merge History, except merges made in Salesforce and HubSpot at once (see Undo a Merge), but treat every merge as permanent. For older merges, download your Merge History and use it to restore the original values in Salesforce.

Troubleshooting

I can't connect Salesforce, or merges fail. Your Salesforce user might be missing permissions. You need a System Administrator profile, Modify All Data, or Edit and Delete on that object. Ask your Salesforce admin to update your profile, then try again.

A merge triggered automation I didn't expect. Merges fire Salesforce's standard events, so Flows and Apex triggers run. Test your Duplicate Searches in a Sandbox, and pause or adjust the automation before merging in production.

Merged records keep coming back, or values flip between HubSpot and Salesforce. This is usually the HubSpot-Salesforce sync. See Merging duplicates with an active HubSpot-Salesforce Integration.

The wrong values survived a merge. Check your Primary Record rule and add field-level rules in Merge Rules. Preview a few matches before your next bulk merge.

FAQs about Salesforce deduplication

  • Do I need a specific Salesforce edition to use Dedupely? No. Dedupely works with every Salesforce edition.
  • Why don't my Salesforce Duplicate Rules catch all my duplicates? Standard matching rules often miss typos, nicknames and address variations. Records saved at the same time, like rows in one import, aren't compared with each other, and the rules don't run on some actions, such as lead conversion without Apex Lead Convert.
  • Can I bulk merge duplicates in Salesforce? Not natively. Salesforce makes you merge by hand, up to 3 records at a time. Dedupely bulk merges thousands of records in one action.
  • Where do the losing records go after a merge? To your Salesforce Recycle Bin, where they stay for 15 days and can be restored before Salesforce deletes them permanently.
  • Can I merge records while the HubSpot-Salesforce integration is on? Yes. You can merge records with Dedupely while the HubSpot-Salesforce integration is on. Read our guide on the HubSpot-Salesforce integration first to avoid sync loops.
  • Can I control which record and values win? Yes. Merge Rules let you choose the master record (e.g. oldest, newest or most complete) and set field-by-field rules for standard and custom fields.
  • Can I match Accounts on their company domain? Yes. Use Domain Root to match websites by their root (ignoring www, .com, etc.), and Ignored Terms to skip legal suffixes like Inc. or LLC in Account names.
  • Can I dedupe Opportunities and Custom Objects? Yes. Salesforce has no merge for them, so Dedupely merges them itself: it updates the surviving record, re-points child records and deletes the others.
  • Can I test in a Sandbox first? Yes. Sandbox records count toward your plan's record limit like any other synced records.

Next up

How to Find Duplicates Create your first Duplicate Search and choose what counts as a duplicate.

Changelog

  1. Merge choices before a risky merge

    Dedupely predicts four CRM refusals before a merge: HubSpot association and merge-count limits, Salesforce records that point at each other, and retired Salesforce picklist values. Answer Always ask, the fix, or Skip in Safety Settings. A skipped match moves to Attention Required.

Every change in the knowledge base

Still stuck?

Our team helps on every plan and during the free trial, by chat, email or Zoom.

On this page

Portrait of Gaby Salinas

Behind the article

Gaby Salinas

Marketing Assistant at Dedupely

Gaby Salinas came to CRM data from marketing and advertising, so she looks at duplicates from two sides: the match and merge logic behind them, and what they do to the people using the CRM, like the rep who calls a customer twice, the admin who gets blamed and the cleanup nobody wants to start.

As Marketing Assistant at Dedupely, she follows how RevOps teams, end users, consultants and technical teams actually work with their data: the records they stop trusting, the workarounds they build and the moment they finally decide to clean up. What she finds shapes most of what Dedupely publishes.

Connect with Gaby on LinkedIn

Get started for free

20 free trial merges and as much free support as you need to get your duplicates under control.

"The application works great and [...] their customer support was responsive and helped me get on the right track!"

Shawnee K

Salesforce User

Salesforce AppExchangeSalesforce AppExchange

Running CRM cleanup for clients? See the Partner Program

Skip to content