Debating: Salesforce Leads vs Contacts

Out of the box, most Marketing Automation Platforms create a new Salesforce Lead for new records. But most sales people prefer to work in Contacts and Accounts.  Weird right?  If reporting is excruciating, or you’re struggling to see account-wide data, you may want to ditch Leads entirely.  This post reviews the pros/cons of Salesforce Leads vs Contacts (but spoiler alert: it’s not an easy choice.)

>> Related: Salesforce Lead Source vs. Lead Source Detail vs. Campaign Source <<

Note:  a capital L Lead is different from a lead.  I’ve been careful to use capitalization when I’m talking about Salesforce objects, like the Contact, Lead, Opportunity, and Account.

Defining Salesforce Leads vs Contacts

Salesforce Leads denote “unqualified sales opportunities.”

  • This person could be an employee at an existing Account, a new sales opportunity, or complete garbage.
  • In theory, you create a new Lead every time a person expresses new interest, then qualify if they represent a new opportunity, and convert or disqualify them.
  • By default, Leads aren’t associated with Accounts.

A Salesforce Contact is a person that is (almost always) associated with an Account.

  • In theory, all Contacts have to be associated with Accounts, but in reality there are orphaned Contacts.
  • You can also associate a Contact with multiple Accounts if you enable that setting within Salesforce, say if they’re a consultant with many clients.
  • Because Contacts are associated with Accounts, they have lot more data – we enrich and store a ton of fields on the Account level that we would never ask for in a lead gen form.
  • Salesforce Contacts also get attached to Opportunities through Opportunity Contact Roles to help define their role in potential deals.  This is especially important for large companies, where you could have 10,000 Contacts in your database under the Globex Corporation account, but only 5 employees are influencing the deal.

What’s the problem with the status quo?

Salesforce designed/defined Leads a long time ago, before MAPs were common.  The design inadvertently created three big headaches:

  1. Obviously, as digital marketing has evolved, the duplicate Lead records became a nightmare.  Creating a new Lead every time the same person does something… is stupid IMO.  ¯\_(ツ)_/¯
  2. The industry is trending towards Account Based Marketing (ABM), and here we are treating every form fill like a completely blank canvas.  SDRs are calling [former] customers trying to qualify them. 🤦🏼 Or two reps are following up with two people from the same opportunity. 🤦🏼 🤦🏼
  3. But the most common frustration I hear is in reporting.  When using Leads and Contacts, reporting on simple questions like “how many MQLs did I have this month?” requires two different reports.  Every time.  When naive Salesforce users pull reports that look incomplete, they freak out and generally make life miserable.

Most of us want the Account data in order to better route and qualify new inquiries.  And pretty much all of us are sick of the double reporting.  So one common workaround is to ditch Leads entirely.

Pros of Working with Just Contacts

It’s very enticing to work with just Contacts (and indeed I often recommend it to some of my B2B clients):

  1. Easier reporting & better visibility: Gone are the days of looking at two reports or exporting objects like Campaign Members to look at both Leads and Contacts. Now everyone can look at one report and see everything that’s happening.
  2. Reporting from an account perspective: More and more companies want reporting on the account level — account penetration, active accounts, inactive accounts, etc.  
  3. Reduce embarrassing customer interactions: We’ve all been there – an SDR gets a new Lead and follows up only to learn it was a customer account and they pissed off CS. By focusing on Contacts, SDRs can easily tell if it’s a customer account (or better yet, we can just route customers away from SDRs).  
  4. No longer live in two places: The original Salesforce theory is that Leads should be the only place for follow up because by the time the record is a Contact, all follow up happens on the Opportunity.  In reality, reps have to monitor Lead and Contact queues.  It’s annoying and complicates every process and training.

Cons of Working with Just Contacts

Thought this was a no brainer?  Sorry!  There are new/different headaches when you only work in Contacts:

  • Dealing with junk data: Contacts must have an Account association, but not all forms include the Company Name field.  Prospects also use personal email addresses that make it tough to infer the company.
    • A solution:  Records without a clear Account association can be assigned to a general holding account until they’re triaged by reps. Companies usually call this account “None” or “No Account” and push all junk/incomplete data into it.  
  • Losing out on some native SFDC features: Salesforce was built with Leads as the primary place to follow up and create Opportunities. And they built nifty features like Lead Queues, Lead Assignment Rules, Lead Conversion Reporting, Lead “Unread by Owner” Flags, and more. When you work in Contacts, you have to DIY these.
    • A solution:  You can create workarounds with Salesforce Flows or third-party tools like LeanData or RingLead (provided you have a talented sales ops admin).
  • Flooding accounts with many contacts: Traditionally Account<>Contact relationships were reserved for just the records you want to talk to. Without Leads, important records are mixed in with all other records at the Account.
    • A solution:  You can create multiple list view components on an Account to bucket Contacts based on fields like Contact Status. One list view will hold the Contacts sales should be looking at, and another list view will contain the rest. (This will be easier when Dynamic Related Lists arrive with the Summer 2022 release.)
  • Training, training training: More and more companies are electing to go the all Contact route, but you’ll have to patiently/consistently train reps how to prioritize/work Contacts, troubleshoot ambiguous cases (what happens if the automation matches to the wrong Account?), create new Accounts, merge Accounts, and decipher the “Unknown” Account.
    • No solution here – training sucks.

As you deliberate which headaches you want to live with, it helps to split the debate:

  1. Do we want to auto-match people to Accounts?
  2. And/or do we want to auto-convert Leads to Contacts?

1. Do we want to match people to Accounts?

If you work in a very defined market (like public high schools), it’s a no brainer to automatically match new people to Accounts.

If your market is hard to define, like franchised restaurants with holding companies operating across different brands, it’s a nightmare to automate.  Thankfully tools like LeanData and RingLead have gotten much better.  They use fuzzy logic, and know that IBM and International Business Machines are the same.  Using them is pretty much the only way to make this manageable.

I also can’t stress enough how important it is to fully map how you’ll handle un-matched Accounts, including personal emails.  You have two options:

  1. Put everyone with incomplete account data into a master “Unknown” Account. Yes, junk and un-matched hot leads are in the same place. 😬 Yes, it can easily balloon to 15,000 contacts until you can’t open the record any more. 😬 😬  Yes, an SDR has to look up the Contacts, be thoughtful, and attach the Contact to an existing Account, or create a new Account. 😬 😬 😬
  2. Or create new Accounts.  If you go this route, having hundreds/thousands of dupe accounts sabotages this whole project.  So you have to either give your Sales team the permission to merge accounts (terrifying) or field endless requests to merge the accounts yourself (annoying). FWIW, RingLead has an account de-dupe feature but LeanData does not.

Un-matched Accounts is the #1 reason companies revert back to Leads.  The “Unknown” account unnerves reps and managers.  Or they’re unwilling to manually merge Accounts.  Be sure to scope the “day in the life” and get buy-in.

2. Do we want to auto-convert Leads to Contacts?

I don’t think it’s dumb to have Leads and Contacts separated, per se:

  • When dealing with large companies, you might want different Accounts for different business units, but every email is [email protected] Automation isn’t magic, and you may simply need a human to validate it’s the right Account before converting to a Contact.
  • You may also, upon superior human review, decide this person is in the right Account, but not important to the selling process.  We don’t want to clutter up the AE’s view of the deal with people that aren’t relevant, so we sequester them as a Lead.

But!  If your reps #struggle with manual processes like these, you’re probably better off automating the conversion.

So where do we go from here?

To be honest, this wouldn’t matter if we could just pull in multiple objects into the same report!  I hope this is why Salesforce bought Tableau.  But who knows if we’ll ever see cross-object reporting brought into the main platform. /rant

If you move to all Contacts, you’re never going to have perfection, but reporting will be easier.  What’s the risk tolerance for errors?  Can you train the team to merge Accounts?  Or can you stomach reading reports where every other lead is from the “Unknown” account?  Basically talk through the trade-offs of Salesforce Leads vs Contacts… the headache may still be worth it to get cleaner reporting or ABM insights.

 

Want tips, tutorials, best practices, and other cool stuff delivered to your inbox?  Subscribe to the quarterly Sponge newsletter >

Sponge | Marketing & Revenue Ops

Get a System Audit

Whether you inherited a new instance or just want a second opinion, we'll dive in and benchmark your tech stack.

Sponge | Marketing & Revenue Ops

Download Resource

Use this form to recieve your free resource in your inbox today!