You bought ten leads last month. You booked one job. And you still are not sure whether that is your fault or theirs.
Here is the part most roofers never see. In January 2023 the Federal Trade Commission ordered HomeAdvisor, operating as Angi Leads, to pay up to $7.2 million over how it marketed leads to service providers. The complaint alleged the company told contractors that leads converted to jobs at rates it could not substantiate.
The math is the harder part. Roofing leads on the big marketplaces run $15 to $85 each, plus a membership fee starting around $300 a year. A single lead commonly goes to three to eight contractors at once.
None of this is hidden, exactly. It is just spread across a contract, a dispute policy, and a billing page that nobody reads in order. This guide walks the whole thing start to finish, so you know exactly what happens to your money at each step.
Ready to compare that against calls that belong to you alone? ResultCalls sells exclusive roofing calls with no contract, no deposit, and no membership. See how the model works at ResultCalls.
What Buying Roofing Leads Online Actually Buys
Step 1: The Homeowner Fills a Form
Step 2: The Lead Gets Matched and Priced
Step 3: You and Several Competitors Get It
Step 4: How and When You Get Billed
Step 5: Disputing a Bad Lead
The Incentive Nobody Puts in Writing
What Exclusive Calls Change Mechanically
Building Your 2026 Strategy
Frequently Asked Questions
Buying roofing leads online buys you contact information. Not a customer. Not an appointment.
On the shared marketplaces you are purchasing the right to call a homeowner who is also being called by several other roofers in the same few minutes. Published benchmarks put shared lead close rates at 8% to 20%, against 25% to 35% for exclusive leads.
A shared lead is sold to multiple contractors on purpose. Selling the same contact four times is how the marketplace makes four times the revenue on one homeowner.
That is not a flaw in the system. That is the system.
Here is what you are actually paying for when you buy a shared lead:
A name, a phone number, and a zip code
A project type the homeowner selected from a dropdown
The same information three to seven other roofers just received
No verification that the person owns the home
No verification that they have a budget or a timeline
Angi holds roughly 40% market share among lead aggregators and has served more than 150 million homeowners. The volume is genuinely there.
The question is never whether the leads exist. It is what each one costs you after the close rate does its work.
A homeowner searches for roof repair, lands on a marketplace page, and fills out a short form. Name, phone, zip code, project type. Four to eight fields total.
Nothing in that form verifies that the person is the property owner, has a budget, or is ready to hire anyone.
This is the single biggest quality variable, and the one you have least control over. A form filled at 11pm out of curiosity looks identical in the system to one filled by a homeowner with a tarp on their roof.
The form has no way to tell you:
Whether the caller owns or rents the property
Whether they have an insurance claim open
Whether the job is a $400 flashing repair or a $12,000 replacement
Whether they are gathering quotes for next spring
Whether they have already hired someone
Compare that to how a phone call arrives. On a call, the homeowner has already committed to a conversation. That is why phone-based channels consistently show higher close rates than form-based ones across every home service trade.
Before you buy anywhere, it is worth knowing that ResultCalls delivers roofing calls rather than form fills, with no setup fee, no monthly fee, and no cancellation fee. You can compare the two directly on the roofing leads page.
The platform's algorithm matches the form to contractors whose profile, service category, and service area fit the request. A homeowner asking for roof repair gets matched to roofing profiles in that zip code.
The per-lead price is set by trade, market, and project type. It is not set by any assessment of that specific homeowner.
Roofing leads sit in the $15 to $85 band on the marketplaces generally, with reported ranges across trades running $15 to $100 or higher in dense markets. Storm season pushes the same lead higher in the same zip code.
Three things are worth understanding about how pricing works here:
Your profile completeness and review count affect how often you get matched, not what you pay per lead
The platform prices the category, so a $12,000 full replacement inquiry and a $400 flashing repair can cost you the same
Storm activity in your market raises prices for everyone at once, right when your crews are most booked
That middle point is why job type filtering matters more than most roofers treat it. Buying every roofing category at one price means subsidizing your cheap jobs with your expensive ones.
The lead goes out to multiple contractors at the same time. Most sources put roofing and home service leads at three to five contractors, with some categories reaching eight.
Everyone receives the same name and number within seconds of each other.
What happens next is a race. Contractors who respond within five minutes close dramatically better than those who respond 30 minutes later, and the homeowner typically books whoever answers first or quotes lowest.
Run the money on that:
A $70 shared lead closing at 10% costs $700 per job
A $180 exclusive lead closing at 40% costs $450 per job
The exclusive lead costs more than twice the sticker price and $250 less per customer
Also note what you paid for when you lose. On a shared lead, three or four roofers each paid full price for a homeowner who hired someone else.
The marketplace collected on all of them.
You are billed on delivery of the contact. Not on contact made, and not on work booked.
The charge posts when the lead lands in your account. Whether the number connects, whether the homeowner answers, and whether they ever wanted a roofer at all.
The per-lead charge is only part of the total. Setup fees typically run $350 to $500, plus a lead credit deposit of $300 to $1,500.
That puts first-month investment at $650 to $2,000 before a single lead converts. Setup fees are generally non-refundable even if you cancel inside 30 days.
Here is the full cost stack on a $70 lead:
Per-lead charge: $15 to $85
Annual membership: from $300
Setup fee: $350 to $500, usually non-refundable
Lead credit deposit: $300 to $1,500
Renewal increase: up to 10% per year
Contractors report 12-month agreements with auto-renewal and cancellation fees. The BBB has logged more than 1,800 complaints against Angi in recent years.
Watch for these three specifically:
Contracts commonly auto-renew unless cancelled 60 or more days in advance
Annual increases of up to 10% may apply at renewal
Verbal promises from a sales rep do not override the written agreement
Add it all up before you compare per-lead prices. A $70 lead is not a $70 lead when it arrives with a $400 setup fee, a $900 deposit, a $300 membership, and a renewal you have to calendar 60 days out.
You can dispute leads. The window is short.
Submit through the platform's pro app or portal within 48 hours of receiving the lead. Include the lead ID, a reason, and supporting evidence like call logs or voicemails.
Platforms generally accept these reasons:
Wrong service category
Outside your stated service area
Fake or disconnected phone number
Duplicate of a lead you already received
No actual project behind the inquiry
They generally do not accept a lead that simply did not convert. A bad close rate is not a disputable event.
Two limits shape the outcome. Refunds are issued as credits rather than money, with a cap of roughly five credits per territory.
Approval is not automatic either. Contractors report denial rates in the 30% to 50% range on disputes they consider legitimate.
Best practice looks like this:
File inside 24 hours rather than 48
Document every call attempt with a timestamp
Escalate denials to a supervisor rather than absorbing them
Track your own approval rate month over month
Budget for the leakage. If one lead in five is bad and you recover half of those as credits, your effective cost per usable lead is roughly 10% higher than the number on your invoice.
The platform gets paid when a lead is delivered. You get paid when a roof is installed.
Those two events are weeks and several thousand dollars apart. Nothing in the pricing model connects them.
That gap explains most of what frustrates roofers about online roofing lead marketplaces:
Every approved dispute is revenue the platform gives back, so dispute policies stay narrow
Every additional contractor a lead is sold to is more revenue, so sharing stays wide
Volume gets measured and rewarded, while your close rate is nobody's problem but yours
None of that requires bad intent. It is just what the model rewards.
It also explains the FTC action. When the money comes from contractors buying leads rather than homeowners reading reviews, the pressure sits on lead volume and lead pricing rather than on lead quality.
Read every roofing lead site with that in mind. Ask what triggers the charge and what triggers a refund, and the business model tells you the rest.
Exclusive pay per call flips three of the five steps above. It is a different mechanic, not just a different price.
Here is what changes:
The lead is a live phone call, not a form fill
It goes to one contractor, not three to eight
There is no membership, deposit, or annual term wrapping it
You are not racing anyone to the phone
Exclusive leads convert at 25% to 35% against 8% to 20% shared. That is why a higher price per call still produces a lower cost per signed contract.
You also stop paying for homeowners who hired someone else.
Roofing PPC averages $10.25 per click and $126 per lead, with storm markets hitting $65 a click. You carry every wasted click yourself.
Exclusive roofing leads generally run $120 to $220 in competitive metros.
With ResultCalls, a roofing call routes to one contractor, billing is per call, and there is nothing to cancel. A slow storm season costs you nothing.
Do these three things in this order.
Take total monthly spend, including membership and fees, and divide by jobs actually booked from that source. Anything above $500 needs a decision.
Move your filing window to 24 hours with documented call attempts. With denial rates reported at 30% to 50%, filing fast and escalating is worth real money against a five-credit territory cap.
Run exclusive volume alongside your shared spend and track close rate separately. At 25% to 35% close against 8% to 20%, two months of data should settle it either way.
Roofing leads run $15 to $85 each on the major marketplaces, plus a membership starting near $300 a year, setup fees of $350 to $500, and a deposit of $300 to $1,500. First-month investment commonly lands at $650 to $2,000 before any lead converts. Exclusive roofing leads run $120 to $220 in competitive metros.
Typically three to five, and up to eight in some categories. Everyone receives the same contact within seconds, so the homeowner books whoever answers first or quotes lowest. That is the design of the shared model rather than a failure of it.
You can request a credit, not a refund, and the window is 48 hours. Credits are capped at roughly five per territory and are granted for demonstrable problems like a wrong service category or an out-of-area request, not for leads that failed to convert. Contractors report 30% to 50% denial rates on disputes.
Per lead yes, per booked job usually no. A $70 shared lead closing at 10% costs $700 per job while a $180 exclusive lead closing at 40% costs $450. The sticker price and the acquisition cost point in opposite directions.
Get month-to-month terms, a written monthly spend cap, your specific zip codes listed rather than a vague metro, and the credit policy in plain language. Contracts commonly auto-renew unless cancelled 60 or more days ahead, with increases of up to 10% at renewal. Verbal promises from a sales rep do not override the written contract.
None of this makes buying roofing leads online a mistake. It makes it a purchase you should price correctly.
Put the membership, the deposit, the share count, and the dispute cap in the same calculation as the per-lead number. Once they are all in there, the comparison between shared and exclusive gets much less confusing.
If you want the version with fewer moving parts, buying calls one at a time removes the contract, the deposit, and the race to the phone in one step. Start with a small batch and buy roofing leads that belong to you alone.
Hello everyone! My name is Alex and I write these blogs to help educate small business owners on different ways to grow their business. My goal is to make lead generation as easy as possible for you. After reading these blogs, I hope you leave with some actionable steps that will get you closer to growing your business :)