HubSpot Lead Scoring: A Step-by-Step Setup
HubSpot Lead Scoring: A Step-by-Step Setup
HubSpot lead scoring built on billing, support and product signals, not just contact properties. Score contacts, then write it back with a reason.
No credit card required
Free 200 credits every month
Most HubSpot lead scoring advice starts with assigning points to job titles and email opens. That data is easy to score because it already sits in HubSpot, and it is also the weakest signal you own. Whether a lead pays you, what they complained about last week, and how often they log in all predict conversion better than any form fill, yet none of it reaches a contact record on its own. This guide builds HubSpot lead scoring the other way around: pull your contacts in, add the billing, support, and product usage data HubSpot cannot see, let AI score the whole list, and sync the score plus a written reason back as contact properties. The result works on every HubSpot tier, including Free.
How native HubSpot lead scoring works and what it costs
HubSpot ships two scoring engines. Manual scoring uses the HubSpot Score property, where you define rules that add or subtract points, and it requires a Professional subscription. Predictive scoring is the Enterprise one: a model trained on your closed deals that writes a likelihood to close.
Predictive models probably earn their keep at Enterprise contact volumes. We have never run a CRM big enough to find out, and with a few hundred contacts there is not much closed-deal history for a model to learn from anyway.
Both engines evaluate only what lives inside HubSpot: contact properties, form submissions, and the email and page activity HubSpot tracks itself. External data enters a score only after someone lands it on the contact record.
If you run HubSpot Free or Starter, neither engine is available to you at all. That reads like bad news and is actually the loophole. A score computed outside HubSpot and written into a custom contact property behaves like a native one everywhere it matters, because custom properties work on every tier. You can sort on it, filter on it, and build lists on it without touching a Professional upgrade.
For what it is worth, HubSpot Free is still the best free product in B2B software, and we recommend it to every founder who asks. They have to charge for something, and scoring is something. Anyway.
The signals HubSpot lead scoring cannot see
We built Oneprofile because our own CRM had this exact blind spot. Every account looked the same in the contact list. The differences sat in three other tools: Stripe knew who paid, the support desk knew who was frustrated, and only the product database could say who had gone quiet.
Signal | Where it lives | On the contact record? |
|---|---|---|
Job title, company size | HubSpot | Yes |
Email opens, form fills | HubSpot | Yes |
Plan and MRR | Stripe | No |
Trial end date | Stripe | No |
Open and escalated tickets | Support desk | No |
Last login, seats invited | Product database | No |
The rows marked No are the predictive ones. A lead on a paid plan who invited two teammates this week outranks any volume of email opens, which is the entire argument behind product qualified leads.
The broader taxonomy of scoring models, demographic versus behavioral versus predictive, is covered in what lead scoring is. This guide stays on the build.
HubSpot lead scoring setup: build the score from real signals
1. Connect HubSpot and load your contacts. Authorize HubSpot in Oneprofile and pull in your contacts. Every property you care about is ready to enrich for each one. The connection is two-way, which is the detail that pays off in the final step.
2. Bring in data from your own systems. Connect the tools that hold the missing signals and match each contact by email address:
plan, MRR, and trial end date from Stripe
open ticket count and last ticket date from Zendesk or Intercom
last login and seats invited from your Postgres or MySQL product database
Each signal fills in automatically from its source. Nothing gets exported, reformatted, or pasted. This is data enrichment from systems you already own, and no purchased dataset can substitute for it, because no vendor knows what your leads do inside your product.
3. Fill the remaining gaps from the provider waterfall. Your own systems do not know a lead's company size, industry, or funding. Add enrichment for those and Oneprofile runs a waterfall of data providers ordered by cost and hit rate, cheapest first, stopping at the first match. The credit cost of the run shows before you start it, and lookups that come back empty are never billed.
4. Score every contact with AI. Describe your ideal customer in plain language. AI scores every contact against that description and against each other, then writes a 0 to 100 score and a one-sentence reason for each contact.
The written reason is the part we would fight to keep. The first time we scored our own signup list, the top result was an account we had mentally written off, and the reason read "upgraded last month, never onboarded". We booked the call the same day. A bare number would not have moved us; six words did.
Write the score and the reason back to HubSpot
Map the score and reason to two custom contact properties. Oneprofile creates the properties in HubSpot when they do not exist and keeps them current through the same two-way connection from step one.
HubSpot property | Type | Example value |
|---|---|---|
| Number | 87 |
| Single-line text | Paid plan, 6 seats, 2 API tickets |
| Single-line text | Team |
| Number | 3 |
| Date | 2026-08-01 |
Nothing limits you to the score. Any data point you've enriched can write back, and having plan_name and last_login on the contact record saves a tab switch in the middle of a call.
Earlier we said HubSpot scores only read what sits on the contact record. That constraint is now doing the work for us: HubSpot treats a synced score like any field it owns. Views sort by it, lists filter on it, and if you upgrade to Professional later, the native HubSpot Score engine can use these synced properties as rule criteria. On Free, sort the contact view by lead_score descending and work from the top, reading the reason before you write the first line of the email.
Re-run scoring on whatever rhythm suits your pipeline. Scores and reasons update in place, and a lead that upgrades in Stripe climbs your HubSpot list without anyone touching a spreadsheet.
What HubSpot lead scoring costs with Oneprofile
The build above runs on the Team plan at $20 a month: 1,000 credits, unlimited tables, unlimited seats, and two-way HubSpot sync included. All 127 integrations work as sources and destinations on every paid plan. Most enrichment platforms gate CRM write-back behind tiers costing hundreds of dollars a month, which puts the one feature that makes scoring operational out of a founder's reach.
One meter covers everything. Every operation has a published credit price, a run shows its cost before it starts, and unused credits roll forward instead of expiring. Top-ups are $20 per 1,000 credits at the same rate, so a heavy month does not force a plan change.
The free plan covers three integrations, which fits HubSpot, Stripe, and one more source, with 200 credits a month across three 100-row tables. That is enough to score a real pipeline this afternoon and see whether the reasons change who you call first. If they do, the support desk and the product database are a $20 upgrade away. Get started free and run the first scoring pass before your next outbound block.
Does HubSpot have lead scoring on the free plan?
Do I need HubSpot Enterprise for predictive lead scoring?
Can HubSpot lead scoring use data from Stripe or my product database?
How much does it cost to score HubSpot contacts this way?
Does the same setup work for Salesforce?