Why roofing ads bring tire-kickers, and the fix
A roofing search can come from a homeowner ready to sign, a DIYer, a job seeker or someone two counties away. Google can't tell them apart unless your settings and conversion data do. Five settings do most of the work:
| Problem | Setting | What it does |
|---|---|---|
| Clicks from outside your area | Location: Presence | Only people in or regularly in your area |
| Searches for shingles, jobs, how-to | Negative keywords | Blocks those searches |
| Vague matching | Phrase and exact match | Ads show only for searches about the job |
| Form spam and price shoppers | Qualifying questions on your form | Low-intent visitors skip it |
| Google optimizing for any lead | Import signed jobs | Google learns which leads become jobs |
Target only your service area
Google's default location option reaches people "likely to be in or regularly present in your targeted location, as well as people who have shown interest in your targeted locations." The same page says to consider "Presence" when: "You only want to target users in specific locations and not users who may be in other locations but are still interested in your product or service" (Google Ads Help: About advanced location options). A roofer can't fix a roof in a city it doesn't serve; set Presence.
Keywords that find buyers
Bid on repair, replacement and inspection searches with a place or urgency in them: "roof leak repair", "roof replacement [city]", "hail damage roof inspection", "roofer near me". Use phrase or exact match. Broad match is Google's default and, in Google's words, "It's critical to use Smart Bidding with broad match" (Google Ads Help: About keyword matching options).
Then block what isn't a customer. Negative keywords "let you exclude search terms from your campaigns", and they "won't match to close variants", so add plurals and synonyms yourself (Google Ads Help: About negative keywords). Common roofing negatives:
| Type | Examples |
|---|---|
| Jobs | jobs, hiring, salary, roofer training, apprenticeship |
| Do it yourself | diy, how to, youtube, video |
| Materials | shingles for sale, home depot, lowes, supply, wholesale |
| Out of scope | any roof type, service or city you don't do |
Each week, add what the search terms report shows; see Google Ads wasted spend.
Lead quality: count signed jobs, not form fills
A spam form fill and a signed replacement count the same in Google Ads unless you say otherwise. Three fixes, in order:
- Count only real calls. For calls from ads, "You set a minimum call length, and every call that lasts at least that long is counted as a conversion" (Google Ads Help: About phone call conversion tracking). A short hang-up then doesn't teach Google anything.
- Send signed jobs back to Google. When a lead becomes an inspection or a signed contract, upload it. Google then bids toward people like your buyers, not your tire-kickers. How to set it up: tracking a lead from Google Ads to a booked job.
- Make your form ask something. Add a question a tire-kicker won't bother with: what the problem is (leak, storm damage, full replacement) and when they want it done. Fewer forms arrive, and the ones that do are easier to call back.
Roofing storm leads: what to change when hail hits
Storm demand comes fast and leaves fast. What to change:
- Budget. Raise it for the days after the storm. Google can spend up to "two times your average daily budget for most campaigns" on a busy day, but caps the month at "30.4 times your average daily budget" (Google Ads Help: About average daily budgets). A higher daily budget is what actually lifts the month.
- Smart Bidding. If you use it, a seasonality adjustment tells it conversion rates will jump for a few days. Google describes it as "an advanced tool for Smart Bidding to predict changes in conversion rates for upcoming short events (1-7 days)" (Google Ads API docs: Create seasonality adjustments).
- Keywords and ads. Add "hail damage", "storm damage roof" and "roof inspection" terms for the hit area, and say what you do: inspect, document, estimate.
- Location. Narrow to the ZIP codes or radius the storm hit.
Before you write the ad, check your state's rules. Offering to cover a deductible is illegal in several states, and Florida requires warnings on solicitations that urge an insurance claim: roofing ads after a storm.
How to get commercial roofing leads
Run commercial roofing as its own campaign, so its budget and results don't mix with homeowners. Bid on the roof system and building type: "commercial roof repair", "flat roof replacement", "TPO roofing contractor", "warehouse roof coating". Add residential words such as "house" and "home" as negatives in that campaign. Judge it on signed contracts over months, not leads per week, which makes importing jobs (above) more important.
What a roofing lead costs
LocaliQ's 2026 benchmarks, from thousands of its customers' Google and Microsoft Ads campaigns, put the Home & Home Improvement category at a $8.33 average cost per click and $90.92 average cost per lead (LocaliQ: Search advertising benchmarks 2026). That category covers more than roofing; your market and season will differ. Judge cost per signed job, not cost per lead.
Example
Residential roofer, form spam
A roofer gets 40 form fills a month and books 4 inspections. It adds "What's the issue: leak, storm damage, full replacement?" to its form and imports inspections as conversions. Fewer forms arrive; more of them book.
Hail storm on a Tuesday
A roofer doubles its daily budget for a week in the affected ZIP codes, adds hail damage keywords, and runs ads offering a free inspection and written estimate, with no deductible offer.
Commercial campaign
A roofer splits out flat-roof and TPO keywords into their own campaign at $1,500 a month, excludes "house" and "home", and measures signed contracts over a quarter, not leads per week.
Different for you?
- Insurance-claim and deductible ads: roofing storm advertising laws.
- Budget across hail and hurricane season: HVAC, roofing and plumbing marketing budget.
- Buying leads instead: are Angi and Thumbtack leads worth it.
- License number in your ads: contractor license number in ads.
- Pay-per-lead Google listings: Google Guaranteed vs Google Screened.
- Want it run for you: Paid Ads.