Lead Scoring in Salesforce: 3 Methods (2026 Guide)

Build lead scoring in Salesforce with Einstein, Flow, or formula fields. Step-by-step setup, scoring rubrics, decay rules, and routing automation.

7 min readProspeo Team

How to Build Lead Scoring in Salesforce: Einstein, Flow & Formula Methods

You enabled Einstein Lead Scoring, waited 48 hours, and half your leads came back with a score of zero. Turns out you didn't have enough conversion history - and nobody told you that before you paid for the add-on.

Lead scoring in Salesforce should be straightforward, but most teams pick the wrong method for their situation and end up with scores nobody trusts. Companies using lead scoring see 138% ROI compared to 78% without it, yet only 44% of organizations actually score their leads. Salesforce's own State of Sales data shows reps spend 9% of their week researching prospects, 8% prospecting, and 8% prioritizing leads and opportunities - a full quarter of their time on activities that a working scoring model should handle. The gap isn't motivation. It's implementation.

Choosing the Right Method

Before you touch a single field, here's the 30-second decision:

Decision flowchart for choosing Salesforce lead scoring method
Decision flowchart for choosing Salesforce lead scoring method
  • Unlimited or Performance edition? Einstein Lead Scoring is usually the fastest path to predictive scoring with minimal admin maintenance.
  • Admin comfortable with Flow, any edition? Build a Record-Triggered Flow. This is the right move for most teams.
  • Need something working in 20 minutes? Start with a formula field, then graduate to Flow when you hit its limits.
Einstein Flow Formula
Edition Enterprise / Performance / Unlimited Any Any
Cost $50/user add-on on Enterprise; typically included on Unlimited $0 $0
Complexity Low (config, not code) Medium (admin-level) Low
Data needed ~1,000 leads + ~120 conversions minimum Your own criteria Your own criteria
Deploy time 48 hours (initial analysis) 1-3 hours 20 minutes
Triggers automation? Yes Yes No

The cost difference matters. On Enterprise edition at $165/user/month, adding Einstein at $50/user means a 10-person team pays an extra $6,000/year just for scoring. On Unlimited at $330/user, it's typically included - but you're already paying double the base rate.

One prerequisite applies to all three methods: clean data. If your lead records are missing job titles, company sizes, and verified contact info, your scoring model will confidently rank garbage. Enrichment comes first. Scoring comes second.

Einstein Lead Scoring

Use this if you're on Unlimited or Performance, have enough lead and conversion history to train a model, and want scoring that updates itself without admin maintenance.

Skip this if you're on Enterprise (the $50/user add-on adds up fast), you have thin conversion history, or you need to explain why a lead scored high to your sales team. Einstein's biggest limitation is the black box - it'll tell you a lead scores 87, but the reasoning behind that number is vague at best.

When you flip it on, Einstein runs an initial analysis that takes up to 48 hours. It examines every field on your lead records by default, with custom settings allowing you to exclude fields and specify up to 100 field filters. If you don't have enough historical data, Einstein can fall back to a global model built from anonymous data across thousands of Salesforce customers. That global model is adequate but generic - it won't reflect your ICP.

Once active, Einstein scores leads at least every six hours and rescores within the hour when an attribute changes. The underlying model refreshes every 10 days, so your scoring adapts as your lead mix evolves. Machine learning lead scoring yields roughly 75% higher conversion rates - but only if you have the data to feed it. We've seen teams with fewer than 80 conversions in their history get essentially random scores from Einstein, which is worse than no scoring at all because it creates false confidence.

Here's the thing: teams enable Einstein, get excited about the scores, and then realize they can't act on them because they never built routing logic downstream. Einstein scores leads. It doesn't route them.

Record-Triggered Flow

This is the method we recommend for most teams. It costs nothing, works on every Salesforce edition, and gives you full control over the scoring logic.

Step-by-step Flow Builder lead scoring architecture diagram
Step-by-step Flow Builder lead scoring architecture diagram

Step 1: Create a custom number field on the Lead object - call it Lead_Score__c. This is your scoring ledger.

Step 2: Build a Record-Triggered Flow set to run After Save on Lead create and update. This fires every time a lead record changes.

Step 3: Add Decision elements that evaluate your scoring criteria. Each branch checks a condition - job title contains "VP," company size > 500, industry matches your ICP - and routes to an Assignment element that adds points to Lead_Score__c.

Step 4: Set threshold tiers. A common starting framework:

  • >70 points: Hot - route to senior reps immediately
  • 40-70 points: Warm - enter nurture sequence
  • <40 points: Cold - park in awareness campaigns

Step 5: Add a notification trigger at the hot threshold. When a lead crosses 70, fire a Slack message or email alert to the assigned rep. A lead that scores hot at 2 PM shouldn't wait until the next morning's report.

On r/salesforce, admins building scoring for enterprise orgs with 6+ month sales cycles run into the same challenge: leadership wants a simple healthy/unhealthy signal, but the underlying data is a mess. Flow handles this well because you can roll component scores for sales activity, intent signals, and marketing engagement into a single master score, then surface just the tier label to leadership.

The beauty of Flow is transparency. When a rep asks "why is this lead hot?", you can point to the exact criteria. Try doing that with Einstein.

Formula Fields - Quick Start

If you need something live in 20 minutes, a formula field gets you there:

(IF(AnnualRevenue = 0, 0, 10)) +
(IF(ISPICKVAL(Industry, ""), 0, 10)) +
(IF(MobilePhone = "", 0, 10))

This awards 10 points each for having annual revenue, an industry value, and a mobile phone number. Simple, readable, immediately useful for basic prioritization.

But formula fields hit three walls fast. The score is calculated, not stored - you can't manually override it per record. Every existing lead gets a score the moment you save the formula, which sounds great until 10,000 stale leads get scored as if they're new. And the dealbreaker: a formula field change won't fire a Flow, send an alert, or update an assignment rule. Your reps have to manually check scores.

When you find yourself wanting the formula to do something when a lead hits a threshold, that's your signal to graduate to Flow.

Prospeo

Your Salesforce lead scoring model is only as good as the data underneath it. Prospeo enriches every lead with 50+ data points - verified emails, mobile numbers, company size, industry, and job titles - at 98% accuracy. That means your scoring rubric actually has fields to score.

Stop scoring empty fields. Enrich first, score second.

Sample Scoring Rubric

Most guides tell you to score everything. Don't. Score 5-7 high-signal attributes. Every additional criterion dilutes the model and makes recalibration a nightmare.

Visual lead scoring rubric with point values by category
Visual lead scoring rubric with point values by category
Criteria Points Category
Job title matches ICP (VP, Director, C-suite) +15 Explicit
Company size 50-5,000 employees +10 Explicit
Target industry match +10 Explicit
Has verified email +5 Enrichment
Has direct dial phone +10 Enrichment
Visited pricing page +15 Implicit
Downloaded content / filled form +10 Implicit
Career page visit -15 Negative
Unsubscribed from emails -20 Negative
Competitor domain -25 Negative

If your deals typically close under $15k, you probably don't need Einstein-level scoring at all. A 5-criteria Flow with clean data will outperform a black-box ML model running on sparse conversion history every single time.

Deriving Point Values from Conversion Data

Don't just assign arbitrary weights. Pull your baseline lead-to-opportunity conversion rate, then check conversion rates for each attribute segment. If leads with VP titles convert at 3x your baseline, weight that criterion at 3x your base score increment. If pricing page visitors convert at 5x baseline, that's your highest-value implicit signal. Ground your rubric in actual numbers, not gut feel.

Score Decay and Negative Scoring

Left unchecked, lead scores only go up. A lead who downloaded a whitepaper 11 months ago still carries those points, even though they've gone completely dark. That's how you end up with an MQL list full of ghosts.

Lead score decay over time without engagement
Lead score decay over time without engagement

Implement score decay by subtracting points for inactivity. A straightforward model: -5 points per 30 days with no engagement. Build this as a Scheduled Flow that runs nightly or weekly against leads with no recent activity timestamps. Career page visits often indicate job seekers rather than buyers. Competitor domains are rarely buyers. Score them down hard.

Decay and negative scoring checklist:

  • Score decay rule configured (-5 per 30 days inactive)
  • Negative scoring for competitor domains, career page visits, unsubscribes
  • Monthly threshold review for the first quarter, then quarterly
  • MQL threshold compared against actual conversion rates each review cycle

Fix Your Data Before You Score

Data quality is the number-one reason scoring projects fail. On Reddit, admins consistently report that messy data - not scoring logic - is what kills their implementations. You can build the most elegant Flow in the world, and it'll still produce meaningless scores if half your leads are missing job titles, company sizes are blank, and email addresses bounce.

Prospeo's native Salesforce integration enriches lead records with 50+ data points per contact - verified emails, direct dials, job titles, company size, industry, technographics - at an 83% match rate. The cost runs roughly $0.01 per lead with a 7-day data refresh cycle, so your scoring inputs don't go stale. Connect it to your Salesforce org, and the fields your scoring model depends on actually have data in them.

Prospeo

Missing job titles, blank company sizes, and unverified emails turn your scoring model into a random number generator. Prospeo's CRM enrichment fills those gaps across your entire Salesforce database - 83% match rate, 7-day refresh cycle, starting at $0.01 per email.

Clean Salesforce data makes every scoring method work. Dirty data breaks all three.

Routing and Automation After Scoring

A lead hits 75 points. Now what? If nobody gets notified and the lead sits in a queue, you've wasted the entire scoring exercise.

Salesforce's built-in assignment rules work but have a 3,000-rule cap and don't support round-robin or workload balancing. For most teams, a Flow-based routing solution is the free, flexible alternative - trigger on Lead_Score__c crossing your hot threshold, then assign based on territory, segment, or round-robin logic you define.

Speed-to-lead research consistently shows response time within 5 minutes dramatically increases conversion - your routing logic should match that urgency. For teams that need more sophistication, third-party routing tools fill the gap: Kubaru runs about $20/month, Distribution Engine ranges from $20-55/user/month, and Chili Piper is around $15/user for ChiliCal with other modules commonly ~$30/user plus platform fees. LeanData is the enterprise option with custom pricing. Scoring without routing is a dashboard exercise. Build both.

FAQ

What's a good MQL threshold for Salesforce lead scoring?

Start at 60-70 on a 0-100 scale, then review against your actual conversion data monthly for the first quarter. A threshold that works for a PLG SaaS company won't work for enterprise services. Calibrate to your pipeline's historical patterns, then shift to quarterly adjustments once the model stabilizes.

Can I score leads without Pardot or Marketing Cloud?

Yes. Salesforce Flow and formula fields work in Sales Cloud on any edition at zero extra cost. Einstein is also Sales Cloud-native, though it typically requires the $50/user add-on on Enterprise. You don't need a marketing automation platform - just clear criteria and clean data.

How do I keep lead scores from inflating over time?

Implement score decay - subtract points for inactivity, such as -5 per 30 days with no engagement. Combine this with negative scoring for disqualifying behaviors like competitor domain visits or email unsubscribes. Recalibrate your thresholds quarterly by comparing MQL scores against actual downstream conversion rates.

What's the cheapest way to enrich Salesforce leads for scoring?

Prospeo enriches leads at ~$0.01 per record with 98% email accuracy and an 83% match rate, plus a free tier of 75 credits/month. Most enterprise enrichment tools charge $1+ per lead and lock you into annual contracts, making it the practical choice for teams that need clean scoring inputs without a six-figure data budget.


Start with Flow, keep your criteria to 5-7 signals, and don't score anything until your data is clean. That's the whole playbook.

B2B Data Platform

Verified data. Real conversations.Predictable pipeline.

Build targeted lead lists, find verified emails & direct dials, and export to your outreach tools. Self-serve, no contracts.

  • Build targeted lists with 30+ search filters
  • Find verified emails & mobile numbers instantly
  • Export straight to your CRM or outreach tool
  • Free trial — 100 credits/mo, no credit card
Create Free Account100 free credits/mo · No credit card
300M+
Profiles
98%
Email Accuracy
125M+
Mobiles
~$0.01
Per Email