The short answer, by channel
These are ranges reported publicly by lead sellers, agencies and contractors in 2025 and 2026. Your market, season and reviews move you inside them. Verify against your own account before you budget.
| Channel | Typical cost per plumbing lead | Shared or exclusive? | Who qualifies it? |
|---|---|---|---|
| Angi Leads / HomeAdvisor | $20 to $85, billed per lead whether or not it answers | Shared. One homeowner request is commonly sold to 3 to 8 contractors | Nobody. You call and hope |
| Google Local Services Ads | Per lead, usually inside the same band, with disputes for junk | Mostly shared with the other LSA contractors the homeowner also messaged | Nobody. You call |
| Google Ads (search) | Per click, commonly $10 to $40 or more in Texas metros; the lead cost depends on your landing page | Exclusive to your site | Your website form, then you |
| Meta lead-form ads | Commonly $15 to $60 per form fill for home services; quality varies with the form | Exclusive | Nobody, unless something texts them back |
| Referrals and Google Business Profile | Near zero per lead, but slow and impossible to scale on demand | Exclusive | The referrer already did |
| BMT | Flat monthly retainer; ad spend separate and visible | Exclusive, one client per market | The AI, in under 90 seconds, before you see it |
Why a shared lead costs more than its price tag
A $53 plumbing lead from a marketplace looks cheaper than it is. If that homeowner's request was sold to five plumbers, you are one of five phones ringing. The homeowner talks to the first one or two and ignores the rest. Your realistic chance of even reaching them is one in three on a good day.
Work it through. Five plumbers pay $53 each, so the marketplace collects $265 for one request. One of them books the job. For the other four, the $53 bought nothing, and the marketplace's answer is a credit dispute you may or may not win.
Rule of thumb: to compare a shared lead with an exclusive one, multiply the shared price by the number of contractors it was sold to, then divide by your contact rate. The exclusive lead at twice the price is usually the cheaper one.
The number to actually track: cost per booked job
Cost per lead is a vanity metric. Cost per booked job is the one that pays your crews. It has three parts:
- Cost per lead. What you paid the channel, or your ad spend divided by leads.
- Contact rate. The share of leads you actually reached. This is where most plumbing companies bleed, and it is almost entirely about response time.
- Booking rate. The share of contacted leads that turned into an appointment.
An illustrative plumbing example, not a client result:
| Marketplace lead, callback in 2 hours | Exclusive lead, answered in 90 seconds | |
|---|---|---|
| Cost per lead | $53 | $80 |
| Contact rate | 30% | 75% |
| Booking rate of contacted | 40% | 50% |
| Cost per booked job | $442 | $212 |
The exclusive lead cost 50% more and produced a booked job for less than half the price. On a plumbing ticket where most calls land between $150 and $3,500, and repipes run well above that, that gap is the margin on the job.
Response time is the cheapest lever you have
You cannot make Angi charge less. You can answer faster. Every plumber has lived the pattern: someone standing in an inch of water does not leave a message. They call the next plumber on the list. A hard freeze, when burst pipes turn a normal Tuesday into 80 calls before lunch, and that is exactly when callbacks slip from minutes to hours.
Answering in under 90 seconds, 24 hours a day, does not require a bigger office. It requires something that texts the lead back the moment they raise their hand and asks the first three questions. That is what BMT's AI answering service does for plumbers.
What BMT charges, and what you are paying for
BMT does not sell leads. We build and run the whole funnel for one plumbing company per market: a website built from your own work, ads we run and keep improving, social, and the AI that answers every inquiry in under 90 seconds and qualifies it over SMS.
- One flat monthly retainer. No per-lead fees, no contract, no minimums.
- Ad spend is separate and in addition, and you see it line by line.
- Every lead is exclusive. Slots are capped per zip code.
- A lead that does not confirm within 24 hours is replaced free.
Here is what that looks like for plumbers, or build your own demo below and see the ads and the texts before you talk to anyone.
Questions contractors ask us
Are $20 plumbing leads worth it?
Only if you know how many contractors bought the same lead and how fast you can answer it. A cheap shared lead answered two hours later is usually the most expensive lead you will buy this month, once you divide by the jobs it produced.
Should I run my own Google or Meta ads instead?
Running your own ads gets you exclusive leads, which is the right direction. The two places contractors get burned are a landing page that does not convert and nothing answering the lead in the first few minutes. Fix both or the cost per lead climbs anyway.
How do I dispute a bad marketplace lead?
Most marketplaces let you request a credit for wrong numbers, out-of-area requests and duplicates within a set window. Track every lead, dispute every one that qualifies, and expect to win some of them. Then compare the net cost with an exclusive channel.
Is there a contract or a per-lead fee?
No. BMT charges a flat monthly retainer. Ad spend, when you run ads through us, is separate and in addition, and you see it line by line. There are no per-lead fees and no minimums.
Are the leads exclusive?
Yes. A lead that comes through your BMT funnel goes to you and nobody else. We cap client slots per zip code so two BMT clients in the same trade are never competing for the same homeowner.
What if a lead does not respond?
A lead that does not confirm within 24 hours is replaced free. You are paying for conversations, not rows in a spreadsheet.
See what BMT would build for your business.
Give us your business name and watch the AI build your demo: your homepage rebuilt, the ads we would run, and the texts your leads would get. About a minute, free, no call required.