What lead scoring is for
A form fill on its own tells you almost nothing. Someone who read three docs pages, compared plans twice and came back from a search ad is not the same lead as someone who landed on the contact page and typed a fake company name. Lead scoring puts a number on that difference so you know who to call first.
Many lead scoring setups are built by hand: plus 10 for a pricing page view, minus 5 for a free email address. The rules drift away from what buyers actually do. Orwel scores from behaviour it already records, so there is no rulebook to maintain.
How the Orwel lead score works
Every lead in Orwel gets a lead score from 0 to 100. It combines four parts:
| Part | What it looks at |
|---|---|
| Conversions | How many conversions the person has, how recent they are and the source they came from. This part weighs the most. |
| Engagement | The events they triggered, with high value actions counting more than page views and clicks, plus the variety of what they did. |
| Recency | How recently they were active. Activity today scores higher than activity three months ago. |
| Consistency | Whether their visits follow a steady pattern and how much they do per session. |
Each lead keeps a breakdown of those parts, which agents can read through MCP, so a high score can be explained, not just trusted. The score is updated as the person keeps coming back and generating events.
On the Campaigns screen, leads that score 60 or more count as qualified. That threshold is what turns raw lead counts into cost per qualified lead.
Intent signals
The score says how strong a lead is. Intent signals say what kind of visit it was. Orwel reads how someone behaves in a session (clicks, scroll, hovers, form inputs and pace) and matches it against 12 behaviour patterns. A visitor usually shows a mix, with one or two dominant signals. A few examples:
| Signal | What the session looks like | A useful response |
|---|---|---|
| Decisive | Few pages, straight to pricing or signup | Keep the path short, put the CTA first |
| Skeptical | Rereads pricing, opens comparisons and FAQs | Show social proof, guarantees and docs |
| Lost | Back and forth, repeated searches, no progress | Offer chat or a guided tour |
| Anxious | Starts forms and abandons them | Reduce fields, reassure about price and data |
Signals are statistical patterns of on-site behaviour, not a psychological profile. They never use sensitive categories, and nothing is shown to the visitor unless you build it.
The whole session history
When someone converts, the lead arrives with context. You see their sessions, the pages they viewed, the events they triggered, every conversion they made and where they came from, starting with the first visit. That history exists because Orwel was recording the visitor anonymously before they identified themselves. The conversion attaches it to a real person.
This makes the score useful in practice: a follow up can start from what the person actually looked at.
Identify and conversion
Two SDK calls connect behaviour to a person.
orwel.identify() attaches an email and traits to the current visitor, usually when they sign in. orwel.conversion() records a high value outcome such as a signup, a demo request or a purchase, and turns it into a lead.
async function onSubmit(form) {
orwel.identify({ email: form.email, name: form.name });
const { success, reason } = await orwel.conversion('demo_request', {
email: form.email,
company: form.company,
});
if (!success) console.warn('Orwel conversion not delivered:', reason);
}
A few details matter:
- Always send an email. Without an email or phone in the conversion or the visitor's traits, the conversion is stored but the lead cannot be enriched, no notification email goes out and integrations skip it.
- Retries do not duplicate. Each conversion gets a
conversionId, and the server deduplicates on it, so a double submit creates one lead. - Attribution is automatic. First and last touch UTMs and ad click IDs travel with every conversion. See marketing attribution.
- Payments move people to customer. A conversion with a payment signal (
amount,plan,order_id, or a code likepurchase) moves the visitor to the customer stage. Passcurrencywithamount.
You can also observe a form element with orwel.form() to record submit attempts, errors and abandons alongside the conversion.
From score to action
New leads can go out the moment they convert, to HubSpot, Hyperflow, Zapier, Brevo or a notification email. Through Orwel's MCP server, an agent such as Claude can answer "who are my top leads this month and why do they score high?" from your workspace data.
What Orwel lead scoring does not do
- No IP de-anonymization. Orwel identifies people only when they sign in or submit a form. It does not resolve anonymous visitors to people or companies by IP address.
- No hand-built scoring rules. The score comes from recorded behaviour, not from a points table you configure.
Marketing qualified leads and cost per lead
A marketing qualified lead is one that marketing considers ready for sales. In Orwel, that line is drawn by the score: on the Campaigns screen, a lead at 60 or above is qualified. Connect Google Ads or Meta Ads and you get cost per lead and cost per qualified lead per campaign, plus campaigns that spent money without producing a single qualified lead. To estimate those numbers before you connect anything, try the CAC calculator.