How to think about Leads vs. Contacts in Salesforce

This post is adapted from an essay I wrote for Modern Sales Pros. Due to popular demand for a more shareable version, I’m posting it here.

How to Use Salesforce Leads vs Contacts

Screen Shot 2020-01-31 at 5.28.07 PM.pngI’ve seen every iteration of setup when it comes to using Salesforce Leads vs Contacts vs Opportunities vs Accounts for new prospects coming in the door.
There are some strong considerations you need to keep in mind, but there are 3 main approaches:
  1. Use Leads and Contacts
  2. Convert everything into Contacts
  3. Use Opportunities as Leads (this is a subset of #2)

1. Leads and Contacts

Salesforce Leads vs Contacts – why not use both? It’s the standard Salesforce way, but it creates a lot of complexity – the primary issue is the Salesforce database model.

I’ve seen every iteration of setup when it comes to using Salesforce Leads vs Contacts vs Opportunities vs Accounts for new prospects coming in the door.

There are some strong considerations you need to keep in mind, but there are 3 main approaches:

Use Leads and Contacts

Convert everything into Contacts

Use Opportunities as Leads (this is a subset of #2)

  • Leads are their own object.
  • Leads – at some point – get converted into Contacts. They can never be Leads again.
  • Contacts must have an Account.
  • Opportunities must have an Account.
  • Contacts may be associated to Opportunities, but it’s not required. 
    • Please require reps to add OCR (Opportunity Contact Role) relationships and Primary Contacts, it makes everything in your reporting life easier later.
  • People get confused with terminology of “Converting Leads into Opportunities,” but you’re converting a Lead into a Contact, and the Opportunity is created during the conversion process by default.

Why this is a good model?

The Salesforce Lead and Contact Model is the default, and it syncs well with automation tools.

This is good for primarily smb/mid-market sales, i.e. with few buyers per account.

If you have a sales-assisted transaction model, the Salesforce Lead and Contact Model is for you.

Why this is a bad model?

This adds so a lot of language complexity to your business. Sales reps also have to work out of two separate views if you’re using standard Salesforce views; one for Leads and one for Contacts.

People treat Leads and Contacts differently, but they are all just people. Let’s say you have an inbound lead come in, book a discovery meeting, you convert them to a contact/opp, and lose the deal. They’re now a contact. What do you do when they request a demo in 6 months?

You can remedy this by treating Contacts like Leads, replicating Lead Status on the Contact (with the addition of “customer”, “churned customer”, and “active opp” to the Salesforce picklist), and using MQL Date or Assigned Date on both the Lead and Contact objects.

Use a picklist to separate inbound/vs outbound (see more below).

This model is also very complicated for reporting using standard Salesforce reports.


2. Contacts only

In the debate of Salesforce Leads vs Contacts, this route removes Leads almost entirely by immediately converting them into Contacts.

This is the model I’m seeing most high-growth organizations use because it streamlines so much.

In this model, you use automation tools to auto-convert all Leads into Contacts. This requires a few things:

  • Since all Contacts require an Account, you need some kind of Lead to Account Matching system (e.g., domain matching tool)
  • Since all Contacts require an Account, you need a placeholder account for unmatched Leads (i.e., gmail, unable to parse org name)
  • You need to replicate basic lead features on the contact, like MQL date/time and Lead Status (as explained above)

Why is this a good model?

The Contact Only Salesforce Model provides dramatically simplified views and terminology for your team. Reporting is made easier because your are reporting within a single Salesforce object rather than across multiple objects.

If you have multiple buyers in accounts, or do account based sales/enterprise sales, the Contact Only Salesforce Model is for you.

Why is this a bad model?

It requires a sophisticated operations team to build and maintain. It’s going to increase the burden of your Marketing and Sales automation systems.

You may lose great Leads because they get triaged into the catch-all account of doom. To rescue leads from the catch-all account, designate a person to manually look up the leads on LinkedIn and other databases to clean out the account on a weekly/monthly basis.


3. Opportunities as Leads

In the debate of Salesforce Leads vs Contacts, this one goes off the board to only utilize Opportunities (as Salesforce Leads). I see this rarely, but if you want to optimize reporting over everything else, you can create an opportunity for every lead. It is madness, but people do it. Obviously, you need to convert all the Contacts over first.

This dramatically streamlines lead to revenue conversion rate reporting, but it has a ton of its own issues and I don’t recommend it. I’ve seen it 3 times in the wild, and all 3 teams have giant operations teams behind it to support it, with so much custom data warehousing.

It looks like a great shortcut, but it’s a pit of evil. If you do this, try to keep everything in one funnel instead of using workflows to transition Leads between record types. 

Why is this a good model

The only way to use standard Salesforce reports for lead-to-revenue reporting, and to report on multiple sales cycle attempts.

If your sales cycle is like, 3 days long, sure, you should do this. Otherwise, don’t.

Why this is a bad model

It’s a nightmare to maintain.

How to think about Salesforce Leads vs Contacts

I worked with an organization that treated Leads as inbound, and Contacts as outbound. But since a contact can come inbound (i.e. a lost opp that books a demo 6 months later), you end up with either

1) routing rules complexity, or

2) missing Leads because the inbound team thinks they don’t work Contacts.

At the end of the day, your prospects are people, not database objects. Getting hung up on the database objects is going to ruin your team’s ability to be excellent.

To separate inbound/outbound, make a Salesforce picklist – like “Sales Approach” – and populate the value through automation rules. Track the assigned/date time, do not use the created date (again, the date you’re added to a database is not the date you raised your hand to say “Yes, contact me”). Track each sales attempt.

But Marko, what do you do?

We deal with SMB/mid-market sales, i.e. with very few buyers per account and we have a sales-assisted transactional model so we use Leads and Contacts. It works well for us.

Happy to answer more questions about this, but that’s the shortest answer I could give :)