Lead Generation

Aggregator True-Cost Calculator: Your Real Cost Per Booked Job on Angi vs LSA vs Bark

The aggregators sell you a cheap-looking number. Angi shows a lead at 15 to 85 dollars. Bark shows a credit at 2.35 dollars. Google LSA shows a cost per lead near 53 dollars (Searchlight Digital, 2026). Every one of those numbers is designed to look small, and every one of them hides the cost that actually matters. You do not pay per lead in any sense your bank account recognizes. You pay for the booked jobs those leads eventually become, after most of them go nowhere. Cost per lead is the platform's metric. Cost per booked job is yours. The gap between them is enormous, because a shared lead is a lottery ticket: you pay full price for a fractional chance, since the same homeowner was sold to several contractors at once. Shared-lead conversion runs 13 to 20 percent against 27 to 30 percent for exclusive leads (LeadTruffle, 2026). If you make decisions on cost per lead, you will keep the channel with the cheap ticket and the terrible odds, and drop the one that actually books work. This piece gives you the calculator logic to compute your real cost per booked job, a version I call cost-per-answered-and-won, and then runs a worked example across all three platforms so you can see how differently they rank once the true number is exposed.

Joshua Agonya Pi'Rwot

By Joshua Agonya Pi'Rwot

Founder, Business Growth Accelerator

Executive summary

Cost per lead is the number the platform wants you to watch. Cost per answered-and-won is the number that pays your mortgage. Here is the calculator logic to find your real cost per booked job on Angi, Google LSA and Bark, with a worked example.

Section 1

Why this works, in one note

Two models expose the trick. Game theory describes the shared lead exactly: it is a common-value auction where several bidders pay to compete for one prize, and the platform collects from all of them regardless of who wins. Your expected value is the prize times your probability of winning, minus what you paid, and the platform has engineered that probability down by selling the same lead many times. Cost per lead ignores the probability. Cost per booked job puts it back in. Comparative statics says: to compare channels honestly, hold the output constant (one booked job) and measure the input each channel needs to produce it. That is the whole calculator: fix the output at a booked job, divide total spend by booked jobs, and the cheap-ticket illusion collapses. The limit these models carry: they assume you can measure booked jobs by source honestly. Most operators cannot, because they never tracked it. The calculator forces the tracking, which is half its value.

Section 2

The artifact: the true-cost calculator logic

Cost per lead is spend divided by leads. Cost per booked job is spend divided by the jobs you actually won. To get there you have to account for the leads you never even answered, the ones you answered that never replied, and the ones you quoted that went to someone else. Here is the chain. Step 1. Total spend. Everything you paid the platform in the period. Include the hidden fixed costs, not just the per-lead or per-credit charges. Angi adds roughly 300 dollars a year in access fees on top of lead charges (LeadTruffle, 2026). Bark credits bought from November 2025 expire three months out, so credits that lapsed unused are spend with zero leads attached, and they belong in this number (Bark Help Centre, 2026). For LSA, subtract any dispute credits you actually received. Step 2. Leads received. How many leads or matched inquiries the platform delivered. Step 3. Leads answered. How many you actually responded to in time. On shared platforms speed decides everything, and the leads you did not get to fast are still leads you paid for. This is why the honest metric is cost-per-answered-and-won, not cost-per-lead: it counts the paid-for leads that fell through your own response gap, so you see them. Step 4. Quotes given. Of answered leads, how many became an actual conversation or quote. Step 5. Jobs booked. Of quotes, how many turned into a paying job. The core formula: True cost per booked job = Total spend (Step 1) ÷ Jobs booked (Step 5) That is the number to compare across platforms. Two supporting ratios tell you why a channel is cheap or expensive: Answer rate = Leads answered ÷ Leads received Book rate = Jobs booked ÷ Leads received A low book rate is the shared-lead lottery showing through. A low answer rate is a problem you own: you are paying for leads you never work. Both inflate the true cost, and separating them tells you whether to fix your response process or leave the channel. The decision rule: compare true cost per booked job against your average job's gross profit. If a channel's true cost per booked job eats more than a third of the gross profit on that job, it is renting you unprofitable work. If it exceeds your gross profit outright, you are paying to lose money, and no volume fixes that.

Section 3

The worked example

Take a mid-market HVAC and repair operator with an average job gross profit of 900 dollars. They run all three platforms for a month. Here is the true-cost math on each. The unit costs are drawn from 2026 reported ranges; plug your own actuals into the same grid. Angi • Total spend: 40 shared leads at an average 65 dollars, plus 25 dollars of the annual access fee amortized to the month = 2,600 + 25 = 2,625. • Leads received: 40. Answered: 30 (they missed 10 to slower response). Quotes: 12. Jobs booked: 5 (shared-lead book rate around 12 percent). • True cost per booked job = 2,625 ÷ 5 = 525. • Answer rate = 75 percent. Book rate = 12.5 percent. • Against 900 gross profit, 525 eats 58 percent of the job. That is a channel renting near-unprofitable work. Google LSA • Total spend: 30 leads at 53 dollars average = 1,590, minus 100 in dispute credits received = 1,490. • Leads received: 30. Answered: 27 (LSA leads are higher intent and often inbound calls). Quotes: 15. Jobs booked: 7. • True cost per booked job = 1,490 ÷ 7 = 213. • Answer rate = 90 percent. Book rate = 23 percent. • Against 900 gross profit, 213 eats 24 percent. This channel is renting profitable work. Keep it, and dispute bad leads to push the cost lower still. Bark • Total spend: bought 200 credits at 2.35 = 470, of which 40 credits expired unused = full 470 counts. Leads unlocked: 20 (average 8 credits each). 470 total. • Leads received/unlocked: 20. Answered: 20 (you only spend credits to answer). Quotes: 6 (many never reply after you pay to unlock). Jobs booked: 2 (Bark conversion commonly 1 in 5 to 1 in 10). • True cost per booked job = 470 ÷ 2 = 235. • On unit cost Bark looked cheapest by far at 2.35 a credit. On true cost it lands near LSA, but with a critical difference: you paid to unlock leads that never replied, and expired credits burned pure spend. The book rate off received-and-relevant inquiries is where Bark bleeds. What the true number reveals On cost per lead, Bark (2.35 a credit) looked ten times cheaper than LSA. On cost per booked job, LSA wins at 213, Bark and Angi trail. Angi at 525 against a 900 gross profit is the channel to wean first. The platform's cheap number ranked these backward. The true number ranks them by what they actually cost to produce a paying job, which is the only ranking that touches your bank account.

Section 4

The ordered lever list (GEER)

Once you have the true cost per booked job on each channel, pull levers in this order. 1. Track booked jobs by source (this week). Free. Without Step 5 you have no true cost and you are flying on the platform's number. Do this first. 2. Fix answer rate before you blame the channel. Free. If your answer rate is under 80 percent, a chunk of your true cost is your own response gap, not the platform. Fixing it can drop true cost 20 to 30 percent with no spend change. 3. Dispute bad leads on LSA and Angi (ongoing). Near-free. Recovered credits go straight into Step 1 as a reduction. See the companion dispute-log piece. 4. Cut the worst channel by true cost, not unit cost. Reversible. Reduce spend on the channel whose true cost eats the most gross profit, usually Angi, and hold the one that rents profitable work. 5. Stop buying expiring credits you will not burn (Bark). Reversible. Expired credits are the purest waste in the whole grid. 6. Reallocate the saved spend into owned channels. The saved rent funds reviews, referrals and the map pack, which carry a true cost per booked job in the low tens of dollars (Signpost, 2026), an order of magnitude below any aggregator. Levers 1 and 2 cost nothing and often move the true number more than switching platforms does. Only after you have measured honestly do you cut (lever 4), because cutting on the platform's number is how operators drop their best channel by mistake.

Section 5

What this calculator cannot see

The calculator is only as honest as your source tracking, and it assumes a stable month. A single large job won from a cheap channel can flatter that channel's true cost for one period, so read it over a rolling three months, not one. It also cannot value the second-order effects: an LSA job that produces a five-star review and two referrals is worth more than its true cost implies, while an Angi job from a price-shopping shared lead often produces neither. If anything, that widens the case against the shared-lottery channels, because their booked jobs tend to be the lowest-loyalty customers you will serve. Run the grid on your own actuals, read it over a quarter, and let the true number, not the platform's number, decide which landlord you keep paying. Sources: Searchlight Digital, LSA Cost Per Lead by Trade 2026; LeadTruffle, Angi Leads Cost 2026; Bark Help Centre, Understanding lead pricing; Signpost, Referral Marketing Statistics 2026.

Joshua Agonya Pi'Rwot

Written by

Joshua Agonya Pi'Rwot

Founder, Business Growth Accelerator · Country Director, AVODA Group Uganda · EMBA

Joshua helps service-business operators turn scattered marketing into a clear path from first attention to booked call. He is Founder of Business Growth Accelerator and Country Director of AVODA Group Uganda.