Key findings
We pulled 1,046 Local Services Ads leads for one roofing company straight from Google's API. Google had quietly credited 26 of them. The owner's tracker showed 1. Only three complaint reasons can still earn a credit. Answer rates estimated from call length ran up to 20 points high. And Google won't show what any single lead cost.
I'm Daniel Gonzalez, founder of DG Agency. We run Local Services Ads for roofing, plumbing and electrical contractors, remotely and nationwide, and we publish the account-level numbers in our 2026 Google LSA statistics. This year we stopped reading lead numbers off the LSA dashboard and started pulling them straight from the Google Ads API and the Local Services API. What came back didn't match what our clients thought was going on in their own accounts.
Every client in this report is anonymized. The numbers are what Google's systems returned. How we pulled them, and what we couldn't get, is in the methodology section at the bottom.
Finding 1: Google credited 26 leads the owner didn't know about
Google credited 26 Local Services Ads leads back to a Southern California roofing company, and the company's own tracker recorded 1. Between August 20, 2025 and September 23, 2026, Google's API showed 1,046 leads for this roofer. Their tracking spreadsheet held 413, about 4 in 10. Of the 26 credits, 14 happened with no feedback submitted at all. Google's automated system went back over those leads on its own and returned the money. The other 12 came after someone rated the lead. Then it cut the other way. The team logged 19 leads as disputes in September, and when we checked on September 23, none of the 19 showed a credit. Two September leads did get credited on October 6, both after they were rated. Google's data doesn't tell us whether they were part of the 19. Honestly, this one surprised me. The owner was getting credits he never saw and chasing credits that were never coming. Google says credits usually land within 30 days and the original charge still shows on the invoice. That's why they're so easy to miss.
What contractors should do
- Pull your lead count from Google every month and compare it to your spreadsheet.
- Check the credited leads in your LSA account before you complain about a lead.
- Read your invoice next to your credits. The charge stays on the invoice even after the credit.
- Track what Google actually credited, not what your team hoped to get back.
Finding 2: Only 3 complaint reasons can still earn a credit
Only three complaint reasons can earn a Local Services Ads credit today: spam, duplicate and solicitation. Google removed manual lead disputes in 2024, and crediting is now automatic. Your one lever is lead feedback. We tested every dissatisfied reason against the live lead feedback endpoint in the Google Ads API. Spam, duplicate and solicitation went through. Out of service area, job type not serviced, geo not serviced, no response, other, service not offered, wrong number, not interested and unreachable were all rejected. Google's own help page says it no longer supports credits for "job type not serviced" and "geo not serviced" leads. That means most of what contractors complain to me about earns nothing. The caller two counties over, or the homeowner who needed someone today when you're booked till Thursday, still costs you full price. The fix lives in your settings, before the phone rings.
What contractors should do
- Cut your service area down to the ZIP codes you actually want to drive to.
- Turn off every job type you don't do or don't want.
- Set your hours to the times someone will really pick up.
- Rate spam, duplicate and sales calls every week. Those can still earn a credit.
- Tell your office staff that "out of area" and "we don't do that" are no longer creditable.
Finding 3: Answer rate guessed from call length can be 20 points too high
If you estimate answer rate by counting calls that have a duration, you can be off by as much as 20 points. We compared that shortcut to Google's connected-call measure on several accounts. A plumbing company came out at 92% using call durations. Google's number was 72%. An electrical contractor came out at 98% by duration and 77% by Google's count. Here's why. A call that rings into voicemail still has a duration. So does a caller who sits through a phone menu and hangs up. Neither one is a person answering the phone. If you run your business off the duration number, you think the phones are covered when one caller in four or five is reaching nobody.
What contractors should do
- Get your answer rate from Google's connected-call data, not from call length.
- Call your own LSA number during business hours and after hours, and listen to what a homeowner hears.
- Pull the zero-second calls into their own list and look at when they happened.
- Put a backup behind the main line, like an answering service or a second phone that rings.
Finding 4: Google doesn't show what a single LSA lead cost
Google does not tell you what any individual Local Services Ads lead cost. We asked for it every way the API allows, and the detailed per-lead reports came back empty for every account we tested. That leaves one honest way to figure cost per lead. Take total spend and divide it by billed leads. It's a blended number, and it's the only one you've got. Two calls on the same day can be for very different jobs, and you have no way to see what either one cost you. If someone shows you a price for a single LSA lead, they are estimating it. When you compare LSA to Google Ads or to a lead service, use blended numbers over the same dates on both sides. Then take your credits into account, because a credited lead still sits on the invoice and makes your cost look higher than it was.
What contractors should do
- Figure cost per lead as total LSA spend divided by billed leads for a set date range.
- Take credits out of spend before you divide.
- Use the same dates when you compare LSA to any other channel.
- Track cost per booked job too, since that's the number that pays the bills.
Finding 5: A Washington plumbing company went from 15 leads a month to 60
A Washington plumbing company went from 15 Local Services Ads leads in the 30 days before we started to 60, 54 and 52 in the next three 30-day months. Ad impressions went from 572 to 2,697 in the first month. We also ran 169-point geo-grid scans on 7 keywords to see how much of their map showed them in Google's top 3 map results. The average went from 20% to 39%. For "plumbing repair" it went from 4% to 40%. We fixed a lot of basics at the same time over those 90 days, so we can't tell you which change moved which number, and season and competitors play a part too. One number didn't move. Answer rate held around 74% while lead volume nearly quadrupled. I'll take that, but it's not a win yet. About one call in four still isn't reaching a person, and that's what we're fixing next.
What contractors should do
- Write down your starting numbers before you change anything: leads, impressions, answer rate and map coverage.
- Compare matched 30-day windows so you're looking at like for like.
- Scan the map by service keyword, not just your company name. One keyword can lag way behind.
- Plan for the phones before the volume shows up. Leads nobody answers just cost more.
Methodology
All numbers in this report come from Google's own systems. DG Agency pulled them through the Google Ads API and the Local Services API for accounts we manage. None of it comes from surveys or outside studies.
The roofing lead numbers cover leads received August 20, 2025 to September 23, 2026. Credits are counted as of October 21, 2026. 24 had landed by September 23 and 2 more landed on October 6. The lead count is Google's own lead records only. Rows copied in from the owner's tracker are not counted. The 19 disputes are the ones the roofer's team logged in September 2026. The plumbing results compare the 30 days before our work started with the three 30-day periods after it. Map coverage comes from 169-point geo-grid scans on 7 keywords at the start and after. Answer rate compares Google's connected-call measure with a count of calls that had a recorded duration.
Clients are described by trade and region only. We don't name them, and we left out details that would point to a specific company.
For lead feedback, we sent each dissatisfied reason to the live feedback endpoint and recorded which ones it accepted. Google's API documentation lists more reasons than the three that went through. We're reporting what the endpoint accepted in September 2026, and Google can change that at any time.
Some things weren't available. Google's detailed per-lead reports returned empty for every account, so we can't report the cost of any single lead. We also can't see why Google's automated system credited one lead and not another. And this is a handful of accounts in a few trades, not a survey of every LSA advertiser.
Where to go next
If you're still deciding whether LSA belongs in your mix at all, start with LSA vs Google Ads for contractors. If the answer rate finding hit home, read how fast you should respond to leads. To see how we run Local Services Ads for contractors, go to our Google Local Services Ads page.
Want us to pull these same numbers for your account? Book a 30-minute call and we'll show you your real lead count, your credits and your connected-call answer rate from Google's data.
DG Agency is a Canyon Lake, California marketing agency that works remotely with home service contractors nationwide doing $1M or more, focused on Google Local Services Ads, local SEO, Yelp and Google Business Profile.

