Rank partial leads by fit, then evidence of intent, then freshness — and only call the ones you can actually reach. Your list contains three populations mixed together: mistypes, researchers, and buyers who hit a wall. Arrival order spends your best hour on the weakest of the three. Four signals reorder it in about a minute per lead.
This is the problem nobody warns you about when you start capturing form abandoners. Recovery works. Then Monday arrives with sixty new names, your rep has time for twelve calls, and nothing on the screen says which twelve.
Why can’t you just work the list in the order it arrived?
Because arrival order encodes nothing about value. A partial lead — a visitor whose email or phone you captured before they submitted — costs the same to collect whether the person was buying or bouncing. The list is sorted by when the tag fired: a fact about your website, not about the person.
Open any day’s partials and you will find three populations.
The mistypes. Someone landed from a social link, typed an email out of habit, realised they were on the wrong page, and left in under fifteen seconds. Their record looks identical to everyone else’s. They will never buy.
The researchers. Real prospects, genuinely interested, nine weeks from a decision. They filled two fields, then went to compare you against competitors. A call today is early, not wrong — but it is not this week’s revenue.
The blocked buyers. People who wanted to finish and could not: the phone field rejected their country code, the page errored on submit, the pricing answer they needed was not there, or they got interrupted. These are the calls that close, and they are usually a minority of the list.
Top-to-bottom order gives all three the same claim on your time, and because mistypes are the most numerous, they get the most of it.
What makes one partial lead worth more than another?
Four signals, and they are not interchangeable. Fit says whether this person could ever buy. Intent says whether they were seriously trying. Recency says whether the moment is still open. Reachability says whether the call can happen at all. A lead clears all four to be worth dialling first.
Fit is about the person and their company, and it is knowable from an email domain alone — industry, size, whether they resemble anyone you have closed. It is the only one of the four that never decays. Someone who is a bad fit today is a bad fit next month.
Intent is about the session: how far into the form they got, whether they came back, how many pages they touched, whether the visit came from a high-commitment source like branded search. Intent evidence is why a two-session partial outranks a one-field partial that arrived an hour earlier.
Recency is about the window. A partial lead is unusual because you are catching someone mid-decision, and the context that makes your call relevant — they were just on your pricing page — expires soonest.
Reachability is the unglamorous one that decides whether any of it matters. A captured email with no phone is not a call, it is an email. Neither is a phone number missing a country code. If phone is optional on your form, a large share of your best-fit partials are unreachable, and your ranking has to say so rather than sending a rep to discover it.
How do you score a partial lead without building a model?
Give each of the four signals 0 to 3 points, add them up, and call in descending order. Eight or above goes in today’s queue; 5 to 7 goes to an email sequence; below 5 stays in the database. The scale does not need to be clever — it needs to be applied the same way every morning.
| Signal | 0 points | 1 point | 2 points | 3 points |
|---|---|---|---|---|
| Fit | Free-mail address, unrelated industry | Plausible but unknown | Right industry, right size | Matches your ideal customer profile |
| Intent | One field, one page | Reached the contact step | Multiple pages, or pricing viewed | Returned in a second session |
| Recency | Older than a week | 2–7 days | Yesterday | Today |
| Reachability | No phone | Phone present, unverifiable format | Valid phone, wrong timezone for now | Valid phone, callable within the hour |
Two worked examples, illustrative only.
A lead comes in at 9:14am from a paid search click on “pricing”, types a work email at a 200-person logistics company and a full phone number, and leaves. Fit 3, intent 2, recency 3, reachability 3 — eleven points. First call of the day, and it is not close.
A second lead arrived four days ago from a social ad, typed a free-mail address, never reached a second field, and left no phone. Fit 1, intent 0, recency 1, reachability 0 — two points. That is not a call. It is a row in a nurture list, and treating it as anything else is how reps learn to distrust the whole queue.
The rubric’s job is not precision. It prevents the two failure modes that kill partial-lead programmes: calling everything, which burns reps out on mistypes, and then calling nothing.

How fresh does a partial lead have to be?
Fresh enough that the reason they were on your site is still true. That is a shorter window than most teams assume, and the cheapest thing here to fix — it costs nothing but scheduling.
Two clocks run at different speeds. The context clock is fast: within a day, “you were looking at our pricing page this morning” becomes “you visited us at some point,” which is a worse opening and a worse reason to take the call. The need clock is slow: whatever problem sent them looking may still be unsolved a month later, which is why old partials belong in nurture rather than in the bin.
Do not take a benchmark’s word for where your cutoff sits. Measure it: tag every call with the lead’s age at dial time, then compare connect and booked-meeting rates across age buckets — under an hour, same day, next day, 2–7 days, older. Two weeks of that gives you your own curve, which beats any published number, including any in this article.
One structural note. The freshness of a partial lead is not the freshness of the record; it is the freshness of their last session. A lead captured nine days ago who came back yesterday is a yesterday lead. That is why session stitching matters to a call queue at all: without it, visitor identity resolution failures make a returning prospect look like a stranger and your recency score reads the wrong date.
Which partial leads should you not call at all?
Five categories, and removing them matters more than ranking the rest — a queue with junk in it stops being trusted after about three bad calls. Filtering is the cheaper half of prioritisation.
Bots and spam submissions. Automated form probes produce email addresses that look real and phone fields full of nonsense. If a record’s field entries arrived faster than a human types, it is not a person.
Disposable addresses. A partial lead from a ten-minute-mail domain is someone actively avoiding contact. Respect that and save the dial.
Your own team. Internal testing, your developer checking the form, your agency’s QA pass. Each one looks exactly like a partial lead, and each one is an embarrassing call. Exclude internal traffic before it reaches the list.
People you are already talking to. An existing customer who abandoned a support form is not a new lead, and calling them as one damages a relationship you have. Match against your CRM before the queue is built.
Anyone outside what you can legally or practically serve. Regions you do not sell into, and numbers subject to do-not-call rules in your market. Calling someone who typed a number into an unsubmitted form sits in a different legal position than calling someone who requested contact. This is not legal advice; get a straight answer for your jurisdiction before a calling programme starts, not after.
What do you say when you call someone who never hit submit?
Say the true thing, immediately, and make the first sentence useful to them. You are not calling to announce that you watched them type. You are calling because the page they were on has a specific question attached to it, and you can answer it in ninety seconds.
The opener that works names the context without making it creepy: the plan they were looking at, and a reason the call exists. “You were looking at the enterprise plan — the question most people have there is about seat limits, so I wanted to answer it directly.” Honest, specific, and it gives them something before it asks for anything.
The opener that fails is the fake-inbound one: pretending they requested a call. They did not, they know they did not, and the call is over.
Offer the exit. “If it is easier, I can send this by email instead” turns not-now calls into live threads, and it is the right fallback for a lead that scored well on fit but poorly on reachability. The lead who never clicked submit is reachable in more than one way; the phone is simply the fastest.
How does PartialLeads help you decide which partial lead to call first?
By capturing the phone number in the first place, scoring each lead against your ideal customer with AI, and surfacing the strong matches in a priority inbox above the lead table — so the list you open in the morning is already ordered by fit rather than by arrival time.
The capture layer is what makes a call possible at all. The tag records email and phone on input and blur as they are typed, with a terminal flush on submit, pagehide and visibilitychange so the last field is never lost. Phone numbers are normalised to E.164 with a country-code fallback from the session’s geo — so the number on the record dials. That is partial lead capture doing its job before any ranking happens.
Fit is scored automatically. Two-step AI enrichment researches the lead’s email domain and the person, then evaluates them against your written ai_persona — the ideal-customer description you supply. Each lead gets a verdict (strong match, possible match, unlikely match, or insufficient data), a confidence score and the reasons behind it, on a Customer Match card. Strong matches surface in a priority inbox above the lead table: the fit column of the rubric, already filled in. If you have not written that persona, what to include in an AI lead qualification persona is the prerequisite, and scoring leads against your ideal customer covers how the verdict is reached.

Intent and recency come from the Journey ribbon on the Leads list itself. Each touch renders as a badge left to right — source, sessions, the conversion — so a row reads as a sentence without opening anything. A lead carrying a multi-session label and a paid-search badge is visibly a different prospect from a single-touch Direct row, at list resolution. The Partial and Completed badges keep the two populations apart.
When the call happens, Twilio recordings attach to the lead by normalised phone across the person’s whole identity cluster, so the call sits beside the journey, the captured fields and the AI match data — and you can check what the strong matches actually said, then adjust the persona rather than the rubric.
Three honest constraints. The AI verdict scores fit, not enthusiasm — whether this person resembles your buyers, not how badly they want to talk today, which is why intent and recency stay yours to judge. Enrichment needs something to work with; a free-mail address at a company with no web presence returns insufficient data rather than a guess. And PartialLeads does not dial, does not transcribe calls, and emits no blended call-priority number — it supplies the signals and the priority inbox. The ranking rule stays yours, which is correct: the weights differ for a plumber and a SaaS company.
| What breaks | The mechanism | Where you see it in the dashboard |
|---|---|---|
| No phone number to call, because they never submitted | Field capture on input/blur with terminal flush; E.164 normalisation with geo country-code fallback |
Phone column on the Leads list; captured fields on the lead record |
| Every lead looks identical, so reps work in arrival order | Two-step AI enrichment against your ai_persona, returning verdict, confidence and reasons |
Customer Match card; strong matches in the priority inbox above the lead table |
| No way to tell a researcher from a blocked buyer | Six-tier identity cluster stitching a person’s sessions, rendered per touch | Journey ribbon on the Leads list, with the multi-session label |
| Returning prospects read as brand-new strangers, so recency is wrong | Durable server-set visitor ID plus email, phone and click-ID joins across sessions | Journey timeline on the lead |
| Nobody knows what happened on the calls that were made | Twilio recordings matched by normalised phone across the identity cluster, played in-app | Call panel on the lead, beside the journey and AI match data |
Start with fit, the only signal that never expires. Add reachability, which decides whether a call is possible. Then let recency break ties. That order survives a bad week, which is the only real test a prioritisation rule has to pass.