TL;DR
Lead scoring in HubSpot has a documentation problem. HubSpot rebuilt the feature, retired the property most guides were written around, and shipped a native fit-versus-engagement grid — and a large share of the tutorials still ranking walk you through the old model. Follow one of them and you will spend an afternoon building something the product already does, on top of a property that may no longer update.
This is the build guide, written for a team running outbound. It covers what the tool is now, which edition you need for each piece of it, how the criteria logic actually behaves (it is not what you would guess), and the part no other guide covers: how to get a cold email reply or a LinkedIn connection accept into a field HubSpot's scoring engine can actually read.
If you want the vendor-neutral strategy layer first — which signals are worth scoring at all, and how to weight them — start with our guide to data-driven lead scoring for outbound. This post is the HubSpot implementation.
Every mechanic, limit and edition gate below was read from HubSpot's own knowledge base or its published Product & Services Catalog. Where a widely-repeated claim is unverifiable or contradicts HubSpot's own docs, we say so rather than repeat it. A few points are flagged directional — treat those as things to confirm in your own portal. Product gating changes; verify before you buy a tier for a feature.
In 2026, HubSpot lead scoring lives at Marketing > Lead Scoring and lets you build three kinds of score: fit (from property values), engagement (from actions and events), and combined (both, with a native A1–C3 grid). You build the score, and HubSpot creates the score properties for you — a combined score creates three, plus a fourth colour-coded threshold property if you enable thresholds.
The correct setup for an outbound team is a single combined score on contacts, with fit driven by your ICP firmographics and engagement driven by meetings booked, inbound callbacks and outbound reply signals — with email opens either excluded or weighted near zero. Route on the threshold label, not the raw number.
The two things that will actually block you are edition gating and data plumbing, in that order. Handle both before you open the score builder.
HubSpot's current tool is officially the lead scoring tool — not "HubSpot Score" and not "predictive lead scoring", both of which name older things. The legacy knowledge-base articles on setting up score properties now redirect to the new documentation; the old article is gone.
The legacy HubSpot score property is the confusing part, and we are going to be straight about it rather than tidy. It still appears in HubSpot's current default-contact-properties documentation, described in the present tense as being set automatically based on criteria in the lead scoring tool. Meanwhile every secondary source describes a phased sunset through 2025 — no new score properties from around May, no editing from around July, and legacy scores frozen at end of August 2025 with history intact (directional: we could not reach HubSpot's own community announcement to confirm those dates, so treat them as approximate).
The safe rule regardless of which reading is right: the hubspotscore property still exists on contact records, and you should not build new logic on it. Create named score properties in the current tool, which you control and can audit. If you inherited a portal with workflows or active lists triggering on legacy score increases, check them — the widely-reported failure mode is that they stopped firing silently, and nothing migrated automatically (directional).
Lead scoring requires Professional or Enterprise on Marketing Hub or Sales Hub. Starter and Free have no lead scoring at all. Beyond that, the gating is asymmetric in a way that catches outbound teams specifically.
| Score type | Objects it can score | Minimum edition | Reads | Key constraint |
|---|---|---|---|---|
| Fit | Contacts (Marketing Hub only), Companies | Marketing Hub Pro or Sales Hub Pro | Property values, segment membership, associated-record properties | No decay. Contains any of is non-additive |
| Engagement | Contacts (Marketing Hub only), Companies | Marketing Hub Pro or Sales Hub Pro | Event rules with frequency + time frame; AI-recommended rules | Calls score only if dialled in HubSpot. Contains any of is additive |
| Combined | Contacts (Marketing Hub only), Companies, Deals (Sales Hub only) | Marketing Hub Pro or Sales Hub Pro | Both event groups and property groups | Creates 3 score properties + 1 threshold property. Deal scores are combined-only |
| AI-built score | Contacts | Marketing Hub Enterprise | Your own contact data, targeting a lifecycle transition within a timeframe | Needs 50 contacts minimum (25 converted, 25 not). Evaluation takes up to an hour |
| AI rules (high-impact events) | Contacts, Companies | Marketing Hub Pro or Sales Hub Pro | Last 90 days of activity, events up to 14 days before conversion | Not a score — rules inside one. Engagement and combined only |
| Health score | Contacts, Companies | Service Hub Pro | Behavioural and demographic data | Separate tool for retention, not acquisition — don't conflate the two |
Per HubSpot's published catalog, the score counts are Marketing Hub Professional 5, Marketing Hub Enterprise 50, Sales Hub Professional 5, Sales Hub Enterprise 10. Note that Sales Hub Enterprise gets five times fewer scores than Marketing Hub Enterprise — a real constraint if you planned a score per segment. Automatic lead rotation, which you will want downstream, is Professional and above. For the wider cost picture, our HubSpot Sales Hub pricing breakdown covers what each tier actually costs.
The gate that surprises outbound teams: HubSpot documents contact scoring as Marketing Hub only. A Sales-Hub-only portal — which is what a lot of outbound-led companies run — can score companies and deals, but not individual contacts. Since prospect-level scoring is the whole point for an outbound team, confirm this against your own subscription before you plan around it. If you are Sales Hub only, the workable fallback is company-level fit scoring plus a disciplined deal-stage model.
This is the single biggest reason to ignore older tutorials. Fit-versus-engagement scoring has always been the right model: high fit and high engagement means call now, low fit and high engagement means someone is browsing who will never buy, high fit and low engagement means a nurture or an outbound touch. Guides have taught readers to build that grid manually.
You no longer have to. A combined score stores fit, engagement and total as three separate properties, and its threshold property uses nine labels: A1, A2, A3, B1, B2, B3, C1, C2, C3. Letters are fit — A is high, C is low. Numbers are engagement — 1 is high, 3 is low. HubSpot's own worked example of the interesting cell is C1: a low-fit but highly engaged contact.
| Label | Reads as | What an outbound team should do with it |
|---|---|---|
| A1 | High fit, high engagement | Route to a rep immediately. This is the only tier that should trigger a notification |
| A2 / A3 | High fit, mid or low engagement | Your outbound target list. Fit is confirmed; engagement is your job to create |
| B1 / B2 | Mid fit, mid-to-high engagement | Worth a sequence, not worth an alert. Review monthly — a full B1 column usually means loose fit criteria |
| C1 | Low fit, high engagement | The trap tier. Students, competitors, job seekers, consultants. Do not route. A growing C1 count is a content-versus-ICP mismatch signal |
| C2 / C3 / B3 | Low fit or dormant | Suppress. Keep them out of sequences so your CRM hygiene and your sender reputation both hold |
Single fit-only or engagement-only scores get High / Medium / Low labels instead. HubSpot's example split is 70–100 High, 40–69 Medium, and −100 to 39 Low. That last range is worth reading twice: HubSpot scores can go negative. The claim repeated across several guides that HubSpot scores cannot drop below zero is wrong — HubSpot states plainly that scores will be negative if more points are subtracted than added, and that if you don't want that you must restrict yourself to additive criteria.
Your fit criteria are only as good as the ICP definition behind them. If you have not written that down, do it first with our ICP definition template, and get the firmographic fields populated — Clay's HubSpot integration is the usual way outbound teams fill employee count, industry and tech stack at volume.
Scores are built from score groups. Each group has its own point cap, and group caps are your weighting mechanism — HubSpot's own example uses an overall limit of 100 with a sales-engagement group capped at 60 and a marketing-engagement group capped at 40. Event groups appear in engagement and combined scores; property groups appear in fit and combined scores.
Four behaviours are genuinely counter-intuitive, and getting them wrong is how a score ends up meaningless:
| Behaviour | What actually happens | What to do |
|---|---|---|
| There is no AND across rules | Separate rules in the same group fire independently. AND only applies within a single rule, when you stack criteria on the same property or event | Stack criteria inside one rule when you mean AND. Don't assume two rules in a group combine |
| There is no OR builder at all | HubSpot's documented workaround is to build a segment or workflow with the complex logic, then score on enrollment or membership | Push all messy logic into segments. This is also your fix for inconsistent job-title strings |
Contains any of flips meaning |
In fit criteria it is non-additive — points land once no matter how many values match. In engagement criteria it is additive — points land per match | Check which side of the score you are on before using it. This one silently inflates engagement scores |
Score together diverges too |
Fit plus "together" fires once. Engagement plus "together" fires per occurrence — two matching form submissions at 5 points each gives 10 | Use the per-event point cap (Limit to N points) whenever a repeatable action could be spammed |
Event rules also support frequency operators (Exactly, Between, At least, At most) and time-frame operators (In the last, Before, After, In between). For company and deal scores, event criteria come from the associated contacts' activity, with an aggregation setting of Sum, Average, Min or Max. Use Sum on a company score and a 40-person enterprise account will out-score a perfect-fit 30-person account on volume alone — Average or Max is almost always the right choice for fit-driven company scoring.
Decay is native. On engagement and combined score event groups you set a percentage reduction and an interval of 1, 3, 6 or 12 months (each month counted as 30 days). It is per-event, linear, calculated off the original event value, and it applies retroactively — a rule with 100% decay over 3 months awards nothing for a click that happened 4 months ago.
The hole: decay does not work on segment membership criteria, because membership is a binary condition rather than a timestamp. HubSpot's documented workaround is to build the date filter into the segment definition instead — a segment of "replied positively in the last 30 days" rather than "has ever replied positively."
Remember that hole. It is about to matter, because segment membership is exactly where your outbound reply data ends up.
Every lead scoring guide is written for inbound. Score the form fill, the pricing-page visit, the email open. An outbound team's highest-value signals are different — a positive reply to a cold email, a LinkedIn connection accepted, a DM answered, a callback — and most of them are not sitting in a field HubSpot's scoring engine can read.
The usual argument is Apple Mail Privacy Protection, and it is real: Litmus reports that over half of email opens happen on a device with MPP active, which inflates opens and destroys open timing and geolocation. But be precise about what that does and does not prove — Litmus's own position is that the open rate "is not dead yet" as an aggregate deliverability trend line. What it kills is the open as a per-contact behavioural fact, and per-contact is precisely what scoring needs. Our post on Apple Mail Privacy Protection and cold email opens works through the mechanics and why different sources cite different inflation ranges.
The stronger evidence is HubSpot's own. In HubSpot's documented example score, a marketing email open is worth 2 points while a demo-page or pricing-ad click is worth 15 — an open is valued at roughly a seventh of a click. And HubSpot's Enterprise-only "Likelihood to close" predictive property is documented as being based on tracked email clicks and meetings booked. Opens are not named. HubSpot has already de-weighted opens in both its documentation and its own model.
The call-scoring trap: HubSpot states that call event scoring only includes calls initiated through HubSpot's calling. If your reps dial on Aircall, Orum, Nooks or a mobile, those conversations do not exist as far as your engagement score is concerned — and a rep who just had a great discovery call will show up as unengaged. Either dial in HubSpot for scored activity, or accept that calls are outside your score and weight the rest accordingly. Do not leave a call rule in place believing it is firing.
Here is the failure that quietly wrecks outbound scoring. HubSpot's scoring engine reads event types, object properties and segment membership. It does not read timeline activities. And most outbound integrations write to the timeline by default — the reply is beautifully visible to a human reading the record, and completely invisible to your score.
The Smartlead-to-HubSpot middleware most teams use, for example, documents writing sends, replies, opens, clicks, bounces and lead-status updates to HubSpot as activities and timeline events, with custom properties listed as optional. HeyReach's own integration page says every new LinkedIn connection or reply is added to HubSpot and conversation notes land on the contact record — but it does not name a single HubSpot property it writes. (Third-party guides claim HeyReach sets fields like a LinkedIn-connected flag and connection date; that is directional — we could not confirm it on HeyReach's own page. Check what your instance actually writes rather than trusting any guide, this one included.)
So the reliable route, with every step verifiable in HubSpot's docs:
outbound_reply_sentiment (positive / objection / not interested / referral) and linkedin_connection_accepted. Populate it from the tool's native integration, a webhook, or middleware — whatever your stack supports. This is the step people skip.+ Add segment membership criteria in a property group, or directly with a property rule if the field is clean enough.On the custom-events route: HubSpot supports custom events via API, spreadsheet upload and webhooks, and they would be the more elegant home for a reply event. Two cautions before you build on them. First, webhook-triggered custom events require a Data Hub Professional subscription — a separate paid Hub, and the hidden cost in "just webhook your replies into HubSpot." Second, custom events are not documented as a selectable event type anywhere in the lead scoring knowledge base; community discussion suggests they are supported (directional — we could not verify it on a HubSpot-owned page). Confirm it in your own portal before you architect around it. The property-and-segment route above works today on Professional.
One more thing worth wiring: your reply sentiment is only as good as the triage behind it. If nobody has defined what counts as a positive reply, the property will be noise. Our cold email reply handling guide covers the triage taxonomy to score against.
The most common way a scoring project dies is thresholds picked in a meeting. Someone says 70 sounds like a good MQL bar, and three weeks later sales has stopped opening the notifications because everything is an A1.
HubSpot ships three tools for this and almost nobody uses them:
Scores you exit the builder without activating are saved as drafts, so there is no reason to activate before previewing. And set the score's overall limit deliberately: the maximum is a dropdown offering ranges from −100/100 up to −10,000/10,000, defaulting to a group maximum of 100. (Some guides claim the ceiling is tier-gated at 100 for Professional and 500 for Enterprise. HubSpot's own documentation shows the dropdown with no tier restriction mentioned — treat the tier-gating claim as unverified.)
Tie the thresholds to your lifecycle model rather than inventing a parallel one. If your MQL and SQL definitions are fuzzy, fix that first — see MQL vs SQL vs SAL — because the AI scoring option asks you to name exactly that transition as its target.
HubSpot's own documented routing recipe is worth copying precisely, because two of its three choices are ones teams get wrong:
Speed matters more than the score's precision here. A perfectly tuned score that routes to a rep who responds in two days is worth less than a rough score wired to a fast SLA — our lead routing and speed-to-lead guide covers the routing layer, including the outbound-specific case where the routing event is a positive reply rather than a form fill.
Beyond routing, scores are usable as saved-view columns, list filters, and report dimensions with the scored object as the data source. If you are reporting on this, wire it into your existing RevOps dashboard rather than building a scoring dashboard nobody opens.
| Failure | Why it happens | Fix |
|---|---|---|
| Calls silently unscored | Only HubSpot-dialled calls count. Documented, and almost never mentioned | Dial in HubSpot, or drop the call rule and reweight |
| Stale values after turning a score off | Each record keeps its last known value on the score property. It looks live and isn't | Clear the property or delete it when retiring a score |
| Editing a live score breaks downstream tools | Workflows, lists and views reference the score property; criteria changes re-evaluate history retroactively | Open the score property and check the Used In tab before every change |
| Score reset doesn't reset what you expected | Reset only works if the score is on, skips segment-membership points, and ignores every event before the reset timestamp | Treat reset as a blunt instrument. Prefer decay and date-filtered segments |
| Company scores inflated by association count | Sum aggregation across many associated contacts rewards headcount, not fit | Use Average or Max for fit-driven company scoring |
| Everything is an A1 | Thresholds set by opinion rather than distribution | Use Preview distribution before activating; re-check quarterly |
| Legacy migration debt | Nothing migrated automatically off the legacy property; dependent workflows and lists stopped working quietly (directional) | Audit every workflow and active list referencing hubspotscore |
hubspotscore and decide what replaces it.If lead scoring is the first RevOps system you are formalising, it is worth reading it in context — our complete RevOps guide covers where scoring sits relative to routing, lifecycle stages and forecasting.
The HubSpot score property still appears on contact records and is still listed in HubSpot's current default-contact-properties documentation. However, the legacy scoring tool behind it was retired, and widely-reported timelines say legacy score properties stopped updating at the end of August 2025 with no automatic migration. Because HubSpot's own docs and those secondary reports don't fully agree, the safe rule is the same either way: don't build new workflows or lists on it, and create named score properties in the current lead scoring tool instead.
Per HubSpot's published Product and Services Catalog, Marketing Hub Professional allows up to 5 scores and Marketing Hub Enterprise up to 50, while Sales Hub Professional allows up to 5 and Sales Hub Enterprise up to 10. Starter and Free have no lead scoring at all. Note that Sales Hub Enterprise gets considerably fewer scores than Marketing Hub Enterprise, and older blog posts citing a 25-score limit are quoting a retired legacy figure.
HubSpot documents contact scoring as Marketing Hub only. Sales Hub can score companies and deals but not contacts, and deal scores are Sales Hub only and always combined fit-plus-engagement scores. This catches a lot of outbound teams running Sales Hub Professional who reasonably expect to score individual prospects, so confirm it against your own subscription before planning around prospect-level scoring.
Yes, natively. On engagement and combined score event groups you can enable score decay with a percentage reduction and an interval of 1, 3, 6 or 12 months, and it applies retroactively to historical events. The important exception is that decay does not work on segment membership criteria, because membership is a binary condition rather than a timestamp — HubSpot's documented workaround is to build the date filter into the segment definition instead.
Yes, and you no longer need to build it yourself out of custom properties. A combined score stores separate fit, engagement and total score properties, and its threshold property uses the labels A1 through C3, where letters represent fit (A high, C low) and numbers represent engagement (1 high, 3 low). HubSpot's own example of the revealing cell is C1: a low-fit but highly engaged contact — typically a student, competitor or job seeker you should keep away from your reps.
The reply has to exist as something HubSpot's scoring engine can read — a contact property, a segment, or an event — and not merely a timeline note, which is what most of these integrations log by default. The reliable path is to have the tool write a custom contact property such as a reply-sentiment or connection-accepted field, build a segment on it with a date window included, then score that with segment membership criteria. Two caveats: webhook-triggered HubSpot custom events require a Data Hub Professional subscription, and segment-membership points receive no decay and are skipped by score resets.
Building this on top of a live outbound motion — cold email, LinkedIn, or both — and want the reply data landing in scorable fields rather than timeline notes? Start with our lead scoring strategy guide, or talk to our team. We build and run cold email, LinkedIn outreach and HubSpot RevOps systems for B2B teams, and this integration layer is most of the work.
By the GenFlows GTM engineering team. All product mechanics, limits and edition gates were read from HubSpot's own knowledge base and its published Product and Services Catalog at the time of writing; vendor integration behaviour from each vendor's own documentation. Claims we could not confirm on a first-party page are flagged directional in-text. HubSpot gating and packaging change — verify against your own portal before purchasing a tier for a specific feature. Apple Mail Privacy Protection open-share figure from Litmus. Last updated August 2026.