What is the Lead Intent Agent?
Think of the Lead Intent Agent as a silent observer standing at the entrance to your website. It watches how visitors behave — which pages they linger on, how far they scroll, whether they visit your pricing page, and whether they start filling in a form — and it reports those observations to you in real time.
It doesn't know who the visitor is. It doesn't read their name from a form or check their email address. It simply answers one question: "How interested does this visitor seem, right now?"
"Not all website visitors are equal. The Lead Intent Agent helps you tell the difference between someone casually browsing and someone who is genuinely ready to buy."
This information is valuable for your sales and marketing teams. Instead of treating every visitor the same, you can prioritise outreach to people who show strong buying signals — people who spent 3 minutes on your pricing page, scrolled all the way to the bottom, and then started filling in your contact form.
How does it work?
The agent is a small piece of code added to your website. The moment a visitor arrives, it begins quietly tracking their journey — much like a store assistant watching which products a customer picks up and examines.
A visitor's journey through your site
👋
Visitor arrives
A session & visitor ID are created
📄
Pages viewed
Category noted: pricing, services, blog…
📊
Engagement tracked
Scroll depth, time active, clicks
📝
Intent signal
Form started? CTA clicked? Booking opened?
📤
Score sent
Behaviour data sent to your backend
The signals it reads
The agent watches for specific behaviour patterns that indicate genuine buying interest. These are called intent signals:
💰
Pricing page visit
Visiting your pricing page is a strong sign of purchase consideration
📞
Contact page visit
Viewing your contact page suggests the visitor wants to reach out
📅
Booking link click
Clicking a Calendly or booking link is a very high-intent action
✍️
Form interaction
Starting to fill in a form signals strong purchase intent
⏱️
Time on site
Spending 30+ active seconds indicates genuine interest
📜
Scroll depth
Scrolling 50%+ through a page shows real reading engagement
🔗
CTA clicks
Clicking "Get started" or "Book a call" type buttons
📖
Case studies
Reading customer success stories indicates evaluation stage
What it does and doesn't collect
This is the most important section for anyone concerned about visitor privacy. The agent has clear boundaries between what it observes and what it ignores.
✓ What it collects
- Which pages were visited and in what order
- How long a visitor spent actively reading
- How far down a page they scrolled
- Whether they clicked a call-to-action button
- Whether they started filling in a form
- The type of form field touched (e.g. "email field")
- Device type (mobile, desktop, tablet)
- Browser and operating system (e.g. Chrome on macOS)
- Approximate timezone and language setting
- The marketing channel that brought them (UTM source)
✗ What it never reads
- The actual text typed into any form field
- Email addresses (until submitted and identified)
- Names, phone numbers, or any typed content
- Credit card or payment information
- Passwords or login credentials
- Personal URL parameters (these are stripped out)
- Anything when the visitor says "no" to tracking
Privacy by design
The Lead Intent Agent was built with privacy as a core requirement, not an afterthought.
Built-in privacy protections
✓
Consent-aware: If a visitor declines tracking through your cookie banner, all data collection stops immediately.
✓
DoNotTrack respected: Browsers with the "Do Not Track" setting enabled are automatically put into essential-only mode.
✓
Form values never read: The agent only notes that a form field was touched — it never reads what was typed.
✓
URL cleaned automatically: Personal identifiers in URLs are stripped before any data is sent to the server.
✓
Right to erasure: A single reset() call removes all visitor and session data from the browser instantly.
✓
Bot detection: Automated scrapers and headless browsers are flagged and their data is tagged as suspected non-human traffic.
Key concepts explained simply
🆔
Visitor ID vs Session ID
A Visitor ID is like a loyalty card number — it stays the same across many visits. A Session ID is like a shopping basket — it only lasts for one visit (30 minutes of inactivity resets it). This lets you recognise returning visitors without storing personal data.
📬
First Touch Attribution
When a visitor first arrives, the agent notes how they found you — from a Google Ad, a social post, an email campaign? This "first touch" is remembered forever, so even if they come back weeks later through a direct URL, you still know which campaign originally brought them in.
🤝
Identify: Tying Intent to a Person
All the behavioural data is anonymous until a visitor voluntarily submits a form with their email. At that point, the identify call ties all that rich intent data to a real lead in your CRM — giving your sales team context like "this person has viewed pricing 3 times this week."
📦
Event Batching
Rather than sending one data packet per click (which would be noisy and slow), the agent collects several signals and sends them together in a neat package every 5 seconds. Critical events like a form submission are sent immediately, so nothing important is delayed.
What is an "engaged session"?
The agent has a special signal called engaged_session. This fires when a visitor has spent at least 30 seconds actively reading your page and has scrolled at least halfway down. It's the agent's way of saying: "This person is genuinely reading, not just glancing." An engaged session is one of the strongest early indicators of a qualified lead.
How does the agent know a session is "new" vs "returning"?
When a visitor first comes to your site, a new session is created and a session_started event is fired. If the same visitor comes back within 30 minutes (the default TTL), the agent recognises the existing session and fires session_resumed instead — meaning no data is lost and the journey is continuous. After 30 minutes of inactivity, a brand new session begins.
Glossary of terms
A quick reference for terminology you may encounter when reviewing reports or speaking with your technical team.
Session
A single continuous visit to your website. Ends after 30 minutes of inactivity. One visitor can have many sessions over time.
Visitor ID
A random, anonymous identifier stored in the browser that persists across sessions. Used to recognise the same browser over time — not tied to a real person until they identify themselves.
Lead ID
Created by your backend when a visitor submits their contact details. Links all of their anonymous browsing history to a real person in your system.
Intent signal
Any behaviour that suggests a visitor may be considering making a purchase or getting in touch. Examples: visiting pricing, clicking "book a call", starting to fill a form.
Page category
A label the agent assigns to each page based on its URL. For example, /pricing becomes "pricing", /contact becomes "contact". Used to infer intent from navigation patterns.
UTM parameters
Tags added to URLs by marketers (e.g. utm_source=google) to track which campaign brought a visitor. The agent preserves these to attribute leads back to the correct campaign.
Consent state
Whether the visitor has agreed to be tracked. Can be "granted" (full tracking), "denied" (no tracking), "essential only" (basic tracking only), or "unknown" (banner not yet answered).
Suspicion score
A score (0–100) estimating the likelihood that a visitor is an automated bot rather than a real person. Used to filter out low-quality traffic from your reports.
CTA (Call-to-Action)
A button or link designed to prompt visitors to take action — "Book a demo", "Get a quote", "Contact us". The agent tracks when these are clicked as high-intent signals.