Lead generation

A fake form fill costs you three times over

You pay for the click. A sales rep works the lead and finds nobody home. Worst of all, your bidding algorithm counts the conversion as a win and goes looking for more traffic just like it. ClickLens scores how each conversion was produced, so a scripted form fill never becomes a lead you chase or a signal your bidding learns from.

How a fake form fill happens

A headless browser or a paid form-filler loads your landing page, drops plausible details into the fields, and submits. The contact looks real: a name, an email that accepts mail, a phone number with the right shape. Your conversion pixel fires on the thank-you page, and Google Ads or Meta records a lead. Bots now make up the majority of web traffic (51% in 2024, with malicious bots at 37%[1]), and a share of completed conversions are automated rather than human, with lead-gen forms the cheapest fake of all to produce at scale.

Blocking the click cannot undo this. By the time any IP exclusion lands, the conversion has already fired and trained the bidder. The only place to intervene is the conversion itself, and the only thing that separates the fake from the real one is how it was produced.

37%

of internet traffic is malicious bots (Imperva, 2025)

$172B

projected annual ad-fraud loss by 2028 (Juniper Research)

the cost: the click, the sales time, and the poisoned bidding signal

Three things ClickLens checks, none of which read your forms

A conversion pixel fires when the thank-you page loads. It records that a lead happened, not how it happened. ClickLens sits in the page as a first-party tag, so it watches the gesture that produced the form fill and groups what it sees into three questions. Every signal is meta-timing and structure. The data has no field for a value, a field name, or any text a visitor typed.

1

Was the submit a real gesture?

A person clicks the submit button; a script dispatches an event. These signals tell the difference.

Trusted submit

Whether the form-submit was browser-trusted (event.isTrusted) or fired by code. A scripted submit is the clearest tell a person never pressed the button.

Preceding pointer path

Whether any real pointer movement was sampled before the conversion fired. A filled form with no pointer that ever moved did not have a hand on the mouse.

Paste-without-focus count

Paste events that landed with no field focused, or with isTrusted false. That is a programmatic fill, never someone typing into a box.

2

Was the form filled the way a person fills one?

People type into fields in a varied order and at varied speed. A bulk assignment does not.

Keystroke field count

How many distinct fields actually received keystrokes, rather than a value set straight onto the element.

Field-fill order entropy

The Shannon entropy of the fill sequence. A script assigning four fields at once has zero entropy; a person has measurable spread.

Interaction count

The total number of field interactions recorded across the session.

3

Was it filled at human speed?

A form a person reads, fills and submits takes seconds. A script does it in milliseconds.

Load-to-conversion time

Milliseconds from page load to the conversion call. A sub-second form fill is suspect; nobody reads four labels and types four answers that fast.

The privacy line is in the code, not the policy. A programmatic paste into an unfocused field and a fully scripted submit are contradiction-grade evidence. Soft signals, such as an instant fill or a missing pointer path, inform the score but never condemn a conversion on their own, because each has a real innocent cause. See how every verdict is built on the conversion protection page.

Your CRM knows which leads were real. Tell ClickLens.

Whether a human filled the form is not the same question as whether the lead was worth money. A spam lead and a real prospect can fill a form the same way. When your sales team marks a lead closed-won or disqualified, post that outcome to the ClickLens webhook and it reconciles against the conversion it already scored. A disqualified lead becomes a retraction candidate so the bidder stops chasing junk; a closed-won lead cancels any pending suppression, so a real lead is never removed.

The webhook takes a click-id and an outcome, is signed with HMAC-SHA256, and is verified in constant time. There are recipes for Zapier, HubSpot and Salesforce, so the disposition your reps already record flows back without new tooling.

The write-back that retracts a disqualified lead on Google and Microsoft Ads is in measured rollout: today the dashboard shows the adjustment ClickLens would make, and a verdict only changes platform data once its false-positive rate has been measured on real traffic against a 10% holdout. Meta and TikTok have no per-click retraction API, so a retraction there is reported but cannot be synced. The conversion protection page sets out the full discipline.

Reported cost per lead, against verified cost per lead

Google Ads reports your cost per lead across every conversion it counted, the fakes included, so the number flatters the campaign. Once your CRM outcomes flow back, ClickLens divides the same cost basis by the genuine rate, the closed-won leads among those your team has worked, to give a cost per genuine lead. The gap between the reported figure and the verified one is CPA divergence, and it is usually where the wasted budget is hiding.

The cost basis is your real cost per click when you connect ad spend or set an average CPC. Without one it falls back to a $2.00 estimate, marked as estimated on the dashboard so an assumption is never presented as a measurement. At small lead volumes the divergence is reported with a 95% confidence interval rather than a single precise number, because the honest readout of a thin sample is a wide interval, not false certainty.

What you get

  • Every conversion scored on how it was produced, with no form contents collected
  • Three provenance signal families, each contributing to a verdict you can inspect
  • CRM outcome webhook to reconcile leads against closed-won and disqualified ground truth
  • Reported cost per lead set against verified cost per genuine lead
  • Recipes for Zapier, HubSpot and Salesforce
  • Session disputes for false positive correction
  • Free plan with 1,000 sessions to get started

Fake leads FAQ

What is a fake lead?

A fake lead is a form fill produced by a bot or a paid form-filler rather than a real prospect. It carries plausible-looking contact details, fires your conversion pixel, and counts as a lead in Google Ads or Meta. The cost is not only the click that brought it: a sales rep works it, your CRM fills with junk, and your bidding algorithm reads the conversion as a win and buys more of the source that produced it.

Does conversion scoring read what people type into my forms?

No. ClickLens records meta-timing and structure only: whether the submit was browser-trusted, whether a pointer moved before it, time from load to conversion, paste-without-focus events, how many fields received keystrokes, the entropy of the fill order, and the interaction count. There is deliberately no place in the data for a field value, a field name, or any text a visitor entered.

How does the CRM loop improve detection?

Whether a human filled the form is a different question from whether the lead was worth money. When your sales team marks a lead closed-won or disqualified, post that outcome to the ClickLens webhook. A disqualified lead becomes a retraction candidate so the bidder stops chasing junk; a closed-won lead cancels any pending suppression, so a real lead is never removed. That is unbiased ground truth the submit-time score could only predict.

What is CPA divergence?

Your ad platform reports cost per lead across every conversion it counted, fake ones included. ClickLens computes the cost per genuine, CRM-confirmed lead over the leads your sales team has dispositioned. The gap between the two is CPA divergence. It is reported with a 95% confidence interval rather than a single precise number, because at small lead volumes the difference is often not yet statistically significant, and saying so is more honest than asserting a figure the sample cannot support.

Sources

  1. Imperva (Thales), “2025 Imperva Bad Bot Report” , 2025. Accessed 26 June 2026. imperva.com
  2. Juniper Research (reported by Search Engine Land), “$84 billion of ad spend lost due to ad fraud in 2023” , September 2023. Accessed 26 June 2026. searchengineland.com

See which of your leads were never people

Install the tag, report your conversions, and watch each form fill resolve to a verdict you can inspect. Start free with 1,000 sessions a month, no credit card required.