Roofing Marketing Agency

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 , founder of DG Agency. Updated . Every number names its source and date range.

$500K+
Client ad spend managed
Google Partner
Certified, not pretending

TMC Roofing: Booked LSA jobs doubled in a month at the same cost per booked job. See the numbers

5.0 from 25 Google reviews

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.

46 to 202
charged LSA leads a month
January vs September 2026
63 to 136
LSA leads marked booked
August vs September 2026
About $160
per booked lead, held flat ($162.96 to $159.66)
August vs September 2026
53% to 84%
of LSA calls connected by TMC's office team
January vs September 2026
TMC Roofing, Google Local Services Ads, selected months
MonthCallsConnectedCharged leadsSpendCost per charged lead
Jan 202610355 (53%)46$4,366$94.92
Jul 20263524 (69%)26$2,397$92.20
Aug 202610492 (88%)102$10,267$100.65
Sep 2026245205 (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.

Read the full TMC Roofing case study

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.
Retainers start at $5,000 a month for roofers doing $1M or more. 90-day minimum, then month to month with 30 days' notice. Ad spend goes straight to Google and Meta. If there is no measurable result in 90 days, you get your retainer back. You own every account, the LSA profile, the ads, the website and the call tracking numbers. See full pricing.

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.

Daniel Gonzalez, founder of DG Agency

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.

5.0from 25 Google reviews

Not ready to talk? Or take the free marketing scorecard