A case of Deja-vu – Solving duplicate issues on your Salesforce environment

Once upon a time, in the autumn 2019 – back when people could sit in quasi intimate proximity in a crowded Borough market restaurant – I received a phone call from one of my service providers inquiring if I was happy with my new subscription. The odd thing was I vividly remember having a similar call the day before. Explaining this to the representative, he confirmed my contention that this wasn’t a paranormal precognition. Neither was it a case of Deja-vu nor that of a divergent Westworld character, but simple a duplicate record issue – somehow I appeared twice in their system. There is no doubt that having duplicate records generate a negative perception your business; waste your resources and time, as well as that of your clients; create a frustrating work experience for staff and users etc. So how do you avoid or remedy it – if it has already happened?

Prevent Duplicates from happening: if you already have duplicate records problem on your salesforce org, preventing them from happening again is a key step to solving this problem. There are different ways to prevent duplicates from occurring. The first is to understand why you have duplicates in the first place. Is it because users have imported records that already exist? Could it be users manually entering records they assume do not already exist because:

  • they checked but could not see existing records due to data visibility setup or the duplicate rules do not bypass sharing;
  • they have not checked if a similar record already exists;
  • they were not alerted or warned that they were creating duplicates.

Knowing why you have duplicates is a fundamental to solving the root cause of the issue.

Here are some pre-emptive steps to consider:

  1. Use Potential duplicates component on your standard and custom records
  2. Train your users to search for similar records before creating new records
  3. Check that your duplicate rules are setup properly and carefully consider appropriate actions on Create and Edit in your duplicate rules (Allow or Block)
  4. If you have an additional entry criteria in your duplicate rule setup, reconsider if you really need one for your duplicate rule.
  5. Check if your duplicate rules enforce sharing rules. This could be the reason why users cannot see records that already exist and create new ones. Review your data visibility rules to ascertain if it is still fit for purpose or whether you should bypass sharing rules on your duplicate rules settings.

Identify Potential Duplicates: The next step is to be able to identify and declare that a record is a duplicate of another record. The earlier the better (at the point of entry – on creation). Certain fields or combination of fields on a record can indicate that a record is a potential duplicate – meaning that it is similar enough to be considered as a duplicate. Ensuring users populate those fields is critical. Standard Salesforce duplicate management provides matching rules that enable you to define what fields Salesforce should use to compare records and to an extent how it should compare (exact or fuzzy matching, consider blanks). Standard Salesforce also provides you reporting capabilities to report on duplicate records across various objects.

Steps to consider:

  1. Create appropriate matching rules logic
  2. Test your rules to ensure they work
  3. Understand the extent and limitations of matching rules

Take action (warn, prevent, merge): once you have created duplicate and matching rules to identify potential duplicate records, the next step is to decide what you want your users to do with them. Salesforce duplicate management provides duplicate rules and matching rules that enable you to identify potential duplicate records based on a set of matching criteria. These rules provide options that allow to you warn or prevent users from manually creating (or editing) duplicate records on standard objects. There are free and paid products on AppExchange that extend the out-of-the box functionality such extending this to all objects (including custom objects), automating prevention from automated entry such as imports, websites, apex, other api based entry; and scheduling duplicate merge activities. Here are two free products on appExchange to consider:

  1. CloudAnswers Potential Duplicate component (extends warning / prevention on components to custom object)
  2. Duplicate Check for Salesforce (extends to api)

Take data quality steps to ensure conformance, consistency, accuracy of data. Ensure users have the correct visibility of records – if a user can’t see a record they need, they are likely to assume it does not exist and create a duplicate. Review your data sharing visibility access.

In summary, it is worth investing time now to avoid or remedy the real world consequences of having duplicate data in your Salesforce org.