BLUEPRINT · CRL-INTENT-01

The Anonymous Visitor Engine

Know which company is reading your pricing page while they are still on it.

The complete build, given away. The real scoring model with its actual weights, all ten steps, and the six mistakes that cost us the most. This is the system we run for clients, written down so you can follow it.

v1.0 · August 2026 · Written for anyone with b2b traffic and a sales team

Contents

  1. 01What it does
  2. 02The architecture
  3. 03Instrument and identifyemail unlock
  4. 04Weight, reveal, and extractemail unlock
  5. 05Score, gate, and learnemail unlock
  6. 06The scoring model, with the real weightsemail unlock
  7. 07Thresholds, floors, and the gateemail unlock
  8. 08Calibration, backtest, and the feedback loopemail unlock
  9. 09What it looks like in the wildemail unlock
  10. 10Gotchas we hitemail unlock
  11. 11What the production version addsemail unlock
  12. 12Build it yourselfemail unlock
01

The Anonymous Visitor Engine

What it does

Anonymous traffic has one failure mode that costs more than bad copy ever will. A company that could buy from you reads your pricing page three times on a Tuesday, does not fill in a form, and nobody on your team ever finds out.

This is the system that closes that window. It watches every session on your site, works out which company is behind it, scores what they actually did rather than how long they stayed, and hands the ones that matter to a human in Slack while the visit is still warm.

Sessions that look busy but mean nothing get scored low and left alone. Alerts are capped at one per visitor per day, because the fastest way to kill this system is to make sales mute the channel in week two.

Everything below is what we actually run. The weights are the real defaults, the thresholds are the ones in production, and the mistakes are ours.

02

The architecture

Four stages, and a loop that feeds the first stage from the last. Events arrive from the page and from your server. Identity resolves the visitor across sessions and, where possible, to a company. Scoring turns raw behaviour into one number per session and one per visitor. A gate decides whether a human hears about it.

01

Instrument

First-party script plus server-side events. Page views, clicks, scroll, dwell, section focus, text selection, chat messages.

02

Identify

Stable visitor ID, optional fingerprint merge, then company reveal from IP with aggressive exclusions.

03

Score

Page catalog weights each URL. Features become factors, factors become a capped session score, sessions blend into a visitor score.

04

Gate and hand off

Above threshold and not alerted today, send to Slack with the top factors and the last ten pages. Thumbs up or down feeds the weights.

The order matters. Most teams build stage one and stage four and skip the middle, which is how you end up with a Slack channel full of people reading your careers page. The value is entirely in stages two and three.

What each stage writes down

StagePersistsUsed for
InstrumentRaw event rows per sessionFeature extraction, replay, debugging
IdentifyVisitor record, company match, cache entryCross-session continuity, firmographic points
ScoreSession score, factor breakdown, visitor scoreThe gate, dashboards, explaining the number
GateAlert event with factor keysDedupe, and attaching feedback days later

Read the rest, and take the PDF

10 more sections including the full scoring model with its real weights, the thresholds we alert on, and the six mistakes that cost us the most. Email only.

One email with your resource. No spam — unsubscribe anytime.

No gate on the useful part: everything we publish here is what we run in production, and you are welcome to build it yourself.

The Anonymous Visitor Engine — BLUEPRINT · CRL-INTENT-01 · Cerell