Blog

Administrators (and developers) are often faced with the task of cleaning up duplicate data from an org. Contact and Lead objects are the usual suspects for duplicate data. Anyone who has made an attempt at cleaning up duplicate data would agree it is a daunting and quite unenviable task. Duplicate data weighs down on your employee performance, application usability, risks customer satisfaction, and skews analytics. So, it is a priority for most organizations to put in place mechanisms to prevent data duplication.

As part of the Spring ’15 release, Salesforce.com has rolled out this much asked for feature – “Duplicate Management”. While they have marketed it as a Data.com feature, it doesn’t need a Data.com license, any customer with at least a Professional Edition subscription can leverage this new native Duplicate Management feature added by Salesforce.

Let’s have a look at the details.

This new feature appears under Setup | Data.com Administration | Duplicate Management. There are two primary concepts you need to grasp, in order to set up this feature – Matching rules and Duplicate Rules. A matching rule tells Salesforce how to compare records, and groups of matching rules make up a duplicate rule.

Matching Rules

You will find Matching Rules within the Duplicate Management setup section, where there is the Matching Rule List View. On creating a new Matching Rule, you would notice that this feature is currently supported for Account, Contact and Lead objects alone.

While this is a limitation, these three are in fact the most common candidates that need de-duplication checks. While defining a matching rule, you would provide the fields that need to be considered for matching. For instance, suppose our business rule defines a duplicate account as any two accounts sharing the same phone number, then we would define the matching rule as shown below.

 

Notice that Salesforce gives us the option of specifying multiple fields to check for matches; as well as the filter logic (And-Or statements) to link them. Another interesting aspect is that fact that it allows us to define the level for checking for matches. The matching method allows us to choose whether to perform an exact match, or a fuzzy match. Fuzzy match would mean that, even an approximate match would be considered as a duplicate. Fuzzy matches are best used for defining text-field based matching rules (for instance, on Account Name). Salesforce has published the detail logic used for fuzzy matching in this page:

https://help.salesforce.com/htviewhelpdoc?err=1&id=matching_rules_matching_methods.htm

After saving this matching rule, it does not become available until it is explicitly activated by clicking the Activate button. The activation is not instantaneous, and you are notified by an email when the Matching Rule gets activated. In most cases, the activation happens in less than a minute.

While defining the matching rules, you also get to specify whether the system should treat two blank fields as a match. That is, in our example, it would allow only one account in the system that has a blank value for the Account > Phone field – since we have marked Match Blank Fields as Y.

That’s it; your matching rule is ready of use. But of course, the matching rule has no effect on any data operations unless it is made part of a duplicate rule.

Duplicate Rules

Duplicate Rules are also created in the context of an object, and as described before you would get options to create duplicate rules for only Account, Contact and Leads. It is through a duplicate rule that would specify when and how to run a matching rule.

In the context of our example, you could specify whether Salesforce should compare the Account record that the user is trying to create, against all records in the system; or only against those records that the user has access to. You would do this by specifying the Record Level Security parameter on the Duplicate Rule. However, it would be of interest to note that, in the event of a match being found with an existing record that the current user doesn’t have visibility to – he would only be shown the duplicate error, but would not be shown the existing record. It could lead to some amount of end user confusion, so it is best to have a FAQ or Wiki circulated to your end users before rolling out this feature.

Also, while defining the duplicate rules, you would be able to specify the application behavior when a user attempts to create a duplicate record. You could make the system to prevent the record creation with an alert, all record creation with an alert, or allow record creation without an alert.

 

You would then choose the matching rule based on which the duplicate rule should run, and also specify entry criteria if any. A common use case for specifying entry criteria for duplicate rules is to ensure that the test records are not considered.

Another interesting aspect about the native Salesforce Data.com Duplicate Management feature is that you are able to compare for duplicates across object (objects meaning, the three objects that are supported).

For instance, shown below is a case where Accounts are being compared with Contacts. This could be a valid use case if you are using the Person Account of Salesforce. A more relevant use case could be to compare Leads with Contacts. The only extra step you would need to do while configuring cross-object duplicate rules is that, you need to specify a field mapping between the objects (as shown below).

 

As is the case with Matching Rules, a Duplicate Rule also needs to be activated before having any effect on the system. Once activated, all record creations are monitored and duplicate errors are thrown based on your definition of the matching rule and duplicate rules.

On an attempt to create a duplicate record, the user would be thrown a duplicate alert (alert text can also be specified while defining the duplicate rule), and is shown the list of possible duplicates records, as shown below.

 

In summary, this is a very nifty new feature from Salesforce, and could save you from having to scout AppExchange for data de-duplication products.

However, do note that this is a “duplicate check on create” feature. It is not a data clean up feature, where you could perform duplicate tests on existing data. This feature is only valid for a creating new data for either of Account, Contact or Lead objects.

 

What Certification are you studying for now?

Focus on Force currently provides practice exams and study guides for sixteen certifications

Native Duplicate Management in Salesforce

Administrators (and developers) are often faced with the task of cleaning up duplicate data from an org. Contact and Lead objects are the usual suspects for duplicate data. Anyone who has made an attempt at cleaning up duplicate data would agree it is a daunting and quite unenviable task. Duplicate data weighs down on your employee performance, application usability, risks customer satisfaction, and skews analytics. So, it is a priority… Read More

Native Duplicate Management in Salesforce

Salesforce Multi Org Dilemma

What exactly is a Salesforce org? The Salesforce document glossary describes an org (or Organization), as “A deployment of Salesforce with a defined set of licensed users. An organization is the virtual space provided to an individual customer of Salesforce. Your organization includes all of your data and applications, and is separate from all other organizations.” So, what is a multi-org situation? The multi-org situation that I refer to in… Read More

Salesforce Multi Org Dilemma

Salesforce Lightning Connect Example

Unlocking Back Office Data through Salesforce Lightning Connect The general approach to enterprise programming is changing. Significant investments are being made in making enterprise IT applications agile and nimble. Salesforce, being the innovators they are, have taken significant strides in this direction. One such move is the introduction of the lightning framework – a philosophy pioneered to reduce the time in developing and deploying enterprise applications. For any enterprise system… Read More

Salesforce Lightning Connect Example

Salesforce Process Builder Example

Lightning Process Builder – Point & Click Process Definition in the Cloud  The Spring ’15 release of Salesforce has opened up a whole new philosophy of developing in the cloud – the lightning framework. One key element of the lightning framework is the Lightning Process Builder. Before diving into Lightning Process Builder, it is good to understand where Salesforce is going with the entire “Lightning” idea. It is positioned as… Read More

Salesforce Process Builder Example

Salesforce Email to Case Setup Example

Email to Case is a standard Salesforce feature that allows cases to be created from emails.  We will be looking into the detail of On-Demand Email-To-Case and Email Services.On Demand Email-To-CaseThe first question when considering this functionality maybe which email address should be used to send to? We cannot send email to just any email address and have a Salesforce case created. We need to generate it using Salesforce configuration.Go… Read More

Salesforce VLOOKUP Example

Many people are aware of the Microsoft Excel vlookup function, that will return a value in a table (or defined range of cells) based on an identifier. Salesforce has a function with the same name, and this post will explain how it can be used using an example.Let’s say that you have a business requirement that only cases that have been open for a certain period of time can be… Read More

Salesforce VLOOKUP Example

Salesforce Multiple Record Types Example

Creating Multiple Record Types Creating brand new custom objects in Salesforce, while necessary, can be time consuming and tedious. Often times you will need to create a different page layout or new selections for a particular picklist field but the only way you know how to do this is create an entirely different custom object and customize it as needed. This is where creating multiple record types for one object… Read More

Salesforce Multiple Record Types Example

Creating a Dynamic Dashboard in Salesforce

Dashboards are a great way to represent data visually within an organization. They can show how you have performed in the past and what’s happening at the moment – two keys to any business that wants to be successful.Normally, dashboards in Salesforce are run based on one user for the entire organization. Meaning the dashboard looks the same for all users within the organization. This is great if you are… Read More

Creating a Dynamic Dashboard in Salesforce

Salesforce Web to Lead

The Salesforce Web to Lead functionality offers an easy way to get leads from your website into Salesforce. Although there are some constraints with its use, it will satisfy the requirements for many organizations. Salesforce also offers a way to associate the leads from the webpage to a particular campaign. You can also have multiple web-to-lead forms from multiple websites or landing pages, all inserting leads in Salesforce and either… Read More

Salesforce Web to Lead

Reporting on Accounts that haven’t ordered a product in the last 12 months

It is quite common for organizations to bring order history into Salesforce to add to other interactions captured in Salesforce to have a complete picture of a customer. Once the information has been brought into Salesforce, it is easy to report on account order history, but what if you would like to report on accounts that don’t have order history for a particular product in the last 12 months. This… Read More

Reporting on Accounts that haven’t ordered a product in the last 12 months

Reporting by Month and Year with Salesforce Reports

You may have the requirement to report by month and year. If you have tried that, you will find that the standard reporting features may not provide you with what you are looking for. Lets say that you would like to report on the number of closed opportunities over the last 3 years. You would like to have months reported along the top in columns and the years down the… Read More

Reporting by Month and Year with Salesforce Reports

What can you do with SalesforceA

SalesforceA was released in Spring 14 to allow Salesforce admins the flexibility to do routine user management on their mobile device. If you have ever had to immediately inactivate a user, or had to response ASAP to a user that has locked themselves out and needs a password reset, then this app will come in handy. Here is our review of what you can do with this app, what’s good… Read More

What can you do with SalesforceA

Salesforce Sandboxes

What is a Salesforce Sandbox? Although it is very easy and possible to make changes directly to configuration in Salesforce, it is a better idea to test out those changes in another environment which won’t affect your users. That’s why Salesforce includes a ‘sandbox’ for every production organisation where changes can be made and tested before moving them to production. This type of environment is called a sandbox. The number… Read More

Salesforce Sandboxes

Salesforce Quotes

Once you have added your products into an opportunity, Salesforce has inbuilt functionality to allow you to generate and email quotes to customers. Lets take a look at how this works, and what you need to be aware of when using Salesforce Quotes. First, to use Quotes they need to be enabled. By default the are not enabled and you won’t see them in your Opportunity screen. Go to: Setup… Read More

Salesforce Quotes