Global duplicate management
What if we decide to activate duplicate management after our sales reps have already created lots of leads? We cannot ask all our sales reps to open leads one by one to check duplicates and merge them; that will definitely be a waste of time.
For this purpose, we can use duplicate jobs with standard or custom matching rules to scan accounts, contacts, or leads for duplicate matching. This feature is only available on the Performance and Unlimited editions; that’s why this feature is not available in Developer edition orgs.
If you can access an org of this kind, navigate to Setup | Duplicate Management | Duplicate Jobs and select New Job to create a new duplicate-matching job:

Create a new duplicate job
Select the object you want to inspect, the matching rule (it can be a standard or a custom rule), and finally the job’s name. Hit Run to run the job and wait for it to be completed (a notification email will be sent).
This is how duplicate job results are displayed (you get all the duplicate records set on the org from App Launcher | Duplicate Record Sets):

Duplicate job result
Each record set represents a set of records that are potential duplicates. To see which records those are, jump to the Duplicate Record Items list on the Duplicate Record Set record. Use the Compare and Merge quick action to start the merge activity that we saw in the previous section:

Compare and Merge action from the Duplicate Record Set layout
To let users merge these duplicate sets, give them access to the object. If we want to share the results of a job, we can run a report on the duplicate record generated by our job.
It is possible to run duplicate jobs on custom objects, but the duplicate record set cannot be merged.
There are a few things to remember:
- If you create a new job with the same configuration (object and matching rule), the new job overwrites any earlier job of the same kind
- If a matching rule is updated, all results of previous jobs are deleted once a new job with the same matching rule is run
- If the total number of duplicates found reaches 1,000,000, then no new job can be run (you will have to delete some of the results)
- If the org contains too many records, the job can fail (there will be no more information available on this point; just use it as a warning and ask Salesforce Support in the case that jobs are constantly failing)
- Even if we delete all the results of a job, its status is retained (such as the time of the run, the number of records, the duplicates that were found, and so on)
- Do not use an encrypted field on a matching rule; otherwise, the job will fail
Reporting on duplicate job results returns the following:
- Duplicate records generated by user direct creation/editing (using the Allow configuration of the duplicate rule)
- Records generated by duplicate jobs
- Records added manually to a record set (yes, you can manually create a duplicate record set)
Although reporting is a subject that we’ll be exploring in the following chapters, you should already be aware of how reporting works and how report types are used.
To report on duplicate record set records, we need to create a new report type from Setup | Features Settings | Analytics | Reports & Dashboards | Report Types, by selecting a Lead, Account, Contact, or Duplicate Record Set as the primary object and adding a secondary object as the Duplicate Record items:
- If we choose Account, Lead, Contact, or a Custom Object as primary objects, we want to inspect how many duplicates there are for a specific object.
- If we choose Duplicate Record Set as the primary object, we simply want to know if our brand-new duplicate rules are working as expected:

Report type configuration for duplicate management
Enable users to access the Duplicate Record Set and Duplicate Record Items objects to make them access the new report type. The following screenshot is an example of a report on the contacts and their related duplicate report items:

Reporting on duplicate record items and contacts
To troubleshoot errors that prevent duplicate or matching rules, you can jump to Setup | Data | Duplicate Management | Duplicate Error Logs.
Errors can arise if the engine that calculates duplicates is temporarily down or if a required custom field on the Duplicate Record Set or Duplicate Items objects is not populated (you can customize these objects from Setup | Object Manager as you would do with any other standard object ). Let’s test this out.
We will create a custom field on the Duplicate Record Item object (marked as required):

New custom field on the Duplicate Record Item object
Now let’s create a new contact using the same name and email address. Nothing happens on the page layout (other than the duplicate alert), but if we go to the Duplicate Error Logs page, then this is what we will see:

Reporting a duplicate calculation error
As you can see, no duplicate record item has been created (and therefore cannot be reported). Logs are retained for 90 days.