The most read post of mine was, and still is, this one that I wrote in 2013. It has been viewed more than 100,000 times even though it is so far out-of-date, it is probably completely wrong information today. While I understand that “technical” articles will always draw more views than “opinion” articles, I find them boring to write. But I feel compelled to break my own rule this one time.
I have written in the past about data, specifically CRM data, but apparently not enough people are paying attention, so I will write about it again from a different angle.
CRM is Hard Enough
The numero uno barrier to success with Business Solutions like Dynamics 365 is achieving User Adoption. This is not unique to Microsoft, every other CRM platform suffers from this same challenge. Over the years I have been asked to look at a bunch of deployments that were failing to meet User Adoption goals. While the reasons varied greatly, including trying to go too big, too fast (see RapidStart for a solution to that one), the common denominating factor was bad data. In almost every case, the data served up to users in CRM had become polluted, inaccurate and otherwise unreliable. Once users determine the data is unreliable, their confidence wanes, and adoption becomes a downhill slide. Let’s explore how this happens.
The Migration Cesspool
While we have all heard the old adage “Garbage In, Garbage Out”, customers continue to insist on filling their new CRM can with garbage. In addition to out-of-date, and otherwise useless data, often data is brought into the wrong places. First, let’s look at out-of-date data. For some reason, many customers seem to fear, that if they do not have their entire history, from the birth of their business, pumped into CRM, they might find themselves missing some spec of data from 1972, that would be critical. This NEVER happens! In fact, when you look at these bloated deployments you can see that data that is even only a year or two old is seldom accessed. In addition to slowing things down, many of these customers find themselves paying for additional storage just to keep all of this useless crap at their fingertips. I remember my parents, who after retiring, decided to sell their house and travel the country in a motor-home for 5 years. They put a bunch of their old stuff into mini-storage. Five years later, when they sold their motor home and bought another house, they went to the storage place. They determined that everything in it was junk that they did not want, or need anymore, in spite of having paid to store it for all that time. If you have the old data to import, then you don’t need to import it… you have it! If you ever do need it, you can go back and get it later (you won’t). Think about a realistic cutoff for you business of just how old a data you really need in your shiny new CRM. You can thank me later. On the other issue of bringing data into the wrong places, this has to do with customers trying to unnaturally bend CRM to fit the way they have always done things. If the way you were doing things was working well, you would not be looking at CRM, so let’s explore that next.
A Contact is not a Contact. Let’s say you have been using Hubspot for Marketing Automation and CRM. You have decided that Hubspot, while great at Marketing Automation, is not robust enough on the CRM side for your needs. We see this a lot. In Hubspot, everybody is a “Contact”. It does not matter whether they came from a fresh list of “Prospects” you just bought from one of those companies that email you about their prospect lists every day, or if they are customers that you have been doing business with for years. The knee-jerk assumption is that you want to import all of your Hubspot “Contacts” into CRM as “Contacts”… instant Garbage in. This is an example of a lack of understanding of how CRM works and properly mapping your data. I don’t mean mapping fields, I mean mapping purpose. Step one is that you have to understand what “things” are in CRM and how they relate to what you call these “things” in your world. You have to map your terminology. From a sales standpoint, the four critical “things” in CRM are going to be Leads, Contacts, Accounts and Opportunities. You need to understand the difference between these “things”, and only then can you map your “things” to them. Let’s dive into each of these “things”.
“We don’t have any Leads”
We had a customer who was looking to move to Dynamics from another CRM that he said was junk. In our initial call, he said that while he does not have any “Leads”, he did have over 20,000 “Accounts”. Hmm, this seemed rather suspicious so I asked, “You actually have 20,000 existing customers that you do business with?”, “Well no, about 500 of them are existing customers”, “What are the other 19,500?”, “Customers we hope to do business with in the future”. Ugh. If we migrated this the way he was asking, he would soon conclude that Dynamics 365 was junk also. Instead we successfully convinced him to parse his Accounts by those that he had a relationship with, and those that he did not, and we imported the latter into CRM as Leads. I wrote a post about 3 years ago that is still relevant today with regard to this issue called Dynamics CRM Online Leads vs Contacts
A Coin Flip
In Dynamics 365, Contacts and Accounts are really two sides of the same coin. Accounts are businesses, businesses that you have either done business with, or are actively proposing to do some business with. If they are not either of those, they are Leads. Contacts are simply the people at those businesses. A few caveats here. In B2C situations, where your customer is a person, instead of a business, you may not need to utilize Accounts. You would use Contacts in that case but similarly, these are people that you have either done business with, or are actively proposing to do some business with. If they are not either of those, they are Leads. Another caveat, obviously I am speaking in a strict sales vein here, many people will also use Accounts and Contacts to track vendors, or others that are not sales related, but this is not typically where data issues arise.
Opportunities are Deals
An Opportunity is neither a person (Contact) or a Business (Account), but rather a specific “Deal” related to an Contact and an Account (or in the case of B2C, just a Contact). Whatever it is that you sell, this is the record that is used to track the effort to sell that “thing”. You could be working on an Opportunity to “Place an Order”, or sign a “Contract for a Project”, etc. You could potentially have multiple Opportunities for a single Account, for different pieces of business, each with a different Contact or Contacts, within that Account. An Opportunity could have been created by Qualifying a Lead into a new Account, Contact and Opportunity; or it could be a new Opportunity for an existing Account and Contact. Opportunities are “Real Deals”, with “Real People”, with enough specifics to pursue.
Now that we have a better understanding of what Leads, Opportunities, Contacts and Accounts are, we have a framework for importing our data into the right places. In most cases your partner will make sure this part is done correctly, unless they either don’t know, or lack the backbone to keep you from doing it wrong. The second, and equally dangerous part, comes after this thing is up-and-running, and the partner has faded into the background. You are now left to your own devices, and suddenly it seems like a good idea to pump as much data as you can find into CRM. My grandfather used to take triple the dosage of his prescribed medications, “If one is good, three is better”… he died young. But you buy, or otherwise obtain lists of names… lots and lots of names, and feel compelled to get them into your CRM. Okay, this is not necessarily a bad thing, it is actually like the blood of a healthy CRM, and pipeline. But this is also where customers often blow up their CRM. First, understand that in almost every case, these “Lists” are Leads. Don’t import them as Contacts, even if it is called a “Contact List”, it is a list of Leads. I had a customer proudly tell me once that he solved his own data import problem, where he could not import new records, “I deactivated Duplicate Detection, because it was causing issues”.
Data is a Project
All of the work you may do, to configure Dynamics 365 Sales, to be perfectly aligned with your organization’s sales motions, can go straight down the toilet, if you don’t get the data right. In fact, the data is the most important part, it is not an afterthought. Getting your current data “cleaned up” for proper import, is a big pain in the ass. But if you plan to scrimp on this effort, or minimize it, you should have just skipped CRM altogether. Here is a cheat sheet:
- Gather your existing data
- Establish a realistic cutoff date
- Mentally Map your existing Data to CRM Leads, Contacts, Accounts and Opportunities
- Sort, copy-paste, and otherwise break your data into the four CRM buckets (A spreadsheet for each)
- Clean, de-duplicate and normalize your data while on spreadsheets, not in CRM (No garbage in)
- Configure, activate, and do not ignore Duplicate Detection
- Import in the proper order, Leads > Accounts > Contacts > Opportunities
- Import one at a time and test, for example import Leads, and go check, if it is not right, delete import (including data) and start over.
- For regularly scheduled data imports, like Lead lists, create and save a data map.
- After every single import operation, check the data, if it is not right, it is very easy to remove it, fix it and re-import, not as easy if it has been in use for a while
I would argue that Data is the most important part of a Dynamics 365 deployment. Dynamics 365 is really just a sophisticated relational database, so if the data is not right, you blew it, and you will struggle to succeed with Dynamics 365 forever.