How to Build a Lead Scoring Model for Identified Website Visitors

Most B2B lead scoring models still start the clock at the form fill. That's backwards. By the time someone fills out a form, they've already done most of their research anonymously, on your site and three competitors' sites, and your scoring model has been asleep for the entire decision. If you're identifying website visitors, the fix isn't a bigger point scale. It's scoring the account before you score the person, and refusing to score anything that isn't backed by real engagement.

Why Traditional Lead Scoring Breaks Down for Identified Visitors

Classic lead scoring was built for a world where a contact didn't exist in your system until they filled out a form. Demographic fit plus a handful of behavior points, tallied from zero the moment a record was created. That model made sense when the form was your only window into buyer behavior.

Identified website visitor data blows that assumption up. Now you have activity on accounts, and sometimes named contacts, weeks before anyone converts. Bolting old scoring rules onto this new data source usually produces one of two failure modes: teams either ignore identified-visitor data in scoring entirely and let it sit in a dashboard nobody acts on, or they score every single pageview and flood SDRs with noise until they tune the whole system out. Both waste the exact signal you paid for.

The Two-Layer Framework: Score the Account, Then the Person

The fix is to stop treating "lead scoring" as one score and split it into two layers that run in sequence.

Layer 1: Account score. This runs on company-level identification, which is the easier and more reliable match to make. Knock2, for example, resolves roughly 93%* of engaged sessions to a company. That reliability is exactly why account signals should carry the most weight early: you can trust "this account is here" long before you can trust "this specific person is here." Score the account on fit and behavior first, independent of whether you know a single name.

Layer 2: Person score. Only layer in person-level points once a named contact has actually been matched, at Knock2's benchmark that's about 62%* for US traffic, and only for the title, seniority, and role signals tied to that specific person. Don't award "decision-maker visited" points to an account until you know it was actually a decision-maker and not a random employee researching a competitor's product for their manager.

*Identification rates measured against engaged sessions (any visit lasting 10+ seconds or including 2+ pageviews). Results may vary by traffic profile, geography, and industry.

The sequencing matters more than the exact split. Score the account, decide whether it deserves attention, and only then spend effort resolving and scoring the humans inside it.

The 6 Signals Worth Scoring, and What They're Worth

Not every signal deserves equal weight, and most teams over-weight the ones that are easiest to track (raw pageviews) and under-weight the ones that actually predict a deal (multiple people from one account showing up). Here's how we'd rank them:

  • 🔴 Very High: Buying committee breadth - 3+ distinct identified contacts from the same account visiting in a rolling 14-day window - one person researching is curiosity, three people is an evaluation.
  • 🔴 Very High: Commercial-intent page engagement - an engaged session on pricing, a "vs. [competitor]" page, or an integrations page - this is the closest thing to a hand raise you'll get before the form.
  • 🟠 High: Revisit frequency - 3+ engaged sessions from the same account inside 30 days - repeat visits compound; a single session rarely means much on its own.
  • 🟠 High: Title and seniority fit - the identified contact's role matches your ICP buying persona - only counted once a person-level match exists, never inferred from the account alone.
  • 🟡 Medium: Firmographic fit - company size, industry, and tech stack (via waterfall enrichment) match your ICP - necessary context, but fit without behavior is just a list, not a signal.
  • 🟢 Low-Medium: Content engagement - engaged sessions on blog posts, guides, or resource pages with no commercial intent - useful for nurture sequencing, weak for sales prioritization.
  • Low: Single anonymous pageview - one page, no engaged session, no repeat visit - score it zero. It's noise, not intent.

A Worked Example: The 100-Point Threshold Model

Here's a concrete version of the framework you can adapt this week. Cap account-level signals at 60 points and person-level signals at 40, so no account can trigger sales outreach on firmographics alone, and no single named visitor can trigger it without account-level context behind them.

  • Account layer (max 60): buying committee breadth (up to 25), commercial-intent page engagement (up to 20), revisit frequency (up to 15).
  • Person layer (max 40): title and seniority fit (up to 25), firmographic fit (up to 15).

Set three thresholds and route accordingly: 70+ triggers an immediate Slack alert and CRM task for the account owner, 40 to 69 goes into an automated warm-outbound sequence instead of a live rep, and anything under 40 stays in nurture. The exact cutoffs matter less than having three distinct actions instead of one giant "notify everyone" bucket.

Where Most Scoring Models Fall Apart

A few mistakes show up over and over when teams build this themselves:

  • Scoring pageviews instead of engaged sessions. A bounce and a genuine ten-minute research session shouldn't earn the same points. If your identification tool doesn't distinguish engaged sessions from drive-by hits, your scores are mostly noise.
  • Alerting on every identified visit. The fastest way to get a scoring model ignored is to Slack the SDR team every time anyone from a target account loads a page. Alert fatigue kills adoption faster than a bad model does.
  • Scoring before enrichment resolves. If firmographic fit hasn't been confirmed yet, a "high-fit" score is a guess. Wait for the waterfall enrichment step to actually resolve company and contact data before those points count. Messy underlying records make this worse; if scores keep contradicting each other, the problem is often upstream CRM data hygiene, not the scoring logic.
  • No decay. An account that scored 85 points ninety days ago and has gone quiet since is not still an 85. Points should decay on a rolling window, not accumulate forever.

How to Ship This in Your Stack This Week

You don't need a data science team to stand this up. The rollout is a five-step play:

  • 1. Define your engaged session. Ten-plus seconds or two-plus pageviews is the standard baseline. Anything short of that shouldn't earn points at all.
  • 2. Pull the last 30 days of identified account activity and tag it against the six signals above.
  • 3. Assign weights and set your three thresholds (alert, sequence, nurture) rather than one blanket score.
  • 4. Automate the routing. Decide where each threshold sends the account, using lead routing rules so only accounts crossing the top threshold interrupt a rep's day. This is exactly what a Knock2 play is built for: identify the visitor, filter against your scoring rules, enrich the account, and send it to Slack or your CRM only when it clears the bar.
  • 5. Recalibrate monthly. Pull closed-won accounts and check whether their historical scores would have flagged them early. If they wouldn't have, your weights are wrong, not your data.

Get this right and your RevOps and sales teams stop arguing about whether a lead is "good," because the model already did that work using account and person signals nobody else in the deal cycle had access to yet. It's also the fastest way to show finance the same thing sales already feels: a working scoring model turns "we bought a visitor ID tool" into a documented, repeatable ROI story. That's the actual point of identifying website visitors in the first place: not more names in a list, but a scoring system that knows which accounts are worth a rep's time before a single form gets filled out. You can see how Knock2 handles the identification and scoring layer here.

FAQ

What's the difference between account scoring and lead scoring for website visitors?

Account scoring evaluates a company's fit and behavior using company-level identification, which is typically more reliable and available sooner. Lead scoring evaluates a specific named person's fit and behavior, and should only apply once that person has actually been identified. Run account scoring first; layer person scoring on top once it's available.

How many points should a pricing page visit be worth?

Enough that it meaningfully separates casual browsers from serious evaluators, but only if it's an engaged session and not a two-second bounce. In the 100-point model above, commercial-intent pages like pricing sit in the account layer's highest-weighted bucket alongside buying committee breadth.

Should you score anonymous visitors before they're identified?

Only at the account level, and only once identification has actually resolved the company behind the session. Don't award points to traffic your tool hasn't confidently matched. A guess that turns out wrong erodes trust in the whole model faster than a missed signal does.

How often should you recalibrate a visitor lead scoring model?

Monthly, at minimum. Pull your closed-won accounts and backtest whether their historical activity would have crossed your alert threshold early enough to matter. If it wouldn't have, adjust weights before adding more signals.

Does this still work if my person-level identification rate is lower than average?

Yes, because the framework is built to not depend on it. Person-level match rates vary by traffic profile, geography, and industry, so the account layer is designed to carry most of the weight on its own. Treat person-level points as a bonus layer on top of a model that already works from company-level data alone.

How to Build a Lead Scoring Model for Identified Website Visitors

John DiLoreto is the founder & CEO of Knock2

Latest articles

Browse all