Skip to content

Use case

What share of leads make it through each stage, and which sources actually convert?

A conversion rate is a division, and almost all of the difficulty is in the denominator. Which records belong in it, which period they are counted in, and what to do with the ones that went both ways decide the answer long before any arithmetic happens.

Built for Keap Welcome Home

Conversion by lead source

saved report · Sales / Pipeline

Period: Year to date Cohort: Leads created in period Rep: All
Leads
1,269
Reached won
296
Lead to won
23.3%

By source

Conversion by lead source, illustrative figures
Lead source Leads Contacted Qualified to won Lead to won
Referral 231 88.3% 61.0% 41.6%
Webinar 344 64.2% 38.4% 17.7%
Paid search 486 41.2% 35.1% 17.3%
Organic 152 72.4% 52.8% 30.9%
Unknown 56 39.3% 30.2% 14.3%
All sources 1,269 61.4% 42.1% 23.3%

applied — '(auto-created)' contacts come from inbound calls; they are not leads, and counting them would sink every rate in this table

Sources contacts contact_tags lead_sources governed datasets Data as of today, 00:05 Export · Share

Every figure above is invented. We build these reports for real businesses and do not put their numbers, or their names, on a public page.

Why it is not one query

The rules that decide the number.

Not every contact is a lead

Keap manufactures a contact named (auto-created) when an unknown number calls in. Counted as leads they sink every conversion rate in the account, and they are invisible until somebody asks why the rate fell. The rule that excludes them is published beside the dataset.

Won and lost at the same time

Records reach both a won and a lost state often enough that the ambiguity has to be settled once. In one build the answer is that it counts as lost. That is a judgement about the business, written down, so every report and every agent gives the same answer.

The denominator moves with the period

A lead created yesterday has not failed to convert. Rate the current month against leads that arrived in it and the month always looks bad. The cohort a rate is measured over is a parameter, not an accident of the date filter.

Stage names change

Pipelines get renamed and reordered, and old records keep the old names. A stage dimension maps what the CRM says to what the business means, so a rename does not silently split one stage into two.

A blank is not a no

A missing outcome can mean lost, or still open, or never worked. Those are three different denominators, and which one applies is a rule the customer agrees to rather than something a query can infer.

Rates do not add up

A stage-to-stage rate and an overall rate are different questions, and averaging the stage rates gives neither. Each section states which population it is dividing by, on the section.

Connect your AI agent today.

Connect your CRM and let the first import run. Then add ReportMojo to Claude Desktop, ask it about your business, and have it build the reports you need.