Zen Intent · Unit economics

What a lead costs, and what we charge

Two suppliers we already pay for, SerpAPI and Hunter, and one we are proposing to add, Apollo. What a lead costs to produce today, how the credit model turns that into revenue, where our current plans run out, and what Apollo would change.

Before we start

Seven words used throughout, in plain English.

WordWhat it means here
LeadOne local business we hand to a customer, with its reviews, the owner's name, a working email, and a note on what the business needs
CreditOur currency. Customers buy credits, not leads. An ordinary lead costs 35 credits, one with the extra research costs 60
IntelligenceThe deeper version of a lead. Same business, plus the decision maker's direct phone and profile. Costs 25 more credits
Google Maps lookupHow we find businesses in the first place. We pay a company called SerpAPI to read Maps for us, because Google does not sell this directly
Contact lookupHow we find the owner's email and phone. We pay a company called Hunter for this
ApolloA third company selling similar contact data. We do not use it. Whether we should is one of the questions in this deck
AllowanceBoth suppliers sell a monthly bucket of lookups. If we do not use them they are lost at month end, and if we run out mid month everything stops

One more, because it appears on a few slides. The pipeline is the automation that runs all these lookups in the right order for every lead, without anyone pressing a button. It is built in a tool called n8n.

Our model

We do not sell leads. We sell credits, and leads are what they buy.

What we sell

Credits. 35 buys one enriched lead, 60 buys one with the intelligence layer. Four monthly plans from $197 to $1,197, plus top ups for customers who run out mid cycle, discounted 10% to 32% depending on the plan they are on.

What a credit turns into

A local business found on Google Maps, its reviews and competitive context, a verified decision maker email, LinkedIn and phone, and an AI read of the pain points worth calling about.

How we grow the average

The intelligence unlock at 25 credits, a $2.50 per lead intelligence add on, and the CRM Portal at $997 flat. All three raise revenue per customer without touching the plan price.

95%Left after data and card fees only
Up frontPaid before we spend a cent
1,500Free credits to acquire a signup

The shape of it: recurring credit revenue, a cost of goods that steps up in tiers rather than rising per lead, and cash collected at request time rather than delivery. Acquisition is the free Welcome Gift, which hands over 42 leads worth of data before anyone pays.

One caution on that 95%. It counts revenue minus the data suppliers minus card fees, and nothing else. It excludes hosting, the AI pass, salaries, marketing and support, so it is a ceiling rather than take-home profit. There is a slide on this later.

The business model

We sell credits. A lead costs 35 of them.

  1. Customer buys credits, as a monthly plan or a top upRevenue lands here
  2. They request leads. We deduct the full cost the moment they ask, 35 credits a lead, or 60 if they tick intelligence up frontBalance drops immediately
  3. We deliver fewer than asked. The shortfall is refunded, so they only pay for leads that arrivedCredits returned
  4. The run fails. Every reserved credit goes backFull refund
  5. They unlock intelligence later on a lead they already own. We deduct the 25 credit difference, not another 60Second bite

Deduction happens at request time, not delivery, and is held against the request as reserved credits. That is what protects us: we are paid before we spend anything with SerpAPI or Hunter, and we refund only what we failed to deliver. Free tier users and admins bypass the ledger entirely.

Top ups list at 10 cents a credit and each plan discounts them, from 10% off on Starter to 32% off on Enterprise. That ladder is the pull toward upgrading: a Starter customer topping up to Growth volume pays $368, while Growth itself is $347.

Free credits we issue

The Welcome Gift hands over $127 of product for $2.23.

1,500Credits granted, once per signup
42Leads that buys them
$2.23What it costs us in data
$127What we would have charged

The gift is granted once and flagged, so it cannot be claimed twice, and it lands in the same credit ledger as paid credits, which means the normal deduction and refund rules apply to it. On the books it is a 57 times ratio: we give away $127 of retail for $2.23 of real cost.

In acquisition terms that is cheap. One month of a Growth subscription pays for 155 gifted signups. The risk is not the cost, it is that 42 free leads may be enough to satisfy a casual user without ever converting them.

Everything on the invoice

Seven suppliers, and the biggest bill is the card processor.

ServiceWhat it doesWhat it costsWhere it lives
StripeTakes the money2.9% plus 30c, so $321 a month at 31 customersApp
HunterCompany data, decision maker email, verification, person enrich$149, Growth, 10,000 creditsn8n
SerpAPIMaps discovery and per lead place details$75, Developer, 5,000 searchesn8n
Google GeminiThe AI read of each leadNever measuredn8n
ResendTransactional email$0, the free tier covers 3,000 a month and we send about 250App
n8nRuns the whole pipeline automaticallyNot measured, cloud or self hostedInfra
Hosting and MariaDBThe app, and also cache, queue and sessionsNot measuredInfra

Not on the list, and worth saying so: GoHighLevel has no credentials configured, so it costs nothing today. Meta CAPI, Google sign in and Slack alerts are all free tiers. Cache, queue and sessions all run on MariaDB, so there is no Redis line either.

Stripe is the largest single cost in the business, ahead of both data providers combined. Three of the seven have never been measured, and Gemini is the one most likely to matter.

What runs today

What we look up for every single lead.

StepWho we payWhat it gives usWhat it uses
Find the businessesSerpAPISearches Google Maps by trade and town, page after page0.05 searches
Get each one's detailsSerpAPIReviews, rating, hours, booking link, Q&A, competitors, unclaimed flag1 search
Look up the companyHunterEmployees, founded year, revenue estimate, tech stack, industry, phone1 credit
Find the owner's emailHunterDecision maker emails, filtered to executive and senior1 credit
Check the email worksHunterDeliverability before we hand the lead over0.5 credit
Look up the personHunterName, title, seniority, LinkedIn, phone number1 credit, intelligence only
Write the analysisGeminiReads the merged record. Pain points, sentiment, complaints, tech gaps, scoresNot a data source

The highlighted row is the one that drives the SerpAPI bill. Place details runs once per lead, not once per search, so it is twenty times the discovery cost. Gemini interprets what the other six fetched; it looks nothing up.

Per lead

Six cents of data inside a lead we sell for about three dollars.

1.05SerpAPI searches per lead
2.7Hunter credits per lead
$0.056Total data cost per lead
LineVolume per leadRate on our planCost per lead
SerpAPI1.05 searches$0.0150 each$0.016
Hunter2.7 credits$0.0149 each$0.040
Total$0.056
We charge1 leadDepends on plan$2.36 to $3.18

Hunter credits assume 20% of leads take the intelligence unlock, which adds the person enrichment call. At 100% unlocks it is 3.5 credits and about seven cents a lead. Hunter charges nothing when it finds no email, so the real figure sits below this.

For ops

The upgrade staircase, in leads a month.

When monthly leads are Buy this
FromUp to HunterSerpAPIBoth cost
0740Starter $49Starter $25$74
740950Growth $149Starter $25$174
9503,700Growth $149Developer $75$224
3,7004,760Scale $299Developer $75$374
4,7609,250Scale $299Production $150$449
9,250and beyondQuote neededProduction $150Ask both

The highlighted row is where we are now, and it runs out at 3,700 leads a month, about 31 Growth customers. Hunter binds before SerpAPI does, at 9,990 of its 10,000 credits. Each lead burns 2.7 Hunter credits and 1.05 SerpAPI searches, so multiply this month's leads by those and check both dashboards. Above 9,250 leads Hunter has no published tier and needs a quote.

The catch on growth

Customer 32 costs us $150 the moment they sign.

31Customers our plans cover
$150The Hunter step at customer 32
43%Of that customer's first month revenue

Data cost does not rise per lead, it jumps in steps. At 3,744 leads a month Hunter moves from Growth to Scale, $149 to $299, and the jump lands in full the month it happens. Against $347 of new revenue that is 43% of the customer we just won, then it amortises away across the next several.

Two consequences. Any pricing change that adds volume should be timed with a tier headroom check, not launched blind. And the honest way to read the margin table is that margin dips every time we grow into a new tier, then recovers. It is not a warning sign, it is the shape of the cost base.

Unit economics

The intelligence unlock is the best line we sell.

Base lead, 35 credits Intelligence lead, 60 credits The 25 credit unlock on its own
Plan We chargeWe keep We chargeWe keep We chargeMargin
Starter$3.13$3.08$5.37$5.30$2.2499.3%
Growth$2.96$2.91$5.08$5.01$2.1299.3%
Scale$2.62$2.57$4.50$4.43$1.8799.2%
Enterprise$2.35$2.30$4.03$3.97$1.6899.1%

A base lead costs us 5.3 cents. An intelligence lead costs 6.8 cents, because the only difference is one extra Hunter call. So the unlock charges 71% more and costs us 28% more, which is why its margin beats the base lead.

Every credit we sell is worth more than every credit costs, at every plan tier. The cheapest tier per credit, Enterprise at 6.7 cents, still keeps 97.7% of a base lead. There is no volume at which the data bill threatens the model.

Projection

Stripe takes more than SerpAPI and Hunter combined.

Growth customers What it costs us Result
CustomersLeadsRevenue DataStripe feesTotal Gross profitMargin
101,170$3,470$224$104$328$3,14290.6%
252,925$8,675$224$259$483$8,19294.4%
313,627$10,757$224$321$545$10,21294.9%
505,850$17,350$449$518$967$16,38394.4%
10011,700$34,700$528$1,036$1,564$33,13695.5%

At our current ceiling of 31 customers, Stripe costs $321 against a data bill of $224, so payment processing is 1.4 times the thing this whole deck has been arguing about. Annual billing would cut it, since 2.9% plus 30 cents lands twelve times a year on monthly plans and once on annual.

Two costs are still missing. The free Welcome Gift hands over 1,500 credits, which is 42 leads and about $2.23 of data per signup that claims it, and Gemini charges per AI pass, which we have never measured. Neither changes the shape, but they belong in a real P and L.

Read this before quoting the 95%

95% is what the product keeps, not what the business keeps.

What the 95% counts, at 31 customers

revenue$10,757
less data suppliers-$224
less card fees-$321
gross profit$10,212
margin94.9%

What it leaves out entirely

Gemini, the AI passnot measured
n8n hostingnot measured
app hosting, databasenot measured
salaries and our own timenot counted
marketingnot counted
supportnot counted
free Welcome Gifts$2.23 each
refunds, chargebacksnot counted
If everything in the right hand column came toThe margin becomes
$500 a month90.3%
$1,000 a month85.6%
$2,000 a month76.3%
$5,000 a month, roughly one salary48.4%

So the useful way to read 95% is as a ceiling. It says the data and the card fees are not what will stop this business being profitable. It does not say we keep 95 cents of every dollar, and nobody should quote it as if it did.

Where the money goes

Moving to bank debit saves more than we spend on data.

How a Growth customer paysFee per yearVersus card monthly
Card, billed monthly, what we do now$124.36Baseline
Card, billed annually$121.06Saves $3.30, barely worth it
Bank debit, billed monthly$33.31Saves $91.04
Bank debit, billed annually$5.00Saves $119.36
$2,822Saved a year at 31 customers, on bank debit
$2,688Our entire annual data bill

Bank debit is 0.8% capped at $5, against 2.9% plus 30 cents on cards, so on an annual charge the cap does almost all the work. The intuitive move is annual billing, but on its own it saves only $3.30, because the percentage still applies to the same total and all we drop is eleven 30 cent charges. The lever is the payment method, not the billing period. Combining both is what takes $124 a year down to $5.

Pricing

We could charge a third of today's price and still hold 90% margin.

If the Growth plan cost Our cost per lead Result
PricePer lead DataCard feeTotal Margin
$347, today$2.97$0.053$0.089$0.14295.2%
$247$2.11$0.053$0.064$0.11794.5%
$197$1.68$0.053$0.051$0.10493.8%
$147$1.26$0.053$0.039$0.09292.7%
$97$0.83$0.053$0.027$0.08090.4%

We charge 56 times what a lead costs to produce, so cost tells us almost nothing about what to charge. Pricing here is a market and value decision, not a margin one. What cost does tell us is that discounting is close to free, and that any price we pick will still clear 90%.

The one thing that genuinely limits a price cut is not margin, it is the tier staircase from earlier. Cheaper prices win more volume, and volume is what actually costs us money.

Pricing levers, ranked

Four moves, in order of how much they return.

MoveWhat it returnsEffortRisk
Offer bank debit, annual$119 per customer a year, and cash up frontStripe setting plus a checkout optionLow, card stays available
Push the intelligence unlock$2.12 at 99.3% margin per unlockProduct nudge, already builtLow
Price top ups above plan parityToday a top up credit costs the same as a plan credit, so there is no pull toward upgradingPricing table changeMedium, may read as punitive
Cut headline pricesVolume, at 90% plus margin either wayPricing table changeHigh, resets anchors and trips tiers

The first two are close to free money and need no pricing change at all. Bank debit alone returns more than our entire annual data bill. The intelligence unlock is already built and is the highest margin line we sell.

Repricing sits last deliberately. At 56 times markup we can afford it, but it is the only move on this list that cannot be undone quietly.

The pricing question

No, do not change the prices. They already work.

95%

Nothing in the cost says move

We keep 95 cents of every dollar. Even at a third of today's price we would keep 90. Our costs are not putting any pressure on the price.

$21

The upgrade pull already works

A Starter customer who tops up to Growth's volume pays $368. Growth itself is $347. So upgrading is already the cheaper path, by design.

$150

Cutting price costs us twice

A lower price wins more customers, and customer 32 triggers a $150 jump in supplier fees. Growth is what costs us money, not the price.

A price change is how you answer losing deals on price. We have not recorded that happening. Changing the one number we have no evidence about, while two free improvements sit untouched, is the wrong order.

Do these first instead. Offer payment by bank transfer, which returns $119 per customer a year and needs a settings change, not a pricing decision. Then push the intelligence upgrade, which is already built and is the most profitable thing we sell. Revisit price only if we start losing deals over it.

Side by side

What one lead carries now, and what it would carry with Apollo.

Every lead today, SerpAPI and Hunter

business nameAcme Plumbing
rating and reviews4.2, 87 reviews
competitors nearby14
owner nameDave Mercer
company size, revenue8 staff, $1.2M
pain points3 found
owner email6 in 10 leads
direct phoneintelligence only
buying intentnever

The same lead with Apollo added

business nameAcme Plumbing
rating and reviews4.2, 87 reviews
competitors nearby14
owner nameDave Mercer
company size, revenue8 staff, $1.2M
pain points3 found
owner email7.4 in 10 leads
direct phonemore often
buying intentnew signal

The first six rows do not move. Apollo has no access to Google Maps, and it cannot write the pain point analysis, so everything that makes our lead a local lead is unaffected. Three rows change, and only one of them is genuinely new.

At 3,700 leads a monthTodayWith ApolloDifference
Leads carrying a contact60%74%+518 contacts
Supplier cost a month$224$305+$81
Cost per lead$0.06$0.08+$0.02
Gross margin98.0%97.2%0.8 points

The 6 in 10 is an assumption, not a measurement, and it drives the whole right hand column. If Hunter is really at 8 in 10 the gain shrinks to 259 contacts. If it is at 4 in 10 it grows to 777.

What Apollo would add

Seven of nine capabilities are already live.

CapabilityApolloHunter, already runningSerpAPI, already running
Work email at a domainYesYes, domain searchNo
Email verificationPartialYes, verifierNo
LinkedIn profileYesYes, person enrichYes, via search
Job title and seniorityYesYes, person enrichRoughly
Direct phone numberYesYes, person enrichNo
Employees, revenue, tech stackYesYes, company findNo
Reviews, rating, competitorsNoNoYes, place details
Third party topic intentYesNoNo
Search for a person before we know the companyYesNo, needs a domainNo, lists places

The direct phone number used to be the argument for Apollo. Hunter's person enrichment already returns it, along with LinkedIn, title and seniority. That leaves two rows. Topic intent, which is thin for local trades, and searching for a person before we know their company, which is the one that matters and gets its own slides shortly.

But this table is about what each service is capable of, not how often it succeeds. Those are different questions, and the second one is where the real case for Apollo sits. That is the next slide.

The real case for Apollo

The question is not what Hunter can do. It is how often it succeeds.

The previous table shows Hunter is able to find an owner's email. It says nothing about how many times out of ten it actually does. Nobody has measured that. If Hunter finds six in ten, four in ten of our leads ship without a contact, and a second source would pick some of those up.

If Hunter finds Adding Apollo on the ones it missed What that costs
Emails today CombinedPoints gainedExtra contacts Apollo a monthPer contact
30%54.5%+24.5907$92$0.10
40%61.0%+21.0777$88$0.11
60%74.0%+14.0518$81$0.16
80%87.0%+7.0259$73$0.28
90%93.5%+3.5130$69$0.53

Read the direction carefully, because it is the opposite of intuition. The worse Hunter is, the more Apollo is worth. If Hunter is only finding three in ten, Apollo adds 24 points of coverage for ten cents a contact. If Hunter is already at nine in ten, Apollo adds three points and is hard to justify.

We do not know which row we are on. That single unmeasured number decides the whole proposal, and it is measurable from leads we have already delivered.

The bigger use for Apollo

Person first leads. Neither supplier we have can do this.

Everything so far assumed Apollo enriches a business we already found on Maps. The other way to use it is the opposite direction: search for people by job title, seniority, company size and location, and get the person and their company back together.

Starting pointWhat we can search by todayCan it find a person first?
SerpAPIA trade and a town, on Google MapsNo. Maps lists places, not people
HunterA domain we already knowNo. We must have the company first
ApolloA job title, seniority, industry, headcount, locationYes. This is the new capability

More ways into one company

Instead of one contact per business, return the owner, the operations lead and the office manager. Three ways in rather than one.

Businesses Maps cannot see

Firms with no storefront and no Maps listing are invisible to us today. Person first search reaches them, which is a new segment rather than better data.

No Maps layer at all

A person lead has no rating, no reviews, no competitor count and no unclaimed listing, so the review based pain points and the intent score cannot be built the way they are now.

This is the strongest argument for Apollo in the whole deck, and it is not enrichment. It is a second product line beside the local business lead, with its own data shape and its own scoring.

What a person lead costs

Searching is free. The phone number is 8 times the email.

Apollo actionCredits it usesCost at 3 cents a credit
Search for people matching a personafree$0
Reveal one personal email1 credit$0.03
Reveal one phone number8 credits$0.24
One lead, all inWhat it costs usMargin at $2.96
Local business lead, what we sell today$0.05398.2%
Person lead, email only$0.03099.0%
Person lead, email and phone$0.27090.9%

A person lead with just an email is cheaper than what we sell today, because one Apollo call replaces the Maps detail lookup and three Hunter calls. Add the phone number and it becomes five times dearer than a local lead, though still a 91% margin.

This also corrects an earlier slide. I costed Apollo filling missing contacts at $81 a month on the assumption of one credit each. If we want direct dials too it is $205 a month, because phones are 8 credits. Filling missing emails and adding direct dials are two different proposals with a 2.5 times difference in price.

What Apollo would cost

A seat before the first call, then pennies.

HTTP 403   API_INACCESSIBLE
"The api/v1/people/match API is not included in your Free plan and is not accessible. All paid plans include full API access."

In plain terms: Apollo will not let us test whether their data is any good for our kind of business until after we have started paying.

$65 a seat, monthly

Basic tier, or $49 committed annually. Charged from day one whether we enrich one lead or four thousand. It does not replace Hunter or SerpAPI, it stacks on both.

$81 a month at our ceiling

At 3,700 leads, the seat plus credits on the leads Hunter missed. Apollo bills nothing when it finds nobody, so a weak match rate costs little beyond the seat.

We must buy it to test it

The free plan blocks the endpoint entirely, so the match rate on local trades is unknown until after the first invoice.

Cost is not the obstacle. At 3,700 leads Apollo moves margin from about 98% to about 97%, which is nothing. The obstacle is that we would be paying for a second source of data we already collect.

What Apollo would let us sell

One new feature, and it needs 32 unlocks a month to pay for itself.

Sellable: a buying intent signal

Apollo's topic intent is the one thing Hunter and SerpAPI cannot give us. Packaged as a paid unlock alongside intelligence, it would read as "this business is researching your category now". Priced at 25 credits like the intelligence unlock, it earns $2.12 and costs 3 cents.

Not sellable: everything else

Emails, LinkedIn, direct phone, titles, employees, revenue and tech stack all already arrive from Hunter. Reselling them as an Apollo feature would be charging twice for data we hold.

32Intent unlocks a month to cover the seat
$2.09We keep per unlock, after the credit
?Intent coverage on local trades

That is a low bar. One customer unlocking intent on a third of their leads would clear it. The catch is the third figure: topic intent is built for companies that generate trackable research behaviour, and a two truck plumbing firm generates almost none. If coverage is near zero the feature cannot be sold at all, and this is measurable only after we have paid for a seat.

Run your own numbers

Total monthly cost, both subscriptions included.

Inputs

What we run today

$224 per month
Hunter
Growth $149
SerpAPI
Developer $75
Margin
98.0%

Adding Apollo

$305 per month
Subscriptions
$224
Apollo seat and credits
$81
Margin
97.2%

The proposal

One month of Apollo, with a decision rule agreed up front.

Step one, free

Count how many of our delivered leads already carry an owner email and a direct phone. This needs no spend and tells us which row of the previous table we are on. If Hunter is already above 80%, stop here and do not buy Apollo.

Step two, $81

One month of Apollo Basic, monthly not annual so we can leave. Test both uses: filling the contacts Hunter missed, at $81, and a person first search for a persona we cannot reach through Maps at all. Reveal emails, not phones, while measuring, because phones are 8 credits each.

Before either step

Get Apollo to confirm in writing that we may pass their data to paying customers. Their terms licence it for internal use. This is the one issue that can stop the whole thing, and it costs nothing to ask.

After the month, we keep Apollo ifWe drop it if
It lifts contact coverage by 10 points or moreIt lifts coverage by under 5 points
Or person first search reaches buyers Maps cannot findOr the licensing answer is no
Or the intent signal is populated enough to sell as an unlockOr match rate on local trades is under 3 in 10

The whole risk is one month and between $81 and $205, depending on whether we reveal phone numbers as well as emails. Even the higher figure is under 2% of monthly revenue at 31 customers. Deciding this by argument costs more in meeting time than deciding it by measurement.

Recommendation

What we are asking for.

  1. Pull Hunter's real fill rate from live leadsData we already have
  2. Confirm the owner's email and profile link are actually being saved, not quietly discardedCode check
  3. Plan the Hunter Scale upgrade for 3,700 leads a month$299, the real next spend
  4. Only then trial Apollo on 25 real businessesOne month of Basic

Steps one to three cost nothing and are worth doing whether or not Apollo goes ahead. Step four is the paid trial, and the decision rule for keeping or dropping it is agreed before we start rather than argued afterwards.

If it goes ahead, one more thing needs an answer in writing first: Apollo licenses its data for internal use and restricts redistribution. We hand records to paying customers, so that needs clearing with Apollo before any build.

Assumptions

What is measured, and what still needs confirming.

Verified

The seven steps above were read directly from the automation that runs them. Plan prices and credit allowances come from our pricing table and the two suppliers' published rates. A lead costs 35 credits, from our own settings. Hunter charges 1 credit per domain search, 1 per finder, 0.5 per verification, and nothing on a miss.

Still assumed

Hunter's company and person enrichment credit costs are taken as 1 each, which their docs do not state. Apollo's per credit price is not published, so $0.03 is a mid estimate from third parties. The 60% Hunter hit rate and 35% Apollo match rate are both unmeasured, and the intelligence unlock share is a guess. Volumes are illustrative.

Two of these decide the whole question: Hunter's real hit rate, which we can measure today at no cost, and Apollo's match rate on local trades, which we cannot measure without paying. That asymmetry is the argument for doing the free measurement first.

Zen Intent Unit economics