Zen Intent · Unit economics

What a lead costs, and what we charge

Every service on the invoice, what one lead costs to produce, how the credit model turns that into revenue, where our current plans run out, and whether Apollo earns a seat. Prices and credit rules are read from the code and the vendors' published rates.

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 priced at the same rate for customers who run out mid cycle.

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%Gross margin after data and card fees
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.

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 are priced at the same rate as the plan they sit under, about 8.5 cents a credit on Growth, so extra volume neither helps nor hurts margin. It simply arrives without a plan upgrade.

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 services, and the biggest one is not an API.

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 pipelineNot 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

Six API calls and one AI pass per lead.

CallServiceWhat it gives usCost per lead
Maps searchSerpAPILead discovery by niche and location, paginated0.05 searches
Place detailsSerpAPIReviews, rating, hours, booking link, Q&A, competitors, unclaimed flag1 search
Company findHunterEmployees, founded year, revenue estimate, tech stack, industry, phone1 credit
Domain searchHunterDecision maker emails, filtered to executive and senior1 credit
Email verifierHunterDeliverability before we hand the lead over0.5 credit
Person enrichHunterName, title, seniority, LinkedIn, phone number1 credit, intelligence only
AI passGeminiReads 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.

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.

What Apollo would add

Seven of eight 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

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 topic intent, which measures whether a company is researching a category, and is close to empty for local trades.

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."

$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%

Recommendation

Measure Hunter before buying a second source.

  1. Pull Hunter's real fill rate from live leadsData we already have
  2. Confirm owner_email and decision_maker_linkedin are being written, not droppedCode 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

Apollo is worth revisiting only if Hunter measurably misses the decision maker on our kind of business. It offers no capability we lack, so the case can only ever be coverage, and we can measure our current coverage for free.

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 six API calls and their parameters come from the n8n workflow. Plan prices and credit allowances come from lead_products and the published SerpAPI and Hunter pricing. A lead costs 35 credits, from config/leads.php. 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