Paid ads

Google Ads for Roofers: Setup, Budget, and What a Lead Costs

Google Ads can hand you a roofing lead the same afternoon you turn it on. It can also burn through a month of budget on job seekers and DIY searches if nobody's watching it. Here's how the setup, the cost, and the follow-up actually work.

Residential home with a shingle roof and front yard

Search ads versus Local Services Ads for roofers

There are two different paths into Google’s paid results, and roofers often run both without realizing they’re different products with different rules.

Search ads (what most people mean by “Google Ads” or “roofing PPC”) are the standard pay-per-click listings above the organic results. You pick keywords, write ads, set a budget, and pay per click. You control the landing page, the offer, and everything a homeowner sees after they click. This is the more flexible option, and it’s where most of the setup work in this guide applies.

Local Services Ads (LSAs) are Google’s separate program built for home service businesses, roofing included. They show above regular search ads with a “Google Guaranteed” badge, and you pay per lead instead of per click. Setup requires a background check and license verification, which takes some of the guesswork out for homeowners who are nervous about who they’re letting on their roof.

For a residential roofer, the honest answer is usually both, not one or the other. LSAs tend to produce leads with less work up front because Google handles more of the trust-building, and the pay-per-lead structure means you’re not paying for a click that bounces without contacting you. Search ads take more setup and ongoing management, but they give you control over targeting, messaging, and where the click lands, which matters once you’re trying to compete on more than just being available.

A roofer running LSAs alone tends to hit a ceiling fast, because lead volume through the program is capped by your budget and your response rate to past leads. Search ads don’t have that same ceiling, which is why most roofers who scale past a certain point end up running both side by side rather than picking one. Paid social is a third leg worth running alongside both. See roofing facebook ads for how that channel fits into the mix and where it does something search ads can’t, mainly reaching homeowners who aren’t actively searching yet but will be soon.

What roofing PPC costs

Cost per click and cost per lead for roofing keywords vary a lot by market, season, and how much competition is bidding in your area. Storm season in a hail-prone region can push costs up fast as every roofer within fifty miles turns on ads at once. A slow winter month in a smaller market looks nothing like that.

Rather than quote a number that won’t hold up outside a specific market and month, treat these as the ranges to sanity-check against your own account, sourced from PPC Chief’s 2026 roofing CPC data and SearchLight Digital’s Q1 2026 benchmark (spend-weighted data across 15 roofing contractors and $347,421 in tracked ad spend):

  • Cost per click for competitive roofing terms: $10 average nationally, with a real range of $15 to $65 depending on market
  • Cost per lead (a completed form or call) for residential roofing: around $125 at the median, with the middle half of accounts landing between $80 and $256
  • Reasonable starting monthly budget for a single-location roofer testing search ads: $2,000 to $3,000, enough for roughly 16 to 24 leads a month at average cost per lead

If a quote from an agency or a number you’re seeing in your own account falls way outside those ranges, that’s worth a second look before you commit more spend. For the bigger picture, how paid ads fit against the rest of your marketing budget, see how much does roofing seo cost.

The number that actually matters more than cost per click is cost per booked job, not cost per lead. A cheap lead that never gets answered costs you more than an expensive one that closes. That connects directly to the follow-up piece further down.

A few things tend to move roofing PPC costs more than anything else. Season is the biggest one: a hailstorm can double or triple bids overnight as every roofer in the path turns on ads at once, then costs fall back once the rush passes. Market size matters too, a roofer in a dense metro is bidding against more competitors than one in a smaller town, even for the same keyword. And how tightly you’ve built out negative keywords and match types affects cost per lead as much as anything you bid, since a cleaner account spends less on clicks that were never going to convert in the first place.

Campaign setup: keywords, match types, negatives

A roofing search campaign generally splits into a few keyword themes, each in its own ad group so the ad copy can match the search closely:

  • Replacement intent: “roof replacement [city],” “new roof cost,” “roof replacement near me”
  • Repair intent: “roof leak repair,” “roof repair [city],” “emergency roof repair”
  • Storm and insurance: “storm damage roof repair,” “hail damage roof inspection”
  • Brand and company searches: “roofing company [city],” “roofing contractor near me”

Start with phrase match and exact match rather than broad match. Broad match casts a wider net, but for a roofer on a modest daily budget, it tends to spend money on searches that only loosely relate to what you sell. Phrase and exact match cost more attention to build out, but they keep spend closer to people actually looking to hire a roofer.

Negative keywords are just as important as the keywords you’re bidding on, maybe more. Every roofing account should exclude at minimum:

  • DIY searches: “how to,” “diy,” “tutorial,” “install yourself”
  • Job seekers: “careers,” “jobs,” “salary,” “hiring,” “apply”
  • Unrelated materials that share vocabulary with roofing: things like corrugated plastic, canvas carports, and other products that show up in shared keyword auctions but have nothing to do with a residential roof

Build a negative keyword list before launch, then review the search terms report weekly for the first month. New junk searches show up constantly, and catching them early is the difference between a clean account and one that’s quietly leaking budget on clicks that were never going to become a job.

For examples of what strong roofing ad copy actually looks like next to weak, generic copy, see roofing ads examples.

The landing page and the form

The page a click lands on decides whether that click was worth paying for. Sending paid traffic to your homepage instead of a page built for that specific search is one of the most common and most expensive mistakes in roofing PPC.

A landing page built for paid traffic should do a few things well. Load fast: a slow page loses homeowners before they see anything, and a page that loads in under two seconds keeps far more of the traffic you already paid to get there than one that takes five or six. Match the offer to the ad that got them there: someone who clicked a “roof leak repair” ad should land on a page about roof leak repair, not a general services page. Keep the form short: name, phone, and a line about the problem is enough. A ten-field intake form feels like paperwork before anyone’s even talked to you.

Trust signals matter more for roofing than for a lot of other services, because a homeowner is letting a stranger on their roof and, often, dealing with insurance at the same time. Real photos, a clear service area, and a straightforward way to reach a real person do more work than a long list of certifications nobody reads.

Reading the numbers weekly

A roofing PPC account left alone for a month is an expensive habit. The numbers worth checking on a weekly cadence:

  • Search terms report: what people actually typed before your ad showed up. This is where new negative keywords come from.
  • Click-through rate by ad group: a sudden drop usually means a competitor changed their offer or your ad got stale.
  • Cost per lead: rising cost per lead with flat or falling lead quality is the earliest warning sign something needs adjusting, before it shows up in the bigger number nobody wants to see, cost per booked job.
  • Conversion rate by landing page: if one page converts at half the rate of another with similar traffic, that page has a problem worth fixing before sending it more clicks.

None of this matters if the leads that do come in sit in an inbox unanswered. A roofing lead that gets a real response in minutes converts at a meaningfully different rate than one that waits an hour, and paid search is the most expensive place for that gap to show up, because you paid for every one of those clicks. If you want a sense of what slow follow-up is costing on your current lead volume, the Lead Leakage Calculator is a free five-minute way to check.

When to hire it out

Plenty of roofers run their own Google Ads account for a while, and for a smaller budget with one or two campaigns, that’s often the right call. The math changes once a few things happen: your budget grows past what you can watch closely between jobs, storm season creates spikes that need daily attention instead of weekly, or you notice cost per lead climbing without a clear reason and don’t have the time to dig into the search terms report and fix it.

At that point, the question isn’t whether paid ads work, it’s whether anyone has the hours to run them well every week. An agency that treats your account like it’s their own money, reviewing search terms, tightening negatives, and testing landing pages instead of setting a campaign once and letting it coast, is worth paying for. Relay’s lead generation keeps every lead exclusive to one roofer per area rather than selling the same click to three competitors, and pairs the ad spend with the follow-up system that decides whether those leads actually turn into booked jobs.

Google Ads is one leg of a longer system, not the whole race. For how paid search fits with SEO, your website, and what happens after the lead comes in, see the full roofing marketing guide.

Ready to stop losing jobs you already paid for?

We'll look at your market and show you where leads are slipping through. No contract, no pressure.