Most owners compare lead sources on the wrong number. A $107 lead and a $37 list are not the same unit. The number that pays the crew is cost per booked job: what you spent, plus the hours you put in, divided by the jobs that actually signed. This page puts published lead prices for roofing and HVAC in one table, then runs the same math on a researched list, with every assumption labeled.
If you only want the roofing signals, they are on the roofing buyer pack page. HVAC signals are on the HVAC page.
1. What roofers and HVAC shops already pay per lead
None of the big marketplaces publish a national rate card. HomeAdvisor says lead prices vary by the type of work, and pros are charged per lead whether or not they win the job. Angi’s 2025 annual report shows U.S. lead revenue of about $587 million, but no per-trade price. These are the published averages we could source:
| Channel | Trade | Published average | Source |
|---|---|---|---|
| Google / Microsoft search ads | Roofing & gutters | $228.15 per lead (3.70% conversion) | LocaliQ 2025 home-services benchmark |
| Google Local Services Ads | Roofing | $106.87 per lead (Apr–Jun 2026) | 99 Calls, their own accounts |
| Search ads | Heating & furnaces | $129.02 per lead | LocaliQ 2025 |
| Search ads | AC install & repair | $127.74 per lead (6.56% conversion) | LocaliQ 2025 |
| HomeAdvisor / Angi | All trades | Not published; quoted at signup, charged win or lose | HomeAdvisor “how it works”; Angi FY2025 10-K |
Sources: LocaliQ, 2025 Search Ad Benchmarks for Home Services; 99 Calls, LSA cost per lead by industry, 2025 vs 2026; HomeAdvisor, how it works. The 99 Calls figures are one agency’s accounts, not Google’s price list.
2. The only formula you need
For a paid lead: cost per job = price per lead ÷ your close rate on that channel. If you close one in five roofing LSA leads, each job cost about 5 × $106.87, or roughly $534 in lead fees.
For a list: cost per job = (list price + your hours × your hourly value) ÷ jobs signed from the list. The hours matter more than the $37. A list nobody works costs $37 and books nothing. A list you work for three evenings costs $37 plus three evenings.
Your close rate is the number you have to bring. Pull the last 20 leads from each channel out of your CRM or your phone and count how many signed. Do not use an industry average for this. Yours is the only one that pays your bills.
3. Worked example (EXAMPLE numbers, not results)
Every input below is an assumption chosen to show the math. They are not BuyersRadar customer results, and they are not benchmarks. Replace them with yours.
| EXAMPLE input | Shared LSA leads | Search ad leads | $37 researched list |
|---|---|---|---|
| Cost of the source | 10 leads × $106.87 = $1,068.70 | 5 leads × $228.15 = $1,140.75 | $37 for 25 rows |
| Your time (assumed $50/hr) | 3 hrs calling back = $150 | 2 hrs = $100 | 4 hrs of notes and follow-ups = $200 |
| Assumed jobs signed | 2 (1 in 5) | 1 (1 in 5) | 1 (1 in 25 rows) |
| Cost per job | $609 | $1,241 | $237 |
| If the list signs 0 jobs | — | — | $237 spent, $37 refundable within 14 days |
Read the bottom row before the bold one. A list can sign nothing, and the people on it did not ask for a quote. That is why the list has to be cheap and why the time column is there. The honest takeaway is a break-even question, not a promise: does one signed job out of 25 researched rows beat what you pay per job now? Against a published average roof replacement of about $9,609 (Angi) or an HVAC replacement around $7,500 (Angi), one job is a lot of margin. Zero jobs is $37 and an afternoon.
4. What you are actually buying in each case
| Shared marketplace lead | Search or LSA lead | Researched list row | |
|---|---|---|---|
| Who started it | Homeowner filled a form | Homeowner searched and called | You start it with a note |
| Competition | Often several pros get the same lead | Whoever answers first | Nobody has necessarily reached out yet |
| Speed to money | Fast, if you answer fast | Fast | Slower; you plant the first touch |
| Why they’re on it | They asked | They asked | A public, dated reason (permit, storm, sale, post) |
| What you control | Response time | Budget and bids | Which ZIP, which streets, what you say |
5. When each one wins
- Paid inbound leads win when the job is urgent (no heat, active leak) and you can answer in minutes. Speed beats everything there.
- A researched list wins when you want to fill one ZIP near work you already have, during a slow stretch, or before the season hits, for example before the first freeze for furnaces.
- Both together is the normal answer. The list is a cheap second channel, not a replacement for the phone ringing.
6. Mistakes that wreck the comparison
- Comparing price per lead to price per row. They are different units. Compare cost per signed job.
- Leaving your hours out. A “cheap” source you spend ten hours on is not cheap.
- Counting a reply as a job. Count signatures.
- Using someone else’s close rate. Use your last 20 leads.
- Judging a list in two days. First touches on a list take a week or two to land. Judge it inside the 14-day refund window, not after one afternoon.
- Storm-chasing language. No deductible waivers, no claim coaching. Some states regulate post-storm roofing solicitation; check yours.
If you want to see where list rows come from, read how to notice a new homeowner without knocking every door. If you work one ZIP at a time, building leads one ZIP at a time uses the same route logic for any trade. When you are ready to test the math on one ZIP, the $37 Starter Spark is the smallest honest test.
Want a two-week sample for one town?
Email sam@buyers-radar.com with your trade and one ZIP, or send the same ZIP through the contact form. That free pilot is a short list and a few scripts, not a promise of booked jobs. Look at the free sample first. If the format is useful, Starter Spark is $37 for 25 researched candidates in one ZIP.
- Starter Spark $37 — 25 candidates + scripts
- Growth $197 — 100 candidates
- DFY Radar $497 — 250 candidates + follow-ups
- Monthly Radar $297/mo
100% money-back within 14 days of payment if the pack is not useful. Figures in this article come from the public sources named in the text, not from BuyersRadar customers. We do not publish testimonials.