Skip to main content
VA Horizon
Book a Call
Cost-Per-Job Formula

Cost Per Lead vs Cost Per Booked Job: The Roofing Math That Actually Matters

A $50 lead and a $200 lead can cost the exact same amount per booked job, or a wildly different amount. Here's the one-line formula that tells you which, and how to run it on any vendor's quote before you sign.

Quick answer

Your true cost per booked job is the full price per lead or appointment, including any setup fee, divided by your close rate, not the sticker price alone. A $50 lead closing at 10% costs about $500 per booked job.

A $200 lead, four times the price, closing at 35% costs about $571, only 14% more. A guaranteed replacement for no-shows keeps that real number close to the nominal one.

A roofing owner shopping for pipeline gets three quotes in the same week: $50 for a shared lead, $200 for an exclusive lead, $175 for a confirmed appointment. The instinct is to sort by price and pick the smallest number. That instinct is wrong more often than it's right. A $50 lead and a $200 lead can cost the exact same amount per booked job, or a wildly different amount, and the sticker price alone will never tell you which.

The number that actually matters is cost per booked job, not cost per lead. It's one formula, a single division, and it turns any vendor's quote into a real comparison instead of a guess. Most owners never run it. They compare sticker prices, pick the cheapest one, and find out a quarter later that the cheap lead cost more per closed job than the expensive one did. For the full 2026 price bands by lead type, see how much roofing leads cost in 2026. This post is about what to do with those prices once you have them.

Below: the formula itself, four steps to run it on any quote, a worked example across three real 2026 pricing models, and the one gap in how vendors report close rates that quietly wrecks the math if you don't catch it.

The Formula: Cost Per Lead Divided by Close Rate

The formula is one line. Cost per lead divided by your close rate equals your true cost per booked job. A $50 lead that converts to a signed job 10% of the time costs $500 per booked job. A $200 lead that converts 35% of the time costs about $571 per booked job. On sticker price, the $50 lead looks four times cheaper. On the number that actually matters, the two land close enough together that other factors, speed to answer, crew drive time, how many dead leads you dial through to find the live ones, decide which one is really worth buying.

Four Steps to Run This on Any Vendor's Quote

Step 1: Price the whole invoice, not just the per-unit number

The per-lead or per-appointment price is never the full cost. Minyona charges $41 to $99 per qualified lead or $75 to $150 per booked appointment, on top of a setup fee that runs $4,000, discounted to $2,000 as a limited-time offer, with no ongoing retainer after that. HeyRoofers enforces a $750 minimum order before you can buy at any tier, with per-lead pricing dropping from $150 to $125 as volume climbs from 10 to 50 leads a month. Peak Marketing Service goes the other way: no setup fee, a prepaid balance, month to month. Add the setup fee and the minimum order into the per-unit price before you run the formula, or you're comparing an incomplete number.

Step 2: Get their close rate in writing, and ask which leads it counts

Ask for a real figure, not "most of our clients do great." Then ask the follow-up question that decides whether that figure means anything: is it measured against every lead you paid for, or only the ones that were reachable and interested? That distinction is the whole ballgame, and the section below shows exactly why.

Step 3: Divide price by close rate

Take the all-in price per unit from step 1 and divide it by the close rate from step 2. That's your nominal cost per booked job. Run it for every vendor you're comparing before you look at which one has the lowest sticker price.

Step 4: Compare the result against what a job is worth, not against other vendors

A cost-per-booked-job number only means something next to your actual job value and margin, not next to a competing vendor's sticker price. The section near the end of this post sets that ceiling using published roofing-industry figures.

Worked Example: Three Pricing Models, Same Formula

Applying the formula to three real pricing structures shows how little the sticker price predicts the outcome.

ModelPriceClose rateNominal cost per booked job
Shared marketplace lead~$50 per lead~10%, industry estimate~$500
Pay-per-call / LSA-style lead~$75 per lead~15%, industry estimate~$500
Exclusive raw lead~$200 per lead~35%, industry estimate~$571

Figures are a published cost-per-job benchmark example, industry estimate, not a guarantee for any specific campaign.

Two things stand out. First, the $50 lead and the $75 lead land at almost the identical cost per booked job, despite a 50% price difference, because the pricier lead also closes at a meaningfully higher rate. Second, the $200 exclusive lead, four times the sticker price of the shared lead, costs only about 14% more per booked job. None of that shows up if you compare the three vendors on price alone. It only shows up once you run the division.

The Two Close Rates Vendors Rarely Separate

Close rate figures from lead vendors usually describe a targeted, best-case scenario, and one published worked example shows exactly how far that can drift from what you actually pay per job. One roofing lead vendor cites a close rate around 30%, with 40 to 45% for a well-run, targeted campaign. That same vendor's own worked example: 100 leads bought for $5,000, $50 per lead, produced 6 closed sales. That's a 6% close rate against the full batch, and a real cost of $833.33 per sale, nearly five times what the 30% figure implies.

That's not a contradiction. It's two different denominators. The 30 to 45% figure almost certainly describes close rate against leads that were reached and showed real interest. The 6% figure describes close rate against every lead purchased, including the ones nobody ever answered, the ones already sold to a competing contractor, and the ones that were never a real prospect to begin with. Both numbers can be true from the same vendor at the same time, and a batch sold with no exclusivity guarantee is exactly where that gap tends to widen. See roofing appointments vs shared leads for how the resale pattern behind that gap works.

The fix is one question. Ask for close rate against every lead you paid for last month, not close rate against the leads your rep considers "worked." If a vendor can't produce that number, run the formula on your own tracked results for 60 to 90 days before you commit real budget to them.

Why the Appointment Model Changes the Denominator

Booked-appointment vendors have already cleared the step where the batch math above falls apart: getting a real homeowner to answer the phone and agree to a time. That should tighten the gap between a vendor's quoted close rate and your real cost per booked job, but only if the appointment comes with a replacement guarantee.

VendorPriceNo-show / replacement policy
Minyona$75 to $150 per appointmentBooked via call center at no added charge on top of the lead price
The Lead Giants$175 to $200 per appointment, volume-tieredNo-show or invalid appointments replaced free if disputed within 24 hours; no retainers, no monthly minimums
Peak Marketing Service$110 to $150 per appointmentPrepaid balance, month to month, no guarantee the homeowner will actually be present

Apply the formula to The Lead Giants' pricing against a typical roofing close rate on a sat estimate, 20 to 40% by industry estimate: a $175 appointment closing at 40% costs about $438 per booked job, and a $200 appointment closing at 20% costs about $1,000. That's roughly the same range as the exclusive raw lead in the worked example above, but with one real difference. A no-show inside the 24-hour dispute window gets replaced free, so a dead appointment never enters your denominator at all. Compare that to Peak Marketing Service's prepaid model, a similar price range with no such guarantee, where a no-show is still a paid unit sitting in your batch, quietly pulling the real number away from the nominal one, the same way the 100-lead batch example did above.

Read the qualification standard behind the appointment too, not just the no-show policy. See what makes a qualified roofing appointment for the specific fields a booked appointment should carry before it's worth showing up for.

What the Job Is Worth Sets the Ceiling

None of this matters without a ceiling to measure it against. At a roughly $10,000 average roof replacement, industry estimate, and a 20 to 40% close rate on a sat estimate, industry estimate, one kept appointment is worth roughly $2,000 to $4,000 in revenue, and somewhere around $500 to $1,400 in gross profit at a typical 25 to 35% margin. That's a back-of-envelope range built from the figures above, not one vendor's promise, but it sets the number every cost-per-booked-job calculation in this post should be measured against. A $500 to $1,000 nominal cost per booked job, the range the worked examples above land in, still leaves real margin on the table. A vendor quoting well above that range needs a strong replacement and qualification policy to justify the price.

What this means for you

  • Run cost per lead divided by close rate for every vendor quote before you compare sticker prices. Include the setup fee and any minimum order in the price you divide.
  • Ask whether a vendor's close rate is measured against every lead purchased or only the ones marked "worked." That gap is where the nominal number stops matching the real one.
  • Read the no-show and replacement policy as part of the math, not as fine print. A guarantee narrows the gap between nominal and real cost per job. A no-guarantee prepaid balance doesn't.

FAQ

What is the cost per lead vs cost per booked job formula?
Divide the full price per lead or appointment, including any setup fee or minimum order, by your close rate, the share of purchased units that actually turn into a signed job. The result is your nominal cost per booked job. A $50 lead closing at 10% costs about $500 per booked job. A $200 lead closing at 35% costs about $571. Run the formula on every vendor quote before comparing sticker prices.
Why can a cheaper lead cost the same per booked job as an expensive one?
Because price and close rate move together more often than not. In one published example, a $50 shared lead closing at 10% and a $75 lead closing at 15% both land near $500 per booked job, despite a 50% price gap, because the pricier lead also converts at a meaningfully higher rate. Sticker price alone tells you almost nothing until you divide it by the close rate.
Should I use the vendor's close rate or my own when running this formula?
Use your own tracked number whenever you have it, and ask precisely what a vendor's quoted close rate measures if you don't. One vendor's own worked example: 100 leads bought for $5,000 produced 6 closed sales, a 6% close rate against the full batch, and a real cost of $833.33 per sale, nearly five times what that same vendor's 30% targeted close rate figure implies. Always ask for close rate against every unit purchased, not just the ones a rep considers workable.
Does this formula work differently for pay-per-appointment leads?
The formula is the same, but the guarantee behind it changes the real-world result. A booked appointment has already cleared the step where most raw-lead batches lose money: getting a homeowner to answer and agree to a time. If the vendor replaces no-shows for free inside a defined window, a dead appointment never enters your denominator. If the vendor sells on a prepaid balance with no guarantee, a no-show is still a paid unit dragging your real cost above the nominal number.
How much can I afford to pay per booked roofing appointment?
Start from what a closed job is worth. At a roughly $10,000 average roof replacement and a 20 to 40% close rate on a sat estimate, both industry estimates, one kept appointment is worth around $2,000 to $4,000 in revenue and roughly $500 to $1,400 in gross profit at a typical margin. A cost-per-booked-job figure well under that range leaves real margin on the table. One well above it needs a strong replacement and qualification policy to justify the price.

Skip the math. Get appointments already vetted.

Book a 15-minute call. We map your service area and criteria, quote a per-appointment rate, and give you a start date inside the week. Exclusive appointments only, double confirmed, no-shows replaced free.

Book a Call