Systems
A lead scoring model built on fit and behavior
- HubSpot
- Salesforce
- ZoomInfo
Summary
- Challenge
- In a long, committee-driven sale, a form fill says little on its own. A download from outside the market and a pricing-page visit from a target account look alike until something tells them apart.
- What I built
- A firmographic fit grade plus an engagement score in HubSpot, an MQL threshold agreed with sales, 30-day decay with a full reset on re-engagement, and routing by tier on the Salesforce Lead object.
- Result
- Grade and score decided who worked a lead and how, from fields both teams could read.
- Role
- Designed the model and built it in HubSpot and Salesforce; set the threshold with sales and tuned it from closed-loop results
- With
- Sales leadership and the two BDRs who worked the queue
- Status
- Ran in production at Anova
Part of the lead-to-opportunity system. The fit half comes from the account universe.
The situation
A form fill says little on its own.
In a technical sale with a long, consultative cycle and a buying committee on the other side, most early signals are ambiguous. A content download from someone outside the market and a pricing-page visit from a buyer at a target account arrive as the same kind of record.
Without a shared score, lead quality becomes a judgment made record by record, and campaign results are hard to read in pipeline terms. A company selling a technical product into long cycles cannot hand every form fill to a seller.
The decision
Score who the company is and what the person does, separately.
I split the score into two halves and made both visible. Fit answers whether the company is worth selling to at all. Engagement answers whether this person is doing something that suggests a buying conversation now. A lead needs both, and a seller reading the record should be able to see which half is carrying it.
Three more decisions followed. The threshold would be set with sales, because a score only works if the people receiving the leads agree on what it means. Engagement would decay, because in a cycle measured in quarters, last month's webinar says little about this month's intent. And routing would live in Salesforce, where the sellers work, while scoring lived in HubSpot, where the signals land.
What I built
Six pieces, one number.
Fit and engagement are built separately, combined at the threshold, and read by routing and reporting from the same fields.
-
Fit: the firmographic grade
Where the tiers came fromThe company record carries the fit: industry from SIC and NAICS codes mapped onto the record, company size, and the A–D account tier from the account universe. Workflows push company-level fit down to every associated contact, so a new contact at a target account arrives already graded.
-
Engagement: what the person does
Points for the signals that predict a conversation: high-intent web pages, email engagement, content downloads, form fills and campaign responses, plus HubSpot intent and ZoomInfo intent at the account level.
-
A threshold that moves
A lead becomes an MQL when its score crosses a threshold agreed with sales. The threshold is not fixed. Closed-loop reporting shows which MQLs became pipeline, and moving the threshold is one of the levers on how warm a lead is when it reaches a seller.
-
Decay and re-engagement
Engagement decays over a 30-day window, so old activity stops reading as current intent. When a lead re-engages, the window resets in full and the score reflects the new activity.
-
Alerts and routing
At the threshold, the owner is alerted in Slack and by email, and routing on the Salesforce Lead object assigns the lead by tier. HubSpot stays the upstream source for enrichment and scoring; Salesforce is where the lead is worked.
-
One number in every report
Score, grade and tier are properties, so routing, dashboards and campaign reports all read the same fields. Campaign performance could be read by account and by tier instead of by raw lead count.
The model
Fit and engagement combine, decay and hand off at the threshold.
The handoff
From signal to seller, step by step.
- A signal lands. A visit to a high-intent page, an email click, a download, a form fill or an intent spike adds engagement points to the person.
- The company is graded. Fit comes from the company record: industry, size and account tier, pushed down to every contact at that company.
- The threshold is crossed. The lead becomes an MQL, with the grade and the engagement history that got it there on the record.
- The owner hears about it. Slack and email alerts go to the owner the moment the threshold is crossed, not at the next list pull.
- Salesforce assigns it. Routing on the Lead object puts it in the right queue by tier, where the BDR sees it in ranked order.
- Reporting reads the same fields. The dashboards count MQLs, SQLs and pipeline by the same score and grade the routing used.
How it ran
A number both teams could read.
Once the score lived on the record, conversations about lead quality started from the same data. A lead that reached a seller carried its grade and its engagement history, and the seller could see why it had arrived. A good-fit account that had gone quiet and an engaged lead outside the profile looked different on the record.
The model sat between two other builds. The account universe supplied the fit half, and the account tiers set how much coverage each lead received once it qualified.
Result
Grade and score decided who worked a lead, and how.
The handoff to sales ran on a number both teams could see and had agreed to, and campaign performance could be read by account and tier instead of by raw lead count.
Takeaways
What carries over.
- Show both halves of the score on the record. Sellers trust a number they can take apart.
- Agree the threshold with sales before launch, then treat it as a lever: revisit it where pipeline is reviewed.
- Decay is required in a long cycle. Without it, scores only go up.
The stack
What it ran on.
Scoring and automation
- HubSpot Marketing Hub Enterprise
- Lead scoring
- Workflows
- Lifecycle and lead status
Routing
- Salesforce Lead object
- Assignment by tier
- Slack and email alerts
Data
- ZoomInfo enrichment
- ZoomInfo intent
- HubSpot intent
- SIC and NAICS mapping
Next case study
Once a lead qualifies, the account tier decides how much human time it gets.
Open to senior and manager-level roles
Need the demand engine built, or someone to run it?
Demand generation, marketing operations and RevOps roles in complex B2B, remote or hybrid from Omaha. I also take on a small number of scoped builds.