Sunday, 8 November 2015

Data Nirvana: phone number accuracy in Salesforce

How accurate are your Account & Contact phone numbers in Salesforce?

Thanks to everyone who voted on my poll relating to this new app idea. In this post I wanted to share a bit more background on where the idea for the app came from.

If you haven't yet voted, here's a quick link to the post.


There are various sayings in the Salesforce.com world. Have you ever come this one before?
"if it's not in Salesforce then it doesn't exist."
Over the past couple of years I've been thinking of adding a new saying to this collection. That saying would simply be,
"if it's in Salesforce but not accurate, then it's useless".

Sorting the good from the bad

This new saying would be particularly relevant when it comes to phone numbers in Salesforce. It's all well and good having thousands of records with a populated phone number field if, when you call the number, you find that it's incorrect and/or unusable.

Do any telephone numbers in your Salesforce ORG look like this?

CTI and poor data quality = an unhappy combination

Phone number field format accuracy becomes particularly crucial when computers implement a form of Computer Telephony Integration (CTI) into their Salesforce ORG.

One of the chief benefits of CTI is the option of automatically linking an incoming call from "Bob" in Canada to Bob's Salesforce contact record when he calls.

However, if Bob's number is 416-555-0181 but in your Salesforce ORG his number is saved as 416-555-00181/00182 there will be no match and the investment in CTI takes an instant hit.

The person answering the phone to Bob won't see his Contact page automatically loading up and instead will have to ask Bob who he is and why he's calling the company.

How to improve phone number accuracy

A lot of my customers have been struggling with the best approach for cleaning/validating Salesforce data.

Essentially data validation falls into 2 approaches:
  1. Clean data on the way in (validation rules, JavaScript, 3rd party tools such as PCA Precent / PostCode Anywhere or Country Complete)
  2. Clean data after it has been saved (batch processing/data loading)
Whilst it would often be preferable to prevent bad data from getting into your Salesforce org in the first place, any validation rules/check boxes/JavaScript prompts that you put into your web forms are likely to slow down the person entering the data. In the worse case, you could even stop them from submitting data completely.

For instance, on a car insurance comparison website how likely would you be to re-enter your phone number if all you want (as the consumer) is a list of prices?

Cleaning existing data

After /spending a lot of time on the Developer forums and AppExchange listing I believe there might be a place in the Salefsorce eco-system to support a programme that would run through all phone number fields in your Salesforce ORG and validate/cleanse them automatically.

I'm at any early stage with the design of this new app, but currently I'm imaging a batch process that would run automatically each night and would:
  • Check whether each phone number stored met an accepted criteria
  • Correct invalid phone numbers (add country prefix etc)
  • Count/total the records were missing phone numbers completely

What do you think? 

Would this be a useful application to have in your Orgs?
What other features would you like to see in a phone cleaning/validating app?