Published September 17, 2026 · by Luis Gomez · Only numbers I can screenshot are presented as facts; everything else is labeled as an estimate and you’ll learn how to pull your own.
Short answer: Local Services Ads bill per charged lead, not per click. In the one account I publish — drywall repair, Kansas City metro — the cost ran $36.77 to $46.66 per charged lead across April–July 2026. Cost per lead is set per category and per metro, so pull Google’s own estimate for your trade and ZIP from the sign-up flow (five minutes) instead of trusting a vendor table.
Every article that promises “LSA cost per lead by trade” gives you a table of round numbers from nowhere. I run a Local Services Ads account for a drywall company and I publish its billing. So this page does three things: explains how Google actually charges you, shows the real four-month numbers, and gives you the five-minute method to get Google’s own estimate for your trade in your ZIP code — which is the only number that matters for you.
How Local Services Ads bill you
- You pay per lead, not per click. A lead is a phone call, a message, or a booking from the ad. Clicks that don’t turn into contact cost nothing.
- Not every lead is charged. Since mid-2024 there is no dispute button: Google’s automated review looks at every charged lead within about 72 hours and credits the ones it judges invalid (spam, misdials, solicitations); rating a bad lead “Very dissatisfied” in the Leads tab is what triggers a second look, and credits show on the bill within 30 days. The “job type not serviced” and “out of area” credit categories were cut, so your job-type selection is now the only filter. The number that matters is charged leads, and it’s smaller than the “leads” number on the dashboard.
- Cost per lead is set per category and per market, and the ranking auction moves it. Denser markets with more verified pros cost more; a trade with a $5,000 average ticket costs more than a trade with a $300 ticket.
- You set a weekly budget, and Google spreads charged leads across it. A budget that’s too low turns the ads off for the back half of the week, which is exactly what was happening to my father’s account in April.
- Bidding mode matters. “Maximize leads” lets Google set the price to fill your budget; a manual max per lead caps it but can starve the ads. From August 2026 Google is migrating these campaigns into Google Ads as a Performance Max campaign type with the same pay-per-lead billing — see the migration guide for what changes.
Four months of real numbers (drywall repair, Kansas City metro)
Drywall isn’t even an LSA category — these leads came through a category whose job types cover the work (the drywall plan explains the side door). Charged leads, after credits:
| Month (2026) | Charged leads | Lead spend | Cost per charged lead |
|---|---|---|---|
| April | 22 | $1,026.57 | $46.66 |
| May | 31 | $1,286.39 | $41.50 |
| June | 44 | $1,617.81 | $36.77 |
| July | 52 | $2,074.03 | $39.89 |
Two things to take from it. Cost per lead moved 20% inside four months without changing the trade or the city, because the budget stopped starving the ads and the profile stopped losing leads on screening. And the range, roughly $37 to $47 per charged lead, is for a repair trade with a $150–$550 ticket; a plumber or an HVAC company in the same metro will see a different number.
Screenshots of every billing screen are in What a drywall lead costs.
Why I’m not giving you a table for every trade
Because I haven’t run them, and the trade-by-trade tables you’ll find elsewhere are vendor averages that are wrong for your ZIP by a factor of two in either direction. What I can tell you is what moves the number:
| Pushes cost per lead up | Pushes it down |
|---|---|
| Big-ticket trades (HVAC replacement, roofing, plumbing repipes) | Repair-ticket trades (drywall, handyman, appliance repair) |
| Dense metros with many Google-Guaranteed pros | Suburbs and secondary cities |
| Emergency job types (“water heater leaking now”) | Planned work (“ceiling fan install”) |
| Low review count / slow response rate (you win fewer auctions, so the ones you win cost more) | 4.8+ stars, 50+ reviews, answering in the first ring |
| Weekly budget too small (ads go dark, then compete in bursts) | Steady budget that stays on all week |
| Broad service area | Tight service area around where you actually are |
The five-minute method: Google’s estimate for your trade and ZIP
- Go to the Local Services Ads sign-up page (ads.google.com/local-services-ads) and start the setup with your trade and ZIP code. You don’t need to finish it.
- On the budget step Google shows an estimated cost per lead and an estimated leads-per-week range for your category in your area. That is Google’s own number, pulled from live auctions near you. Screenshot it.
- Multiply the low end of the lead range by the cost per lead: that’s the weekly budget that keeps the ads on all week. Anything lower and you’re paying full price for half a week of exposure.
- Compare it to a third of your revenue per lead (average ticket × close rate). If Google’s estimate clears that bar, run it.
If you send me the screenshot, I’ll tell you whether the number is worth it for your ticket size. That’s the whole free audit: send it here.
What a “good” cost per lead is
It isn’t a number; it’s a ratio. A $150 HVAC lead is cheap if the average replacement is $9,000 and you close one in four. A $25 cleaning lead is expensive if the first clean is $150 and half of them never book again. The test is the same in every trade: revenue per lead should be at least three times the cost per lead, and the close rate on LSA calls should be above 40% — if it isn’t, the problem is the phone, not the ads.
Where the money leaks (and how to plug it)
- Missed calls. LSA rings your phone; if nobody picks up, the lead goes to the next pro and you may still be charged. Answer in three rings or forward to someone who will.
- Unfiltered job types. Turning on every job type in your category buys leads for work you don’t do. Untick them.
- Not rating leads. There is no dispute form any more; the automated review credits obvious junk on its own, and your “Very dissatisfied” rating is the only signal that gets a borderline lead re-reviewed. Rate every bad lead the day it lands.
- The ranking loop. Response rate, review score and review count feed the ranking; a lower rank means fewer wins and pricier wins. Every review you ask for lowers next month’s cost per lead.
Questions owners ask
Do I pay for every call? No. You pay for leads Google counts as valid for the job types you selected. Its automated review credits invalid ones within about 72 hours (the credit appears on the bill within 30 days); rate the rest “Very dissatisfied” to prompt a second review.
Can I set the price I’ll pay per lead? In the old LSA dashboard, yes (a manual max per lead). Inside Google Ads after the migration you’ll work with a target cost per lead and a weekly budget; too aggressive a target starves delivery.
Is Local Services Ads cheaper than Google Ads? Usually per lead, yes, because you don’t pay for the clicks that never call. Per job it depends on your close rate. Most trades should run LSA first and add search campaigns second.
Why did my cost per lead jump this month? New verified competitors, a budget cut that turned the ads off mid-week, a drop in response rate, or a seasonal spike in your trade. Check response rate and budget first — those are the ones you control this week.
What does the Google Verified badge cost? Nothing beyond the per-lead charges; it replaced the Google Guaranteed badge in October 2025 and comes with passing screening. Details in Google Guaranteed is gone: the Google Verified badge, explained.
Want your LSA numbers read by someone who publishes his own? Send your trade, your city and your number, and I’ll tell you whether your cost per lead is a problem or a bargain. Free audit →