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
- 01What it does
- 02The architecture
- 03Instrument and identifyemail unlock
- 04Weight, reveal, and extractemail unlock
- 05Score, gate, and learnemail unlock
- 06The scoring model, with the real weightsemail unlock
- 07Thresholds, floors, and the gateemail unlock
- 08Calibration, backtest, and the feedback loopemail unlock
- 09What it looks like in the wildemail unlock
- 10Gotchas we hitemail unlock
- 11What the production version addsemail unlock
- 12Build it yourselfemail unlock
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.
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.
Instrument
First-party script plus server-side events. Page views, clicks, scroll, dwell, section focus, text selection, chat messages.
↓
Identify
Stable visitor ID, optional fingerprint merge, then company reveal from IP with aggressive exclusions.
↓
Score
Page catalog weights each URL. Features become factors, factors become a capped session score, sessions blend into a visitor score.
↓
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
| Stage | Persists | Used for |
|---|---|---|
| Instrument | Raw event rows per session | Feature extraction, replay, debugging |
| Identify | Visitor record, company match, cache entry | Cross-session continuity, firmographic points |
| Score | Session score, factor breakdown, visitor score | The gate, dashboards, explaining the number |
| Gate | Alert event with factor keys | Dedupe, 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.