Skip to main content
MCANIX
PPC·6 min read

Why Most Roofers Waste Money on Google Ads (And How to Fix It)

Five Google Ads mistakes that show up in nearly every roofing company account — and the exact fixes that drop cost-per-lead and book more jobs.

Owen Nixon
Co-Founder, MCANIX

The five mistakes that show up in nearly every account

In our experience auditing roofing company Google Ads accounts, the same handful of issues account for the vast majority of wasted spend. Here are the five that come up most often — and what to do instead.

1. Bidding on broad match for "roofing"

If your campaign is running broad match on a single keyword like roofing, you're paying for searches like "roofing materials," "roofing schools," "roofing supplies wholesale," "DIY roofing repair," and dozens of other queries that have nothing to do with hiring a roofer.

Fix: Switch to phrase match or exact match for your core intent keywords. Use "roof repair near me", "roofer near me", "roof replacement cost", "roofing company". Broad match has its place once you have enough conversion data for Smart Bidding to find quality, but most roofing accounts don't have that data yet.

2. No negative keyword list

A roofing campaign without a real negative keyword list is a money pit. The first negatives every roofer should add: jobs, career, hiring, apprentice, school, training, supply, supplies, wholesale, material, materials, DIY, how to, Home Depot, Lowes.

Add competitor names if you don't want to pay for brand defense. Add product brand names (GAF, Owens Corning) unless you're a certified installer who can convert that traffic.

3. Sending traffic to the homepage

Your homepage is built for browsing. A Google Ads landing page should be built for ONE action: book the inspection or call the number. In our experience, switching from homepage to a dedicated landing page usually doubles conversion rate.

Fix: Create one landing page per service (roof replacement, roof repair, storm damage). Each page: phone number above the fold, a single short form, one clear value prop, real photos of your team, social proof (review count + rating), no navigation that lets the visitor wander off.

4. Not running LSAs alongside Search

Google Local Service Ads (LSAs) and Search ads are different products. LSAs are pay-per-lead, show at the very top of mobile search, and carry the Google Guaranteed badge. Search ads are pay-per-click and appear below LSAs.

In our experience, roofing companies that run both convert at a lower combined CPL than companies running either alone. LSAs hand you pre-screened, high-intent leads. Search ads catch the homeowners in the research phase that LSAs don't always reach.

Don't pick one. Run both, with separate budgets, and measure separately.

5. No call tracking

If you can't tell which keyword drove which call, you can't optimize. Google's built-in call tracking via call extensions is OK; for serious roofing operations, CallRail or WhatConverts is worth the $50-$200/month — they tie phone calls back to the specific keyword and ad that drove them.

Real numbers for Texas roofing markets

The "right" cost per lead varies by market, but here's what we typically see for roofing campaigns in Texas:

  • Dallas–Fort Worth: $45–$80 per qualified lead (Search), $90–$140 per booked job (LSAs)
  • Houston: $50-$90 per qualified lead, $100-$160 per booked job
  • Austin: $60-$110 per qualified lead, $120-$180 per booked job
  • San Antonio: $40-$75 per qualified lead, $85-$130 per booked job

These ranges are for steady demand. During storm season, expect CPCs to spike 40-60%. The roofers who win storm season are the ones with strong organic + map pack rankings going in — they don't have to pay $120/click when every roofer in town is bidding.

Set your bid strategy to Maximize Conversions with a target CPA. For most Texas markets, aim for $40-$80 per qualified lead. Adjust based on close rate and ticket size.

What doesn't work

A few things we see roofers waste money on:

  • Display campaigns for emergency roofing. Nobody browsing ESPN.com is thinking about their roof. Save display for awareness when you have brand budget to spare.
  • YouTube ads without retargeting. Cold YouTube views rarely convert for service-based businesses.
  • Broad-match Performance Max without conversion data. PMax learns from conversions. If you only get 5 conversions/month, the algorithm has nothing to optimize against.
  • Bidding on broad informational keywords like "how much does a roof cost." People searching that are 3-6 months from buying. You'll pay $8/click for traffic that doesn't convert this quarter.

The bottom line

Most roofing Google Ads accounts can cut spend 20-30% and improve lead quality just by fixing the five issues above. The ones with proper negative keywords, intent-matched landing pages, LSAs running alongside, and call tracking dialed in usually book 2-3x more jobs from the same budget.

If you want a second set of eyes on your account, book a free growth audit. We'll pull up your campaigns, find the leaks, and give you a written breakdown — no obligation.

For more on building the marketing system roofing PPC plugs into, see our roofing marketing services or read our piece on the marketing budget breakdown for trade businesses.

About the author

Owen Nixon is the Co-Founder of MCANIX, a Texas-based digital marketing and software company focused exclusively on hands-on industries. With years of experience building marketing systems for roofing, HVAC, plumbing, and electrical companies, Owen writes from direct experience running campaigns that generate real revenue for trade businesses.

Want help implementing this?

Book a free 30-minute audit. We'll look at your specific situation and give you honest feedback — no pitch, no contract.