Roofing Marketing Agency, With a Roofer's Real LSA Numbers
DG Agency runs Google Local Services Ads, the Google map, reviews, Yelp and the website for roofing companies doing $1M or more. This page shows what that looked like month by month for TMC Roofing in Perris, California, including the parts that cost more than planned.
By Daniel Gonzalez, founder of DG Agency. Updated . Every number names its source and date range.
TMC Roofing: Booked LSA jobs doubled in a month at the same cost per booked job. See the numbers
What TMC Roofing's Account Shows
TMC Roofing is a residential and commercial roofer in Riverside County. These numbers come from Google's own Local Services Ads account report. Spend went up with volume, so read this as a volume story, not a cheaper-leads story. The owner reports revenue grew from $3M to $8M in 12 months working with us.
| Month | Calls | Connected | Charged leads | Spend | Cost per charged lead |
|---|---|---|---|---|---|
| Jan 2026 | 103 | 55 (53%) | 46 | $4,366 | $94.92 |
| Jul 2026 | 35 | 24 (69%) | 26 | $2,397 | $92.20 |
| Aug 2026 | 104 | 92 (88%) | 102 | $10,267 | $100.65 |
| Sep 2026 | 245 | 205 (84%) | 202 | $21,714 | $107.50 |
Source: Google's Local Services Ads account report for TMC Roofing, synced to DG Ops, pulled October 21, 2026.
How We Run Google LSA for a Roofing Company
LSA is where most of TMC's booked roofs start, so it gets the most attention. You pay for valid leads, not clicks, which makes the setup your filter. Google says it no longer credits leads marked job type not serviced or geo not serviced. If repair calls in a far county lose you money, those job types and zip codes come off before the phone rings, not after.
Then we work the leads that do come in. We pulled TMC's full LSA lead history from the Google Ads API and compared it with the owner's own tracker. Google had credited 26 leads back by October 21, 2026. The company's tracker showed 1. Most roofers never see that gap because nobody is checking it.
The other lever is the phone. TMC's office connected on 53% of LSA calls in January 2026 and 84% in September. That is their team's work, and it is the number we put in front of the owner every month next to cost per booked job.
Why Roofing City Pages Fall Out of Google
Our April 29, 2026 audit of TMC's old website found 156 pages submitted to Google in 5 sitemaps and 0 of them indexed. The site ran on a builder that sent crawlers near-empty pages. We rebuilt it in Next.js in May, kept all 156 live addresses so no redirects were needed, and added business and service schema.
After the rebuild, Google search impressions went from 91,285 to 186,022 and clicks from 172 to 594 (January 10 to April 7 vs April 29 to July 27, 2026). It did not fix everything. 21 or more city pages were still out of the index on July 30. Google groups pages whose main content is nearly the same and keeps one, so a city page that only swaps the town name is the first to go. Each city page we write now needs something only that city has, like jobs done there or the permit office crews deal with.
Licenses, Certifications and What Goes on Your Ads
In California, roofing is licensed by the Contractors State License Board under the C-39 Roofing Contractor classification. Google's LSA screening page says it validates licenses against state databases, and the name on your insurance documents has to match the name you advertise with. So we pull the license record before anything goes on the LSA profile, the Google Business Profile or the site.
Manufacturer programs get the same check. GAF and Owens Corning both run contractor programs, and homeowners know the logos. We confirm which one you are actually in before a badge goes anywhere. The wrong manufacturer's badge is worse than none.
Slow Months, Storms and Where the Budget Goes
In TMC's account, lead volume followed budget and answer rate more than the calendar. July 2026 brought 26 charged leads on $2,397 of spend. August brought 102 on $10,267. When a roofer tells us the phone went quiet, we check spend, answer rate and job types before we blame the weather.
Storm and insurance work runs on its own campaigns and pages, separate from retail replacement, because the homeowner asks different questions. We never promise that insurance will pay for a roof. We explain the inspection and the claim process and let the roofer close it.
What We Run for Roofers
- Google Local Services Ads: job types, service area, budget, lead review and credit requests.
- Google Business Profile: posts, Q&A and review replies. TMC's profile call taps went from 11 to 27 (August 1 to 25 vs September 1 to 25, 2026) and every one of its 88 Google reviews has a reply.
- Website and SEO: pages Google can actually index, titles rewritten for clicks, schema.
- Meta ads built for the owner to approve. The owner signs off and switches ads on himself.
- Yelp, citations and monthly reporting by lead source.
Guides for contractors
Roofing Marketing Agency FAQ
What does a Google LSA lead cost a roofing company?
+
In TMC Roofing's account, cost per charged lead ran $94.92 in January 2026 and $107.50 in September 2026, when volume and spend were much higher. Across the 7 contractor accounts in our LSA study, a charged lead averaged $96.20 from October 2025 to September 2026. Your market and job types move this number, so treat these as reference points, not a quote.
Do I need a C-39 license to run Local Services Ads in California?
+
Google says it validates licenses against state databases during LSA screening, and the CSLB licenses roofing under the C-39 Roofing Contractor classification. Check your own license record with the CSLB before you apply, and make sure the business name matches your insurance documents, because Google checks that too.
Why are my roofing city pages not indexed?
+
Usually because they read the same with a different town name. Google groups pages with nearly the same main content and keeps one. TMC Roofing still had 21 or more city pages out of the index on July 30, 2026, after a rebuild that otherwise doubled impressions. Give each city page something only that city has, or merge it.
Does Google credit back bad roofing leads?
+
Sometimes. Google credited 26 of TMC Roofing's LSA leads back by October 21, 2026, while the company's own tracker showed 1. Google no longer credits leads marked job type not serviced or geo not serviced, so the best protection is turning those off in the setup.
Should a roofer buy shared leads from HomeAdvisor or Angi?
+
We don't run Angi or HomeAdvisor for anyone, so we can't give you their numbers. What we can say is that LSA, your Google profile and your website send leads to you alone. If you test both, compare cost per booked job over the same 90 days using your own CRM.
How much does DG Agency charge roofers?
+
Retainers start at $5,000 a month for roofing companies doing $1M or more. 90-day minimum, then month to month. Ad spend is separate and paid straight to the platforms. If there is no measurable result in 90 days, you get your retainer back.

Want your LSA numbers laid out like this?
Book 30 minutes with Daniel. Bring your last few months of LSA or call data and he'll show you where the booked jobs are slipping.
Not ready to talk? Or take the free marketing scorecard