Unit Economics: Cost per Contactable Lead
Outcome: two numbers computed from your own run — cost per contactable lead and cost per meeting — plus the sensitivity analysis that shows which lever is worth pulling.
- Surface
- App and MCP server
- Level
- Beginner
- Uses
check_credits- Credits
- 0 beyond the run you already did
- Prerequisite
- One completed run, however small
The only two numbers
Cost per contactable lead (CPCL) = total credits spent on a run ÷ rows that ended with a verified contact path and passed the gate.
Cost per meeting = CPCL ÷ (reply rate × meeting rate).
Everything else — cost per row, cost per enrichment, credits per month — is bookkeeping. These two are what a budget conversation is actually about.
Note what the CPCL denominator excludes. Rows that were sourced but gated out, rows with no email, rows suppressed — none count. That is deliberate: you paid for them, and they produced nothing. A number that counts them is flattering and useless.
Worked example
A run of 2,000 sourced companies, gated to 400, three contacts each.
| Step | Rows | Credits each | Credits |
|---|---|---|---|
| Source companies | 2,000 | 0.1 | 200 |
| Enrich company | 2,000 | 0.5 | 1,000 |
| Tech stack | 2,000 | 0.5 | 1,000 |
| Job listings | 2,000 | 0.3 | 600 |
| Score and gate | — | 0 | 0 |
| Find people (400 × 3) | 1,200 | 0.3 | 360 |
| Find work email | 1,200 | 1.0 | 1,200 |
| Verify email | 1,200 | 0.1 | 120 |
| AI opening line | 900 | 1.0 | 900 |
| Total | 5,380 |
Of the 1,200 people, 900 ended with a verified address — a 75% hit rate.
- CPCL = 5,380 ÷ 900 ≈ 6.0 credits
- At a 4% reply rate and 40% of replies becoming meetings, that is 14.4 contactable leads per meeting → ~86 credits per meeting
Now it is a business number. Compare it to a list vendor’s price, an SDR hour, or a paid channel’s CAC and the conversation stops being about tooling.
Which lever actually moves it
Run the sensitivity analysis once and the priorities become obvious.
| Change | New CPCL | Change |
|---|---|---|
| Baseline | 6.0 | — |
| Waterfall hit rate 75% → 85% | 5.4 | −10% |
| Drop the AI opening line | 5.0 | −17% |
| Gate to 200 companies instead of 400 | 5.9 per lead, half the spend | see below |
| Source 1,000 companies instead of 2,000, same gate rate | 4.6 | −23% |
Two lessons hide in that table.
Tightening the gate barely changes CPCL but halves total spend. Cost per lead stays flat because you are cutting cost and output together — but you spend half as much and your reps work a better list. When capacity is the constraint, this is always the right move.
Sourcing fewer, better companies is the biggest CPCL lever. The top-of-funnel steps run against every row, so waste there is multiplied by four columns. A sharper ICP is worth more than any provider optimization.
The trap: optimizing the wrong end
Count where the credits actually went
In the example, 2,800 of 5,380 credits — over half — were spent on companies that never made it past the gate. That is not waste, it is the cost of qualification, but it is where the money is.
Ask whether a cheaper qualifier exists
Could one cheap column have removed half those companies before three more ran against them? Usually yes. Order your qualification columns cheapest-first and gate between them, not just after all of them.
Only then look at the expensive columns
The AI opening line at 900 credits looks like the biggest single line item. It is 17% of the run. The four columns at the top are 52%.
Presenting it
Whoever owns the budget wants three lines, not a spreadsheet:
- “A contactable, qualified lead costs us X credits — Y dollars.”
- “At current conversion, a meeting costs Z dollars.”
- “The comparable number for [SDR hours / list vendor / paid channel] is W.”
Then one sentence on the lever: what you would change and what it would do to Z. That is the whole conversation.
Do this now
- Open
check_creditsbefore and after a run, or read the run’s consumption in Credits. Get the real total. - Count rows that ended with a verified contact path and passed the gate.
- Compute CPCL. Convert to your currency using your plan’s rate.
- Get reply rate and meeting rate from your sequencer. If you have no data yet, use 4% and 40% and mark them as assumptions.
- Compute cost per meeting.
- Build the sensitivity table: recompute CPCL for a tighter gate, a smaller source list, and a 10-point better hit rate.
- Write the three presentation lines.
Check your work
- Your credit total came from actual consumption, not an estimate
- Your denominator excludes gated-out, unverified and suppressed rows
- You have a cost per meeting, with the conversion assumptions labelled as assumptions
- You know which single change would move the number most
Where this breaks
Counting every enriched row as a lead is the number that gets a program cancelled. It produces a flattering CPCL, so the team scales volume, spend rises in line with rows rather than with results, and six months later the actual cost per meeting surfaces during a budget review. Compute the honest denominator from the first run, even when the honest number is uncomfortable — it is the one that tells you where to optimize.
Further automation
Log credits consumed and contactable rows produced on every scheduled run, into the same sheet. CPCL over time is the single best health metric a GTM pipeline has: it drifts up long before anyone notices reply rates falling, because targeting decay shows in hit rate first. Google Sheets or a webhook is enough to capture it.
Next lesson
09 — Build, buy, or leave it manual, a decision rule for every step you have just costed.
Reference for this lesson: Credits, check_credits, Export, Payment.