1. Finding and merging duplicates cannot be done in mass or automatically
Salesforce comes with a few different ways to identify duplicate records, depending on whether you use Classic or Lightning. But no matter which method you use, the biggest downside is that it’s all a manual process.
Salesforce Classic - In find and merge duplicates in Salesforce Classic, you can only do so on a per-record basis by drilling into the record itself. For example,
- To find duplicate Leads, you must select the “Find Duplicates” button on any lead record page.
- Identifying potential Contact dupes is done by selecting the “Merge Contacts” button on an Account page (not on a Contact record page).
- Duplicate Accounts are found by selecting “Merge Accounts” at the bottom of the Accounts home tab. From there, you must search for individual Account names to find potential duplicates.
Salesforce Lightning - The process is the similar: you can see potential duplicate matches when actively viewing an individual Lead, Contact, or Account record using the “Potential duplicates” competent.
In either Classic or Lightning, you must open and review each individual duplicate group to merge the matching records.
Salesforce Duplicate Jobs
A somewhat better alternative is to use Duplicate Jobs to find duplicates globally throughout your entire org. This module acts as a report and scans your records to find duplicates that match based on matching rules. What’s good about this option is that you can customize the matching rules, but the rules themselves do have their own restrictions (see #2 below).
After a duplicate job has run, you’re presented with groups of duplicates which you can then review and manually merge. Again, compromises arise with this option (see #3, #5, #8, and #9 below).
Lately, you can also run a custom report to see a list of duplicates. Once compiled, you can drill into records to manually merge them one at a time.
No matter which method you use to find duplicates, the ability to select multiple groups of duplicates or even schedule automatic deduping jobs is not possible with Salesforce’s built-in functionality. For orgs with large amounts of data, this deduplication method would take a tremendous amount of time.
2. There are very few matching algorithms and options
How does Salesforce determine which records are duplicates?
By default, Salesforce’s duplicate algorithm is very simple and looks at just a few fields, like name, email address, phone, and company name with little variance, and uses exact or fuzzy matching. This can be fine to search for more obvious duplicates, but finding hidden dupes requires more sophistication.
You do have the option to create custom matching rules, but again, you are limited to exact and fuzzy matching.
3. Choosing the master record and field selections can be cumbersome
How does Salesforce determine which record is the master record? Can you choose which field values trump others?
When merging records, by default, Salesforce chooses the oldest record to be the retaining record, or the master record. You do have the option to manually pick another record to be the master, however. You can also pick and choose which field values carry over to the final record.
A problem occurs when presented with two duplicate records with different field values.
For example, suppose you have duplicates each with different phone numbers. By default, the phone number on the oldest record will be carried over. But wouldn’t you prefer to have the most updated phone number? Although you can pick and choose which phone number to keep, there is no way to visually know which phone number was last updated without drilling into each record.
Once again, this is all a manual process and cannot be done automatically on a scheduled basis, nor can you mass merge groups of duplicates at one time.
How do you merge Leads that are duplicates of existing Contacts?
If a Lead exists as both a Lead and a Contact, you can manually merge the Lead into the existing Contact on a per-record basis. This is done on the individual Lead page.
Unfortunately, you can’t convert Leads to existing Contacts using Salesforce’s duplicate jobs. In other words, the convenience of seeing a list of Leads that also exist as Contacts and merging them at one time is not possible.