What "buying leads" actually means
When a contractor says they "buy leads," they usually mean one of three setups: a shared marketplace (HomeAdvisor, Angi, Thumbtack, Porch), a pay-per-lead niche broker for a specific trade, or a lead-gen ad shop that runs Google or Facebook ads and resells the form fills. All three have the same core mechanic: someone else owns the traffic, someone else owns the homeowner's contact info first, and you're bidding for the right to be one of several contractors chasing that same name and number.
The pitch is always speed. Sign up today, get leads this week, no website needed, no SEO wait. For a contractor who needs work on the books next month, that's a real draw, and it's honestly why these platforms have stayed in business for decades. The problem shows up later, once you've run the math on what each closed job actually cost after the shared-lead tax, the missed calls, and the disputes filed for leads that never should have been sold to begin with.
- Marketplace leads (HomeAdvisor, Angi, Thumbtack): sold to multiple contractors per request, priced per lead or per "credit," often $15 to $100+ depending on trade and job size.
- Niche brokers: narrower trade focus (solar, roofing, windows), still commonly shared, sometimes exclusive at a premium price.
- Ad-arbitrage shops: run the ads themselves, resell the form fills, margin baked into your cost whether the lead converts or not.
None of these are illegal or predatory by design. They're a legitimate business model for the platform, built around a straightforward incentive: sell the same demand signal to as many buyers as the market will tolerate. The question isn't whether they're a scam. It's whether renting access to a homeowner's attention, over and over, forever, is a sound long-term plan for a contracting business that plans to still be operating in five years. For most trades, the honest answer is that it's a fine bridge and a poor foundation.
The shared-lead math: why the same job gets sold multiple times
A homeowner fills out one form on a lead marketplace looking for a quote. That single form submission gets packaged and sold to several contractors in the same category and service area, often 3 to 8 of them, sometimes more in dense metros. Each contractor pays for the lead independently. The platform gets paid multiple times off one homeowner's five minutes of effort.
You don't know how many other contractors got the same lead. You don't know if you're the first call or the fifth. Homeowners calling around for quotes usually book with whoever calls back fastest and sounds most competent on the phone, which means speed-to-call becomes its own arms race that has nothing to do with the quality of your work.
| What you're told | What's actually happening |
|---|---|
| "Exclusive leads available" | Usually a premium tier; standard leads are shared by default |
| "Homeowner is ready to hire" | Homeowner is often collecting 3-5 quotes to compare price |
| "You only pay for quality leads" | Dispute/refund process for bad leads is usually slow and capped |
| "Leads match your service area" | Radius targeting is often broader than your actual drive-time zone |
Run the arithmetic on your own numbers before you commit budget. If a lead costs $40 and five contractors get it, that homeowner request generated $200 in lead-service revenue before a single nail got driven. Your close rate on shared leads has to clear that math, plus your labor and materials, plus your own margin, or you're funding the platform's growth instead of yours.
Dead leads, disconnected numbers, and jobs already awarded
Every contractor who's run paid leads for more than a month has the same story: the number rings dead, the homeowner says they already hired someone last week, or the "lead" was a renter with no authority to approve work. Lead platforms generally offer some kind of credit or dispute system for these, but the process usually requires documentation, has a filing window, and doesn't return your labor cost for the callback attempts you already made or the crew hour you scheduled around it.
Part of this is structural, not malicious. A form fill captured on a landing page three days ago is already stale by the time it routes through a broker, gets sold, and lands in your inbox. Homeowners requesting quotes for time-sensitive trades (plumbing emergencies, storm damage, HVAC no-cool calls) often move fast and hire whoever answers first, sometimes before the lead even reaches you. Some homeowners also submit the same request on two or three different platforms at once just to see who calls back fastest, which means you may be racing contractors who bought the exact same lead from a different broker entirely.
The trades that get hit hardest by this are the ones with the most urgent-need searches: emergency plumbing, roof leaks, HVAC breakdowns, garage door failures. A homeowner with water on the floor isn't waiting for five contractors to call back. They're hiring the first one who picks up. If you're buying leads for an urgent-need trade and your call-back window is measured in hours instead of minutes, you're paying for a lot of dead air. Lower-urgency trades (remodeling, landscaping design, fencing) tend to see less of this problem, since the homeowner is comparing quotes over days or weeks rather than hiring in the first hour.
- Set a hard rule: call every lead within 5 minutes during business hours, or don't buy leads for that trade at all.
- Track your dispute/refund rate by month. If it's climbing, that's a signal the source is degrading, not a one-off bad batch.
- Separate "cost per lead" from "cost per booked job" in your own spreadsheet. The second number is the one that matters.
- Log the reason every dead lead died (already hired, no answer, wrong number, out of area). Patterns in that log tell you which platform or trade category to cut first.
The real cost per booked job, not per lead
Lead platforms advertise cost per lead because that number looks small next to a $6,000 kitchen remodel or a $12,000 roof replacement. It's the wrong number to budget against. What matters is cost per booked job, which factors in your close rate on shared, cold, sometimes-stale leads.
Here's the working formula: cost per lead, divided by your close rate, equals your true acquisition cost per job. If you're paying $60 per lead and closing 1 in 8 (a realistic rate on shared marketplace leads competing against several other bids), your real cost to land one job is $480, before labor, materials, permits, or overhead. Compare that to what you'd pay to acquire a customer who found you directly through a Google search or a map pack listing, where you're the only contractor they're talking to and the close rate is typically several times higher.
| Metric | Shared paid lead | Owned search visibility |
|---|---|---|
| Who else got this lead | Often 3-8 competitors | Nobody, you're the only result they clicked |
| Cost after the first year | Recurring, per lead, forever | Ranking is an asset you keep building on |
| Close rate driver | Speed-to-call, price | Trust signals, reviews, proof of work |
| What you own when you stop paying | Nothing | Rankings, content, review history |
This isn't an argument that paid leads never work. For a brand-new contractor with zero online presence and jobs to fill next week, they can be a legitimate short-term bridge. The failure mode is treating them as the permanent plan instead of a stopgap while you build something that compounds.
Where lead buying actually still makes sense
Being straight about this: paid leads aren't universally bad, and we're not going to tell you to cancel every platform tomorrow. There are specific situations where buying leads is a rational move, at least for a defined period.
- Brand-new business, zero reviews, zero rankings. You need revenue now and haven't built organic visibility yet. Paid leads can bridge that gap while SEO and local rankings build in the background (typically 4-9 months for competitive terms).
- Filling a slow season or a crew gap. If you've got capacity sitting idle and need to fill it fast, a short paid-lead push can make sense as a tactical fill, not a foundation.
- Testing a new service line or new geography. Before you invest in building out content and local pages for a new offering, paid leads can validate demand cheaply.
What doesn't make sense is running paid leads as your only channel, year after year, while a growing share of every job's margin goes to the platform instead of staying in your business. If you're five years in and still 100% dependent on purchased leads, you haven't built a business, you've built a rental relationship with a lead broker that can change its pricing or algorithm whenever it wants.
The contractors who come out ahead usually run both in parallel for a while: paid leads for immediate cash flow, owned search visibility building underneath it, until the owned channel carries enough volume that paid leads become optional instead of load-bearing.
What to build instead: owning your own visibility
The alternative to renting leads is owning the asset that generates them: your own ranking in Google's organic results, the local map pack, and increasingly, AI-search answers (ChatGPT, Google's AI Overviews, Perplexity) when someone asks "who's a good [trade] near me." These aren't rented per click. Once you rank, that visibility keeps working without a per-lead invoice.
This isn't instant. Competitive local SEO terms typically take 4-9 months to show meaningful movement, and the map pack (Google's top 3 local results) has its own separate ranking factors tied to reviews, proximity, and category signals. It's also not free: it takes real content investment, not a single "SEO page" thrown up and forgotten. But the asset compounds. A ranking you hold in month 12 is still working for you in month 24 without a fresh invoice every time a homeowner clicks.
The other shift worth naming: AI search is changing how homeowners find contractors right now, in 2026, not in some future year. When someone asks an AI assistant to recommend a contractor, the answer comes from a smaller set of sources than a traditional ten-blue-links search page. Contractors with structured, specific, credible web content are more likely to get cited in that answer. Contractors who never built anything beyond a lead-platform profile aren't in the conversation at all.
Building owned visibility touches three things: a site built to convert and to feed AI search with clear, specific answers, on-page and technical SEO that earns rankings for the terms your buyers actually search, and local SEO that wins the map pack in your service area. Each is its own discipline, and each reinforces the other two. A site with no SEO underneath it has nothing to rank. Rankings with no local SEO miss the map pack, where a huge share of "near me" clicks actually happen. Either one without AI-search-ready content misses where more homeowners are starting their search every quarter.
How to run the transition without dropping your pipeline
The failure mode isn't buying leads. It's buying leads forever without ever building the alternative underneath them. The fix isn't a hard cutover, it's a managed handoff, and it follows a predictable sequence for most contractors we talk to.
Start by auditing what you actually have right now: a Google Business Profile that may be thin or unclaimed, a website that may be outdated or nonexistent, and zero to a handful of reviews. That audit, delivered in 1-3 business days, tells you exactly where the gaps are before you spend a dollar building anything. Skipping this step is how contractors end up paying for a redesign or an SEO push aimed at the wrong problem.
Next, keep paid leads running at whatever level currently keeps the crew busy. Don't cut the channel that's paying the bills the same month you start building the replacement. Local SEO and content take months to build momentum, and a gap in bookings during that window is a self-inflicted wound, not a necessary cost of doing this right.
- Month 1-2: Site and Google Business Profile foundation goes in. This is table stakes, not the growth engine itself, but nothing ranks without it.
- Month 2-6: Local SEO and content build out around your actual service pages and service area. Reviews accumulate. Map pack position starts to move on less competitive terms first.
- Month 4-9: Competitive terms in your trade start showing real movement. This is where cost per booked job on the owned channel usually crosses below what you've been paying per lead.
- Ongoing: As owned channel volume grows, dial paid lead spend down to whatever fills the remaining gap, or drop it entirely if volume covers your capacity.
Trades differ here. A roofer selling $15,000-$25,000 jobs can often justify a longer build-out because a single closed job pays for months of the work. A junk removal or pressure washing outfit selling smaller tickets needs the owned channel producing volume faster to make the math work, which usually means leaning harder on local SEO and map pack visibility before chasing broader organic content.