Skip to content
Can Elmas

Lifecycle & CRM · 8 min read

How to Build a Lead Scoring Model in HubSpot (With Template)

TL;DR

Build two scores, not one: a fit score from traits your closed-won deals share and an engagement score from actions that preceded opportunities. Set them up in HubSpot's lead scoring tool, make MQL require both thresholds, route hand-raisers instantly, decay old activity, subtract for disqualifiers, and review rejected MQLs with sales every month.

· Published · Updated

Sales ignores MQLs when one blended score lets a student who downloaded five ebooks outrank a VP at a target account who visited pricing once. The fix is two scores built from your own closed-won data: fit (is this the right company and person?) and engagement (are they showing buying intent now?). Set both up in HubSpot, require both for an MQL, and review the results with sales every month so the model earns trust instead of assuming it.

Why most lead scoring gets ignored by sales

When I audit HubSpot portals, a failing scoring model usually has one of five problems:

  • Points came from a brainstorm. An ebook is worth 10, a webinar 15, and nobody checked whether either predicts a deal.
  • Fit and engagement are blended. Enough activity pushes a bad-fit lead over the line, so reps learn that “MQL” often means “busy student.”
  • Scores never fade. A contact active 18 months ago still sits at 80 points.
  • Sales never agreed to the definition. Marketing set the threshold alone and reported MQL volume as a win.
  • There is no feedback loop. Reps reject leads silently, so the model never learns why.

A quick test: pull your last 50 MQLs and ask two reps to mark the ones they would have wanted. If they reject more than they keep, don’t tune the points. Rebuild the model.

Fit score vs engagement score

Fit answers “should we sell to them?” Engagement answers “are they ready to talk?” Keep them as separate scores so each can be read, tuned and trusted on its own.

Fit scoreEngagement score
MeasuresMatch with your ideal customer profileBuying intent shown through behavior
Built fromIndustry, size, region, tech stack, job title, seniorityPage views, form submissions, meetings, events, email replies
Changes whenData is enriched or correctedThe person acts, or stops acting
DecaysNoYes

Together they give you a 2x2 that tells everyone what to do:

High engagementLow engagement
High fitMQL: route to sales nowNurture, retarget, outbound if it’s a target account
Low fitSelf-serve or nurture, not a repLeave alone

The top-left box is the only one sales should be asked to work. Everything else is marketing’s job.

Building criteria from closed-won deals

Fit criteria should come from your ICP. If you haven’t built one from data yet, start with the ideal customer profile template. Then turn traits into points with a simple lift analysis.

Fit: compare winners with everyone else

  1. Export 12-24 months of contacts and companies from HubSpot, flagged by whether they became an opportunity and whether it closed won.
  2. For each candidate attribute (size band, industry, seniority, a key tool in their stack), calculate the lead-to-won rate for leads with that trait.
  3. Divide it by the overall rate. That ratio is the lift.
  4. Give points in proportion to lift, and zero or negative points to traits below the baseline.

An example with made-up round numbers, where the overall lead-to-won rate is 2%:

AttributeLead-to-won rateLiftExample points
50-500 employees5%2.5x+25
Director or above4%2.0x+20
Uses HubSpot or Salesforce3%1.5x+15
Fewer than 10 employees0.4%0.2x-15

Only score traits you can populate reliably. A criterion that’s empty on most records just punishes missing data.

Engagement: look at what happened before opportunities

Compare the 30-60 days before opportunity creation on closed-won deals with leads that went nowhere. In the B2B accounts I work on, the actions that separate the two are usually high-intent page views (pricing, comparison, integrations, case studies), meeting bookings, webinar attendance with questions asked, and several people from the same company engaging in the same week.

Actions that rarely separate them: blog visits, newsletter opens and clicks from a single campaign. Opens are especially weak now that privacy features inflate them.

Setting up scoring in HubSpot

HubSpot’s lead scoring tool lets you build fit, engagement or combined scores for contacts and companies. Each score becomes a property you can use in workflows, lists, views and reports. It’s available on Professional and Enterprise plans, with options that vary by hub and tier. If you’re moving from older score properties, rebuild rather than copying old point values across.

Setup order:

  1. Clean the inputs. Standardize industry, employee range, country and seniority as dropdowns, and turn on enrichment where you have it. A fit score built on free-text job titles is wrong in ways nobody can see.
  2. Create the fit score. Group criteria into company traits and person traits, and cap each group so one attribute can’t carry the whole score. Six to ten criteria is plenty.
  3. Create the engagement score. Add events with time frames (“visited pricing in the last 30 days,” not “ever”), cap each group, and set up decay.
  4. Set thresholds. Split each score into tiers such as high, medium and low, so workflows and reps work with labels instead of raw numbers.
  5. Backtest. Before routing anything, compare how last quarter’s closed-won contacts scored against closed-lost and never-converted leads. If winners don’t cluster in high fit, revisit the criteria.
  6. Make it visible. Add both scores to record sidebars, reps’ saved views and one dashboard.

MQL thresholds and routing rules

Write the MQL definition down and have the head of sales sign it. For most B2B teams:

  • MQL: high fit AND high engagement.
  • Hand-raiser: a demo or contact-sales request with at least medium fit, which skips the engagement threshold.

Set thresholds from sales capacity, not ambition. For example, if two SDRs can properly work about 120 new leads a month, pick the thresholds that would have produced roughly that many MQLs over the last three months. Starting tight and loosening beats flooding reps and losing their trust in week one.

Then route with a HubSpot workflow that triggers when a contact meets the definition:

SituationActionExample SLA
Hand-raiser, medium or high fitShow a booking calendar on submit; notify the ownerSame business day
MQL at a target accountAssign to the account owner; create a task1 business day
MQL, no ownerRotate to SDRs by region; create a task1 business day
High engagement, low fitSelf-serve or nurture track, no repNone
Existing customerRoute to the account managerPer CS process

The workflow should set lifecycle stage to MQL, assign the owner, create the task and record which rule qualified the lead. Give reps a required rejection reason (wrong company, wrong person, no intent, duplicate) so every rejection teaches the model something. Capturing those outcomes cleanly is a core part of the lifecycle marketing setup I build for B2B teams.

To get more hand-raisers in the first place, see how to increase demo requests.

Score decay and negative scoring

Decay

Engagement is a statement about now. Two ways to keep it current:

  • Time-bound criteria: score “pricing page view in the last 30 days” instead of “ever,” so points drop off on their own.
  • Decay settings: where your plan supports them, have engagement points lose value as they age, for example halving once an action is three months old.

Fit shouldn’t decay. It changes only when the data does, such as a new job title or headcount update.

Negative scoring

Negative points correct for activity that looks like intent but isn’t:

SignalExample pointsWhy
Careers page visits-10Job seekers, not buyers
Personal email domain-10Weak fit alone; don’t exclude founders outright
Student or academic email-25Research, not purchase
Unsubscribed or hard bounced-20Can’t be nurtured

Keep hard disqualifiers out of the points entirely. Competitors, countries you can’t serve and existing customers should be filtered out of MQL status, not given -50 and left to be outscored by one busy week.

Reviewing the model with sales

A model sales helped tune is a model sales uses. Hold a 45-minute monthly review with the head of sales, one or two reps and the HubSpot owner, and bring these numbers by fit tier and source:

  • MQL volume against the capacity target
  • Acceptance rate (MQLs accepted by sales ÷ total MQLs)
  • Rejection reasons, ranked
  • MQL-to-opportunity rate and speed to first touch
  • Closed-won deals that never became MQLs, which the model missed

Then work through this checklist:

  • Read ten rejected MQLs together and agree on why they failed
  • Review closed-won deals that scored low and find the missing signal
  • Change one or two criteria at most, and log what changed and why
  • Move thresholds only if volume is persistently off capacity
  • Confirm routing and SLAs held, and check for unworked MQLs
  • Send reps a three-line summary of what changed

Every quarter, rerun the lift analysis on new closed-won data. After a pricing change, a new product line or a move upmarket, rebuild.

Lead scoring template

Fill this in before touching HubSpot settings.

1. Definitions (signed by sales and marketing)

  • MQL: ______
  • Hand-raiser rule: ______
  • Follow-up SLA: ______

2. Fit criteria

CriterionContact or companyValuesPointsLift evidence
______________________________

3. Engagement criteria

ActionTime windowPointsGroup cap
________________________

4. Negative points and exclusions

  • Negative points: ______
  • Excluded from MQL status: ______

5. Thresholds and routing

  • Fit cutoffs (high / medium): ______
  • Engagement cutoffs (high / medium): ______
  • Monthly MQL capacity: ______
  • Routing rules: ______
  • Model owner and next review date: ______

Get it built

If sales has stopped trusting your MQLs, I’ll rebuild scoring from your closed-won data, set it up in HubSpot with routing and SLAs, and run the first reviews with your sales team. Most engagements start with a fixed-price Growth Audit, credited if we continue. See pricing or get in touch.

FAQ

Frequently Asked Questions

Should lead scoring be set up on contacts or companies?

Both, for most B2B teams. Score fit at the company level so everyone at a target account shares it, and score engagement at the contact level so reps know which person is active right now.

How long should a new lead scoring model run before we change it?

Give it about a month of MQLs actually worked by sales before changing points, then change one or two criteria at a time. Tuning every week makes it impossible to tell which change helped.

Do we need predictive lead scoring instead of a manual model?

Not to start. A rules-based model built from closed-won analysis is explainable, and that is what earns sales trust; predictive scoring is a useful cross-check once you have plenty of closed deals and clean CRM data.

What if we have too few closed-won deals to calculate lift?

Use sales-accepted leads or qualified opportunities as the outcome instead of closed-won, which gives you a bigger sample sooner. Treat the first version as a hypothesis and rerun the analysis each quarter as more deals close.

Work with me

Let’s find your biggest growth lever

Tell me about your growth challenge. I’ll tell you honestly if I can help — and if I can’t, who can.

  • ✓ No obligation
  • ✓ No sales script
  • ✓ Honest feedback
  • ✓ Clear next steps