Why Roofers Waste Money on Google Ads (And the 6 Fixes That Change Everything)

One of our clients, I’ll call him Matt, called us after burning through $3,000 in two weeks running his own Google Ads with zero jobs and a few calls that went nowhere. “I gave it a real shot,” he said. “Google Ads just don’t work for roofing.” We asked to look at his account, and within five minutes we’d found four separate reasons why he wasn’t getting results, none of them were complicated, and all of them were fixable. After we took over, rebuilt the campaign, and fixed a landing page that had been sending paid traffic to his homepage, he got 27 exclusive phone calls over the next two months and closed two full roof replacements. Same market, same budget, completely different result. The difference wasn’t the ad platform, it was the setup.
Mistake 1: Broad Match Keywords
This is the most expensive mistake in roofing Google Ads and it’s the most common. When you use broad match keywords, which is Google’s default, your ads show for searches that Google considers “related” to your keyword. Your ad for “roofing contractor Charlotte” might show for “roofing jobs Charlotte” from job seekers, “roofing materials Charlotte” from supply store shoppers, “DIY roof repair” from homeowners who will never hire you, and “roofing license requirements” from other contractors. We have audited roofing accounts where 40% of clicks were going to completely irrelevant searches, and at $55 per click, that’s money lighting itself on fire.
Fix: Switch to phrase match and exact match only, add a negative keyword list of at least 50–100 terms before you launch, and review your search terms report weekly to keep adding negatives. This single change often cuts wasted spend by 25–35%.
Mistake 2: Sending Traffic to Your Homepage
Your homepage is designed to tell your story, who you are, what you do, your history, your team. That’s fine for someone who already knows you. For someone who just searched “emergency roof repair Charlotte” and is staring at your homepage that talks about your founding in 2009 and your family values, they’re gone in 8 seconds and have already clicked back to call your competitor. A dedicated landing page speaks directly to what the person searched, the headline matches the search, the offer is clear, the phone number is impossible to miss, and there are no links leading them elsewhere on the site.
Fix: Build a dedicated landing page for each campaign type, emergency repair gets its own page and replacement gets its own page. These pages don’t need to be beautiful; they need to be clear and fast to load. Summit Roofing saw a 27% increase in estimate requests after we separated their campaigns and built dedicated landing pages for each service type. Full story here →
Mistake 3: No Call Tracking
This seems minor until you realize what it means: without call tracking, you have no idea which keywords, which ads, or which landing pages are generating your leads, and you’re flying completely blind. We’ve taken over accounts where the owner was convinced ads weren’t working, and once we installed call tracking, discovered that 10–15 calls per month had been coming from the campaigns all along, they’d been attributing those calls to word of mouth.
Fix: Set up a Google forwarding number in Google Ads. It’s free, and any call that comes through your ads gets attributed to the exact keyword and ad that triggered it, so you know what to scale and what to cut.
Mistake 4: Geographic Targeting That’s Too Broad
Google’s default geographic targeting is broader than most people realize. If you set your targeting to “Charlotte, NC,” Google will sometimes show your ads to people who are “interested in” Charlotte, which can include people who live 90 miles away. For a roofing company, sending your crew two counties over for an estimate that might not close is a real cost, and you want leads from your actual service area.
Fix: Set targeting to a specific radius around your service area, usually 15–25 miles, and layer in bid adjustments to bid higher in your most profitable zip codes. In Charlotte, high-value neighborhoods like Myers Park, Ballantyne, and Blakeney often produce better replacement jobs, and bidding higher there is worth it.
Mistake 5: Running One Campaign for Everything
Roof repair and roof replacement are completely different buyer journeys. The person whose roof is actively leaking and the person who’s been thinking about replacing their 18-year-old roof for the past year have different urgency, different decision timelines, and respond to completely different messaging. When you mix them in one campaign, your ad copy tries to speak to everyone and ends up resonating with nobody, your quality score suffers because the relevance isn’t there, and your conversion rate drops.
Fix: Separate campaigns for emergency/repair, replacement, storm damage run seasonally, and inspection. Each needs its own keywords, its own ads, and its own landing page. This is more setup work upfront, but it pays back in lower CPCs and higher conversion rates within 30–60 days.
Mistake 6: Setting It and Forgetting It
Google Ads is not a billboard you put up and walk away from. The platform changes, competitor bids change, seasonality affects performance, and landing pages that converted well in March might lag in July. We review every client account at minimum weekly, looking at which keywords are performing, which are wasting money, what the search terms report is showing, how landing page conversion rates are trending, and whether bid adjustments need tuning. The roofers who try to manage their own ads typically check in once a month at best, and by then thousands of dollars may have been allocated to the wrong places.
Fix: If you’re managing it yourself, block 90 minutes every Friday to review. If you want someone else handling it for your Charlotte roofing business, that’s what we do →
One More Thing: Answer Your Phone
This isn’t technically a Google Ads mistake, it’s a lead generation mistake that kills otherwise great campaigns. Emergency roofing leads contact multiple contractors simultaneously, and the first credible roofer who answers the phone usually gets the job. If your campaign generates a call at 7pm on a Tuesday and it goes to voicemail, that lead is gone. We’ve seen campaigns with a good cost per lead and terrible close rates, and almost always the problem is response time, answer fast or have a system that confirms the lead immediately. See how our Charlotte roofing clients fix this →