Salesforce Merge Duplicates Overview


Duplicate data in Salesforce poses serious problems for companies of any size.

Duplicate records inhibit your marketing team from effectively segmenting and personalizing your communications. Sales teams step on each other's toes and lack vital context in conversations. Support teams miss important information, and analysis and reporting are skewed.

Insycle helps you to merge duplicate leads, contacts, accounts, opportunities, and custom objects—flexibly and powerfully with the Merge Duplicates module.

Insycle uses the underlying Salesforce APEX merge API, please install Insycle's Salesforce AppExchange app.

Use Cases

Sample Use Case: Bulk Merge Duplicate People, Companies

Salesforce Record Types Supported

Insycle supports the following Salesforce record types:

  • Contacts
  • Accounts
  • Leads
  • Opportunities
  • Custom Record Types

You can select the record type you would like to import at the top of the module screen.

How It Works

Insycle analyzes your database and identifies duplicates with flexible matching rules, using any field in your database, to help you identify and merge more duplicates.

Once Insycle identifies the duplicate records, you set rules for determining the master record that other duplicates will be merged into—such as the first record created, the record with the most email opens, or any other attribute that would be relevant. You can also set merging logic on a field-by-field basis.

You can merge duplicates in bulk, and Insycle provides a complete report of what was identified as a duplicate, what was merged, and what the outcome was in your master record.

Deduplicate Across Leads and Contacts

With the Merge Duplicates module, you can deduplicate across both Leads and Contacts in Salesforce.

Open the Merge Duplicates module, and pick the "Contacts" record type.


Then, in Step 1, select the "Include Leads" checkbox.

find duplicates

Deduplicate Opportunities and other Standard or Custom objects

When merging objects that do not have a native merge API, Insycle performs a synthetic merge. Synthetic merge is supported for Opportunities, and any other standard or custom object.

  • Fields (for example, phone number): Retained from the master. When a field value is empty in the master it picks a non-empty value from the most recently updated duplicate automatically. When in doubt about conflicting field values, include those fields in the CSV report by adding them to the Master Selection section. Their values will also show on the audit trail.
  • Relationships: Insycle inspects the schema metadata for relationships to the duplicate records, and reparent those relationships to point to the master record instead of the duplicate. For example, that's how it would re-link/re-parent "Notes" in the duplicate records into the master record.

Deduplicate Salesforce Accounts and HubSpot Companies

Fixing duplicate HubSpot companies and Salesforce accounts while syncing has several nuanced issues that need to be accounted for. There are specific data issues that can break the sync and require you to merge records manually. You also need to determine the appropriate “master record” to use across both HubSpot and Salesforce.

Then you have to consider the merging process. If two records are merged on Salesforce, are they merged on HubSpot as well?

Insycle allows you to merge duplicate Hubspot companies and Salesforce accounts while keeping your sync intact, simply.

To learn more, see Deduplicate HubSpot Companies and Salesforce Accounts.

Salesforce Merge Logic

Insycle uses the underlying Salesforce APEX merge API, for more information about this please click here.

In addition to the default merge logic, you have two options for merging logic.

First, you can select your master record at the record level, using rules. For example, "Keep all data from the earliest created record in the duplicate group."

You can also set rules for field-by-field master selection. For example, you could choose to keep your "First Name" and "Last Name" fields from the earliest created record in the duplicate group, while keeping the "Owner" from the most recently updated record.

By-field duplicate feature

In the event that you do not set field-by-field merge logic for a specific field—when a field value is empty in the master record, Insycle picks a non-empty value from the most recently updated duplicate automatically. When in doubt about conflicting field values, include those fields in the CSV report by adding them to the Master Selection section and their values would show on the audit trail.

Customized Merge Logic

For situations where you need more granular customization for picking duplicate records to include - or exclude - from the deduplication process, or for picking the master record, and there are no common rules you can apply for all or some of the records, you can customize bulk deduplication using exclusions and pre-defined masters.

Separately, it is also possible to customize the merge logic behavior. For example, to instruct Insycle to copy values from field A to field B as part of the merge, or combine multiple fields into one. Customized merge logic requires an Enterprise plan. Please reach out via chat to discuss your specific requirements.

To learn more, see Customize Bulk Deduplication Using Exclusions and Pre-Defined Masters.

Merging Contacts Related to Multiple Accounts

When you have the setting for relating a contact to multiple accounts turned on, there are some considerations and errors that may be produced when you try to merge. 

Keep this in mind when using the Merge Duplicates module with the setting turned on:

  • If you try to merge contacts that are indirectly related to the same account, an error message instructs you to remove the duplicate relationship. The same is true when merging accounts that are indirectly related to the same contact. 
  • When merging person accounts, indirect relationships with accounts and indirect relationships with contacts are evaluated separately. If you have conflicts with both, you will have to resolve the two errors separately.


You can schedule your Salesforce deduplication templates to run on an automated, set schedule.

You can automatically schedule your template directly in the Merge Duplicates module. You do this by clicking the Review button at the bottom of the module page:

Then, you go through a three-step process to run the operation. In the third step, you can choose the "Automate" tab, and schedule your template to run on a set schedule.

merge duplicates salesforce automation

You can also schedule Salesforce deduplication automation using Recipes. You can view all scheduled automations on the “Automations” page on your dashboard.

Learn More:

Preview Changes Before They Go Live

With Insycle's Merge Duplicates module, you can preview the changes that you are making to your data before those changes are pushed to your live database. That way, you can check to ensure your deduplication template is working as expected.

Frequently Asked Questions

I already have a list of duplicates, can Insycle bulk merge them?

Yes. You can use a customized list of duplicates, as detailed in this help article, and use Insycle to deduplicate the list in bulk. Include ID numbers from your connected CRM in your CSV.

Why can I only process 50 duplicate groups at a time?

You can process thousands of duplicate groups in one operation. Potentially, you could deduplicate your entire database in one operation. Insycle shows 50 records on the module screen as a preview. You do not necessarily need to select the duplicate groups individually because you will be able to select all relevant records after clicking the "Review" button to begin the operation.

deduplicate in bulk

How many duplicates can I merge into one master record?

You can merge as many duplicates as you would like into one single master record. This setting is available in Step 3 of the Merge Duplicates module.

maximum merge

This setting is here to ensure that if you set too broad of a filter, you do not accidentally merge many non-duplicate records together on accident. This is precautionary, but you can change the setting as needed to match the size of your duplicate groups. If you are going to set this number at a high level, it is a good idea to run in Preview Mode first to make sure your deduplication template is operating as you intend.

Does the amount of identified and merged records have any limits in the paid subscription?

All plans include unlimited usage, unlimited users, and unlimited operations, see the pricing page. Only during the free trial is the number of records updated, cleansed, or merged capped at 500 records.

Can I deduplicate across leads and contacts in Salesforce?

Yes, Insycle can analyze leads and contacts together and deduplicate across those record types. Please see this help article to learn more.

Can Insycle help me deduplicate while syncing with HubSpot?

Yes, Insycle solves numerous deduplication relates issues when Salesforce and HubSpot are syncing. Please refer to this help article to learn more.

Can I select which data is retained in my master record on a field-by-field basis?

Yes, Insycle allows you to select which fields are retained in the master record based on pre-determined rules. To learn more please see this help article.

By-field duplicate feature

I need to exclude some records from deduplication. Can I do that?

Yes. You can exclude records from deduplication by including a "Deduplication Exclude" field in your CSV, as detailed in this help article.

How do I ensure that I am not merging non-duplicate records together?

Currently, there are two ways to make sure that the records that you are merging are indeed duplicate records.

First, always run your deduplication templates in Preview Mode before running them in Update Mode. This produces a CSV that shows you how your records would have been merged. Then you can ensure that your Merge Duplicates template is working as expected and not merging non-duplicate records together.

Additionally, you can reduce risk when merging duplicates by narrowing your filter in step 1. Use Exact Match instead of Similar Match. Make sure that you are using true uniquely identifying fields—first name, last name, email, and phone number are popular choices. The more tightly defined your filter is, the less likely you are to merge non-duplicate records.

My team needs to review and approve the master, can I accommodate that with Insycle?

Yes. You can manually approve master records and mark them in a CSV, then use Insycle to bulk deduplicate down to those master records. Consult with this help article to learn more.

Alternatively, you can run the Merge Duplicates module in preview mode, then deliver the preview CSV that Insycle generates. This CSV shows exactly how the merge would take place but does not update your live data. Then they can approve the merge based on this document, before running Merge Duplicates in Update Mode.

Additionally, you can choose the master manually by selecting the "Manual" tab in Step 4.

master record

Do my matching fields have to match each other exactly?

No, Insycle does allow you to use similar matching to identify matches. Please read more about that in this help article.

How can I find duplicates when one field is empty?

Insycle requires the values to match in the "Step 1: Find Duplicates" step, and if the value for the matching fields listed in Step 1 is blank, Insycle will not include those records in the deduplication.

The workaround to having an empty matching value is to remove that condition/field from Step 1 and add it in Step 4. Then, the field will be included in the report generated for you to review and identify when duplicates weren't merged due to a missing field.

For example, let's say in Step 1 you have the matching fields: First Name, Last Name, Phone Number. Sometimes, the Phone Number field may be empty.

Remove the Phone Number Field, and add the "Phone Number Exists" as the last rule in Step 4. Now, Insycle will only use First Name and Last Name to identify the duplicates, but the Phone Number field will be included in the report for those contacts. Then you can use a customized approach to deduplication to merge records that are missing the phone number effectively.

Additional Resources

Related Blog Articles

Related Help Articles

Additional Resources