Dario is senior consultant and project manager @ TEN,the first Salesforce italian partner.
Totally in love with Salesforce from 2013, he achieved 9 certifications so far and an extensive experience on projects’ implementation.
Based in Milan, he’s passionate about Formula 1 and basketball.


Duplicate management on crm is always a hot topic during a Salesforce implementation. Data is often stored in different silos like your ERP, E-commerce, Marketing tool. 

When you migrate customer data from different sources in your Salesforce org, there are a lot of options out there to help on duplicate issues. One of the best ways is to implement a SSOT (Single Source of Truth) with Salesforce Customer 360 or an MDM tool, but this option could affect the budget.

In this article you can read one of the less expensive ways to find and merge duplicates in Salesforce.

Standard Duplicate Management

Duplicate management in Salesforce is a real time process that let you block during creation of new leads, accounts and contacts or alert and report on potential duplicates.It’s included in your Salesforce license and implementation is divided in simple steps:

Create a matching Rule

  • Select the object:
  • Give a name and choose fields to consider for looking duplicates (example account name, Shipping street)
  • Type of match (exact, fuzzy) for each condition
  • Save:

Create Duplicate rules:

  • Identify object where find duplicates (example account)

  • Define Actions (allow/block), and record exclusion
    if you block no record creation will be allowed
    if you allow is possible to choose to alert users during creation and report on specific objects
  • Associate matching rule (up to 3) used to find duplicates (created in the step before)
    You can also decide to use standard matching rule provided by Salesforce

Hints

Matching rules are cross object, for example you can compare Accounts with Leads or with Contacts and vice versa.

If you choose alert on action you can report on duplicate object. This option let admin or super users to decide if merge or not potential duplicates manually and create tasks with process builder like a reminder.

Automate your merging activity 

What should be a solution to automate merging? If you have a lot of records, merging manually could become time consuming.

An economic solution is an appexchange product: Cloudingo. The logic is similar to standard duplicate management, but this solution gives more powerful tools that let you automate the job! 

These are the main steps.

Create Filter

Choose your Salesforce object (example Account)

Don’t worry about privacy, Cloudingo doesn’t store any data outside your Salesforce org.

Select Fields for match

Select fields to consider for looking duplicates (example Account name,Billing street)

Exclude records

Consider if you would like to exclude certain types of records from the dedupe process. For example partner account and finally save

Automation rules

Create a new rule, choose the object and give a name

Decide how merge records

Is where you define the specifics of how you want Cloudingo to merge your duplicate records.

Every rule created before needs to be associated with an automation.These are main steps to follow:

Master record selection

  • Decide in a group or record which is the master, for example most complete or first record.
  • Order groups by a date
  •  If you have chosen a master definition that may results in more than one record having the same value, you can break ties using created or modify dates

Field value selection

Here you can define how all field values on the record must be populated.

For example the most common or the value from the newest record in the group.

You can also choose to override the master value or override only if fields are blank (master enrichment).

In the section specific field values, you can set rules for specific fields on the object. These rules will supersede any settings above.

This is useful for:

  • Modify logic on external ids fields, to preserve original values on master and avoid mix up keys. 
  • Sum all record values together in a field to determine what value to set on the master.

The final section defines situations where Cloudingo will not merge records or the entire group of records.

Remember to assign the rule to the filter you want to apply!

Dedupe dashboard 

You can create a lot of filters and apply the same automation rule or different to everyone. The result is easy to view in your dedupe dashboard:

  • Groups represent the number of groups of account duplicated
  • Matches are the single account potentially duplicated

Schedule automation 

Here you decide when the rules have to run an merge duplicates with automation rules set before.

Before setting your schedules, consider to run filters in a correct time slot, for example when users activities are reduced and there are no automatic batch uploads from your middleware or from other systems.

Hints:

It’s strongly recommended to connect first your full sandbox environment and test dedupe results before running on production. You can easily migrate filters and automation from test to production in Cloudingo.

Be careful not to lose data

Your legacy systems may need to maintain data or keys for your duplicated account. If this is your case, you can consider implementing a simple trigger to get back accounts deleted by Cloudingo in your recycle bin and write it in a custom object. 

Your records will maintain original values on fields and will be related to the master account.

Summary

In a parallel stream is very important to understand how to prevent duplicate generation, for example promoting customer registration instead of guest purchasing.

There aren’t magical hints for good working filters, it’s all related about data. If the original database is dirty, you can think about cleaning and enriching with external services before applying dedupe filters.

This guide is not a final solution, but can help you to understand and find a cheaper way to manage duplicate issues.