Salesforce administrators dealing with duplicate records were always appointed to the Salesforce AppExchange to find a third-party application to deal with their duplicate data.
Not so long ago, Salesforce started rolling out new features to help Salesforce administrators coping with duplicate records. We’re getting more questions each day about what Salesforce Duplicate Management offers exactly, and if there is still a need for a more extensive third-party application like Duplicate Check. In this article, I’d like to talk about what native Salesforce has to offer, so you can decide yourself if the available features are sufficient for your organization.
Salesforce developed a duplicate prevention feature, primarily used when users insert a record manually. By configuring duplicate prevention, you can set ‘matching rules’ to determine what a duplicate record is, which then alerts the users, or blocks the insert when entering a duplicate record. The matching rules are simple and cannot take into account custom fields. Salesforce's duplicate prevention also works on imports or records created via the API but is then only able to do a hard block when a duplicate is identified, which is not ideal and could lead to potential information loss. Let me share some facts.
|Prevention on Manual Insert, API and Import (hard block only)||Prevention on all possible insert points, with multiple processing options|
|Maximum of five matching rules per Object||No limit to the number of matching rules per Object (called "scenarios")|
|Seven matching methods available||Seventeen matching methods available|
|No Automatic processing tools||Possibility to automatically process any incoming duplicate records without information loss|
Quite recently, Salesforce launched a new feature to identify existing duplicate records in a batch process. This was requested a lot and is now available in the higher ‘Performance’ and ‘Unlimited’ edition of Salesforce. If you’re not on one of those editions, you can skip this part, because you won’t have access to the duplicate jobs.
Duplicate jobs in Salesforce are very basic. It merely allows you to run a job to identify duplicate records based on one matching rule at a time. There is an essential limitation regarding supported objects - it’s only able to analyze Leads, Contacts and (Person) Accounts. After finding duplicate records using the duplicate job feature, it creates a ‘duplicate record-set’ for every duplicate pair, which appointed users will have to go through one by one to execute the merge. Duplicate jobs cannot run cross-object jobs or run jobs with a filter - it can only run on your entire object.
It can take a while before you get results because the job runs on the Salesforce servers, which is not the quickest. Besides that, Salesforce reports that jobs may fail if you’re running them in objects with a high record count. All in all, duplicate jobs in Salesforce are still in its infancy but could help out in rather small organizations without much specific requirements or configuration options.
|Limited to the Lead, Contact and (Person) Account Object||Supports all Objects, also Custom Objects.|
|Duplicate Jobs only Available in Performance and Unlimited edition of Salesforce||Duplicate Jobs available in all Salesforce editions|
|Duplicate Jobs may fail on large data-sets, running a job takes a long time||Duplicate Jobs is designed to work with large data-sets and has no limits. Also has the ability to run Duplicate Jobs on your local machine to acquire results fast|
|Not able to run cross-object jobs. Can't run a job based on a filter.||Match any Object with any Object. Able to apply multiple filters to your job.|
Processing Duplicate Records
After finding your duplicate records, you will get to the last step in a deduplication process – processing the results. First, you establish that the duplicate pair is really a duplicate, after which you can merge or convert the duplicate pair.
In Salesforce, duplicates are defined in ‘duplicate record-sets.’ To merge them, users have to open a duplicate record-set and click ‘compare and merge.’ This brings you to an overview page where the user can execute the merge. If you’re only dealing with a few dozen duplicates, this is fine, but if you’re dealing with more than that, you will quickly notice the processing options of native Salesforce are not great since there is no option to process any duplicate records automatically.
|Processing duplicate records only manually||Automatic processing options, bound to extensive configuration options|
|Not possible to convert records since there is no way to run a cross-object job||Automatic convert options after running a cross-object job, bound to extensive configuration options|
Salesforce made a start to implement features for duplicate management in Salesforce and has a fine tool for simple duplicate prevention needs. The duplicate job tool is basic and isn’t capable of doing a few essential things like automatically processing results or run a cross-object job. On top of that, it’s only available in the Unlimited and Performance edition of Salesforce. If you’re looking to get serious about tackling your duplicate records, you can use the Salesforce tools to get started, but eventually, it will probably come short concerning configuration options and processing duplicate records.
If you have any questions related to this article, feel free to get in touch via firstname.lastname@example.org.