SfSkills Domains Docs GitHub

Home / admin / lead-scoring-requirements

lead-scoring-requirements

Use this skill when designing or documenting a lead scoring model in Salesforce Sales Cloud or Account Engagement: qualifying criteria, MQL/SQL threshold definitions, scoring dimensions (demographic, firmographic, behavioral), and sales handoff SLA. NOT for configuring the scoring, grading, and automation rules in Account Engagement — use admin/mcae-lead-scoring-and-grading. NOT for the whole marketing program's lifecycle stages and platform scope — use admin/marketing-automation-requirements.

Open the skill folder on GitHub


Lead Scoring Requirements

This skill activates when a practitioner needs to design, document, or validate a manual or rules-based lead scoring model in Salesforce Sales Cloud — defining the qualifying criteria, score dimensions, MQL/SQL thresholds, and the sales handoff SLA that bridges marketing pipeline to revenue pipeline.


Before Starting

Gather this context before working on anything in this domain:


Core Concepts

Scoring Dimensions

A lead scoring model combines two orthogonal dimensions:

  1. Fit (demographic/firmographic) — static attributes that describe how closely the lead matches the ICP. Common fields: Industry, NumberOfEmployees, AnnualRevenue, Title, LeadSource. These change rarely after creation.
  2. Interest/Engagement (behavioral) — dynamic signals that indicate intent. Examples: number of content downloads, email click count, demo request, pricing page visit. These must be written back to Lead fields from a marketing automation system or tracked via custom Activity-based Flow.

The composite score is the weighted sum of both dimensions. Salesforce's sample formula approach uses separate numeric fields for each dimension and a master formula field that sums them. Source: Salesforce Help — Sample Scoring Calculation Formulas.

MQL and SQL Thresholds

MQL (Marketing-Qualified Lead): A score threshold at which marketing certifies the lead is worth sales attention. The MQL threshold must be agreed upon jointly by marketing and sales ops — not set unilaterally. A typical B2B starting point is a composite score ≥ 50 out of 100, but the right number depends on acceptable false-positive and false-negative rates from historical conversion data.

SQL (Sales-Qualified Lead): After a rep reviews an MQL, they apply a structured qualification framework (BANT: Budget, Authority, Need, Timeline; or MEDDIC: Metrics, Economic Buyer, Decision Criteria, Decision Process, Identify Pain, Champion). An SQL is a lead the rep has verified meets the minimum threshold for an active sales cycle. SQLs are typically converted to Opportunities.

The boundary between MQL and SQL must be documented with explicit criteria, not left to rep discretion — otherwise recycle and reporting data is unreliable.

Handoff SLA

The handoff SLA governs what happens at each transition:

SLA elementWhat it specifies
Score thresholdThe minimum composite score for automatic MQL flag
Required field completenessMinimum set of fields that must be populated before handoff (e.g., Company, Title, Phone or Email, LeadSource)
Max response timeHow long a rep has to accept or recycle an MQL (common: 1 business day for hot MQLs, 3 days for warm)
Recycle criteriaConditions under which a lead is returned to marketing nurture: no response, wrong timing, not a decision-maker

Without a documented SLA, leads fall into a "black hole" and attribution data becomes meaningless.

Salesforce Field Implementation

Lead scoring in native Sales Cloud uses:

Field typePurpose
Numeric custom fieldsOne or more (e.g., Fit_Score__c, Engagement_Score__c) maintained by Flow or Apex
Formula fieldOne (e.g., Composite_Score__c) that sums or weights the dimension fields: Fit_Score__c + Engagement_Score__c
Picklist or checkbox fieldLead status flags: Is_MQL__c (checkbox), MQL_Date__c (date/time), SQL_Date__c
Lead Stage custom picklist (optional)Raw → Nurture → MQL → Accepted → SQL → Converted/Recycled

Formula fields cannot be filtered in reports unless you also maintain a mirror numeric field. If MQL routing via Assignment Rules or Flow depends on the score, the score must live in a stored numeric field, not a formula field. Source: Salesforce Help — Customize Scoring Rules.


Common Patterns

Pattern: Weighted Composite Score with Dimension Fields

When to use: Org is Sales Cloud-only (no Account Engagement), or Account Engagement score needs to be supplemented with CRM-side firmographic fit data.

How it works:

  1. Create Fit_Score__c (Number, 0 decimal) — updated by a record-triggered Flow that evaluates Industry, NumberOfEmployees, Title against point tables.
  2. Create Engagement_Score__c (Number, 0 decimal) — updated by a Flow triggered when marketing writes activity signals back to the Lead (e.g., incrementing a Content_Downloads__c counter).
  3. Create Composite_Score__c as a stored Number field updated by Flow: Fit_Score__c + Engagement_Score__c
  4. Create Is_MQL__c (Checkbox) set to true by an entry-criteria Flow when Composite_Score__c >= [threshold] AND required fields are populated.

Why not a single formula field for everything: Assignment Rules and Flow entry criteria cannot reference formula fields reliably when the formula depends on other formula fields (cross-object formula restrictions). Storing dimension scores as real number fields keeps the automation reliable and the data reportable.

Pattern: Account Engagement Score + Salesforce Grade Composite

When to use: Account Engagement (Pardot) is the primary marketing automation platform and already maintains a prospect score (0–100) and grade (A–F).

How it works:

  1. Map the Account Engagement Score field to a synced Lead/Contact field (Pardot_Score__c or the standard Score field if enabled).
  2. Map the Account Engagement Grade to a numeric field (Pardot_Grade_Numeric__c) via a Flow that converts letter grades to numbers: A=5, B=4, C=3, D=2, F=1.
  3. Define MQL as: Pardot_Score__c >= 50 AND Pardot_Grade_Numeric__c >= 4 (score ≥ 50 AND grade B or better).
  4. Use a Flow to stamp MQL_Date__c and notify the assigned rep when both conditions are met.

Why not use only Account Engagement score: A high engagement score without fit (grade) produces false positives — a competitor researching your product or a student writing a paper can score highly. The two-dimensional model filters for genuine prospects.


Decision Guidance

SituationRecommended ApproachReason
No marketing automation, Sales Cloud onlyFormula + stored numeric fields, record-triggered Flow for dimension scoresAll scoring logic stays in CRM; no sync dependency
Account Engagement active, single scoring modelUse AE Score + AE Grade synced to Lead fields, Flow for MQL stampingAvoids duplicating scoring logic across two systems
High lead volume (>200/day) and complex scoringScheduled Flow or batch Apex to recalculate scores nightlyRecord-triggered Flow on high-volume creates governor limit risk
Sales disputes MQL quality regularlyTighten fit dimension weights, raise threshold, add required field gateScore threshold and field gate together reduce false positives
Score must appear in Assignment RulesStore composite score in a Number field, not a Formula fieldAssignment Rules cannot reliably filter on formula fields
Lead recycle must be tracked for attributionAdd Recycle_Count__c and Recycle_Reason__c fields, update in SLA FlowWithout recycle tracking, nurture re-entry data is lost

Step-by-step instructions for an AI agent or practitioner working on this task:

  1. Align on ICP and scoring dimensions. Run a discovery session with marketing and sales ops to map the ICP to specific Salesforce fields and collect behavioral signal availability. Output: a scoring dimension matrix with draft point values.
  2. Define MQL and SQL thresholds. Get explicit, documented agreement on the composite score range that constitutes an MQL and the BANT/MEDDIC criteria a rep must confirm for SQL status. Record the thresholds and acceptance criteria in the handoff SLA document.
  3. Map required Salesforce fields. List every field needed: dimension score fields (numeric), composite score field (formula or numeric), status flags (Is_MQL__c, MQL_Date__c, SQL_Date__c), a Lead Stage picklist, and recycle tracking fields. Confirm none already exist under a different name to avoid duplication.
  4. Design the automation. Specify whether dimension scores are updated by record-triggered Flow, scheduled Flow, or an external system write-back. Document entry criteria, actions, and exit criteria for each Flow. Confirm the composite score field type (stored vs. formula) based on whether it will be used in Assignment Rules or Flow conditions.
  5. Document the handoff SLA. Produce a written SLA covering: score threshold for MQL flag, required populated fields before handoff, rep response time target, and recycle process for unaccepted MQLs. Get sign-off from both marketing and sales leadership.
  6. Validate the model with historical data. Before go-live, back-score a sample of 100–200 closed-won opportunities and 100–200 closed-lost leads using the proposed formula to calibrate thresholds. Adjust weights if the threshold produces too many or too few MQLs relative to historical conversion rate.
  7. Review against the checklist. Run through the review checklist below and confirm all items pass before handing the model to the build team.

Review Checklist

Run through these before marking work in this area complete:


Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

  1. Formula fields cannot be used in Flow entry criteria or Assignment Rule conditions — If the composite score is stored only as a formula field, you cannot reference it in a Flow's entry criteria ({!Lead.Composite_Score__c} >= 50 will fail with an error or silently not trigger). Store the composite score in a real Number field updated by Flow when either dimension score changes.
  2. Account Engagement sync overwrites CRM-side edits to synced score fields — AE syncs its prospect score to Salesforce Lead/Contact, but if a Salesforce admin or Flow writes a different value to the synced score field, the next AE sync will overwrite it. Do not build CRM-side scoring logic that writes to the AE-synced score field.
  3. Record-triggered Flows fire on every Lead save, including mass updates — A Flow that recalculates all dimension scores on every Lead save will fire thousands of times during a data load or list import, consuming Flow interview limits and potentially causing org-wide slowdowns. Use a scheduled Flow for score recalculation on high-volume orgs.

Output Artifacts

ArtifactDescription
Scoring dimension matrixTable of all scoring criteria with point values per value, organized by dimension (fit vs. engagement)
MQL/SQL threshold definitionWritten agreement on composite score thresholds, SQL acceptance criteria, and escalation path
Lead object field mapList of all custom fields required, with API name, data type, and owning system
Handoff SLA documentWritten SLA covering threshold, required fields, response time, and recycle rules
Automation design specFlow or Apex trigger design: entry criteria, actions, exit criteria for each automation

Package files