Get an estimate

Google Ads for roofing companies

Google Ads for Roofers

Red Orca Digital runs Google Search and Local Services Ads for residential roofing companies, built by job type so a replacement search never pays repair prices, with a landing page and recorded call tracking. Elijah Nawrot roofed for three years before running ads. From $1,500 a month, one roofer per county.

  • Former roofing foreman
  • One roofer per county
  • Google Partner

Elijah Nawrot · Google Partner · Updated September 24, 2026

See what a lead should cost you

Your trade and county, worked out on a 30-minute screen share. No account access needed.

Type your trade.

Required.

Next: name, email and phone. Then you pick a 30-minute call time.

Step 2 of 2

Required.

Required.

Enter an email I can reply to.

Enter a 10-digit phone number.

Pick one.

Next you pick a 30-minute call time.

Roofers I run ads for

  • Blue Bird Roofing
  • Rlynt Roofing
  • 315 Roofing
  • Charlotte Premier Roofing
  • Clear Exteriors
  • Diakite Roofing & Restoration
  • Four Seasons Construction
  • W Contracting

Roofing results, with the window they came from

$285k
in sold jobs from Google leads in 30 days
Blue Bird Roofing, Round Lake, NY. Local Services and Search. Sept 12 to Oct 12, 2026. Source: Blue Bird's job records in JobNimbus, matched to the Google Ads lead lists.
$265.64
what a real lead cost in the first 30 days after the rebuild
Charlotte Premier Roofing, Charlotte, NC. Non-brand Google Search, calls and form fills only. 30 days, after the rebuild. Source: the Google Ads account, re-counted.
On this page (9)

What should a roofing lead cost?

Work it out from the market before you touch the account, and start with the pessimistic number, because that is the one you plan around. In Houston in September 2026, Keyword Planner's top-of-page bids on searches that mean someone wants a roofer ran from about $13 a click on the low end to $58 on the high end.

Cost per clickClicks that call or fill a formCost per lead
A badly built account$357%about $500
The same market, built properly$2610%about $260
Worked example, Houston roofing searches, September 2026. Both roofers are bidding in the same auction.

The gap between those two is not the market. It is the account. Across my own roofing accounts, Search runs between $266 and $474 per lead, a lead being a homeowner who books an appointment, and the number moves with the trade and the area. So a number near the bottom of that range is realistic, not a sales figure.

That is why the estimate call starts here: what a lead costs in your county, and what a sold roof costs at your close rate.

Why set up Local Services first?

Because the Google Guaranteed block at the top is usually the cheapest lead a roofer can buy, and I set it up for every client either way. But it runs out. It bills per lead, there are only so many leads in a county, and it ranks on your reviews and your distance from the homeowner, not on what you spend.

13.1%
the most of its daily Local Services budget a roofer's account ever spent

usedbudget

A roofing company in upstate New York. Local Services. Fifteen months to Aug 2026, on a $192 a day budget, measured before Local Services moved into Google Ads. Source: the Local Services account.
~78%
of a second roofer's monthly Local Services budget left unspent

usedbudget

A roofing company in upstate New York. Local Services. Monthly, summer 2026, measured before Local Services moved into Google Ads. Source: the Local Services account.

The money is there. The leads are not.

So you do not pick one: Local Services runs until it caps, and Search is how you buy more than the block will give you. Google Ads or Local Services, in full, and why a Local Services budget goes unspent.

Which roofing keyword wastes the most money?

The one that looks best: "roofing contractors" plus your city, on phrase match. Phrase match shows your ad on any search containing that phrase, and every competitor in your town is called Something Roofing.

So a trade-plus-city phrase keyword matches every competitor's brand search in that city. Someone searching a roofer by name has already picked a roofer. You are paying to show up second on a search that was never for you.

I pulled the search terms on one of my own accounts over a summer. That one keyword had taken 52 percent of the campaign's spend and produced a fifth of a lead. The sibling ad group, same kind of keyword in a different county on exact match, had not one competitor name in twenty-seven clicks and nearly three leads.

What I do now: every trade-plus-city keyword goes on exact match, which still catches plurals and word order but stops catching brand names, and the local competitor names go in as negatives before the campaign runs. You can build that list in ten seconds by searching "roofers near me" in your own town and writing down who is in the map pack.

Search terms
  • roof replacement cost near meKeep
  • roofing jobs near meNegative: jobs
  • how to patch a roof leakNegative: DIY
  • [competitor] roofing reviewsNegative: brand
  • new roof estimateKeep
Illustration.

Why one ad group per roofing job?

A repair search and a replacement search cost about the same per click, twenty to twenty-five dollars. One is a $400 job and the other is a $15,000 job. In the same ad group with the same bid, Google spends where the volume is, and the volume is repair. On one account I took over, a single repair keyword had taken 42 percent of the whole campaign on sixteen clicks.

Campaigns
  • Roofing | SearchSearch only
  • Roof replacementLive
  • Roof repairLive
  • Roof inspectionLive
  • Storm damagePaused
Illustration.
Ad groupWhat it catchesIts own bid because
Roof replacementreplacement, new roof, reroofThe job worth the most, so it can pay the most per click
Roof repairrepair, leak, patchSmaller jobs, a lower ceiling
Roof inspectioninspection, estimate, checkOften the first step toward a replacement
Storm damagehail, wind, stormSmall most of the year, cloned into a burst campaign when a storm hits
Genericroofers near me, roofing companyMixed intent, bid in the middle
Brandyour company nameCheap, and stops a competitor bidding on you

Each group carries routing negatives: the replacement group blocks "repair" and the repair group blocks "replacement", so a repair search cannot land on the expensive bid. Those negatives go at ad group level. The things you never do, commercial work, gutters, jobs, DIY, go at campaign level so they are blocked everywhere.

Should a roofing account be built around storms?

Not the whole account. I built one for a Houston roofer whose website leads with a hailstorm banner. Across his four counties, every hail and storm term combined came to under 400 searches a month. "Roofers" alone was 2,900.

Hail is real money when it hits, but it is a week, not a strategy.

So the storm group stays small, and when a hail event hits I clone it into its own campaign with a burst budget for that week. The rest of the year runs on replacement, repair and inspections, because that is what homeowners type when there is no storm. If your site leads with hail, it is talking to a small slice of your market.

What should happen after a homeowner clicks?

Roofing leads call. A hail lead calls immediately. So the page after the click needs a tracked phone number on the first screen as a real tap-to-call link, one short form above the fold, no menu that leaves the page, and the same offer the ad promised in the same words.

I load every client's current site on a phone before I do anything else. On that Houston roofer, the first phone screen had a headline, a photo and a button. The number was behind the menu and again at the very bottom, and the button loaded a second page before a homeowner saw a form field. That is why every account gets its own landing page as part of the build.

Blue Bird Roofing's landing page on a phone
Blue Bird RoofingRoofing · Round Lake, NY
Rlynt Roofing's landing page on a phone
Rlynt RoofingRoofing · Katy, TX

How should a new roofing account bid?

Not the way Google suggests on day one. Smart bidding learns from conversions, and a new roofing account has none, so asking it to optimise for a cost per lead it has never seen gets you weeks of unstable bids.

I start on Maximize Clicks with a ceiling, around $30 a click in a market like Houston, while call tracking proves it is counting real phone calls. Only after fifteen conversions in a thirty-day window, twice in a row, with tracking I have checked, does it move to Maximize Conversions.

Conversion goals are set per campaign with account defaults off. I have seen a Search campaign under-count by about half because it was running account default goals and nobody knew.

Is this for commercial roofers?

No. This is built for roofers selling homeowners a new roof. A commercial-led company, TPO and EPDM for property managers and general contractors, needs different keywords, a different page and usually a different channel, and Local Services is built for homeowners. If most of your work is commercial, I'll say so on the call rather than sell you a residential account.

What does it cost a roofing company?

$1,000 once to build, then from $1,500 a month, which covers ad spend up to $10,000 a month. Ad spend is separate, at least $2,000 a month, paid straight to Google and never marked up, and Local Services leads are billed by Google per lead.

Month to month, and one roofing company per county: once a roofer signs in a county, I won't work against them there. The totals are on the pricing page, and how the rest of the build works is on Google Ads for contractors.

Elijah carrying a bundle of cedar shakes on a roofing jobThenElijah Nawrot
Elijah Nawrot, founder of Red Orca Digital

Who you are hiring

I roofed before I ran ads for roofers.

Three years on roofs, foreman at my cousin's company in upstate New York. Then four years running paid marketing for roofing companies. I know what a lead is worth because I have loaded the truck for the job it turned into.

That is why every account I run is built around booked jobs, not clicks, and why I'll tell you when your budget is too small for Search to pay. I am Elijah, and you deal with me directly.

  • 3 yrson roofs, foreman at my cousin's company
  • 4 yrsrunning paid ads for roofing companies
  • 1point of contact: me
Google Partner badge

Red Orca is a Google Partner, and I am certified in Google Ads Search. Google checks both.

More about how I work

Questions

Questions roofers ask.

Do you run storm and insurance campaigns?

Storm terms get a small ad group all year and a burst campaign when a real event hits your area. The account is not built around storms, because most of the year homeowners are searching for replacement, repair and inspections.

Do you advertise gutters or siding for a roofer?

Only if you want those jobs and they are worth it. By default gutters are blocked at campaign level so they cannot eat the roofing budget. Siding can run as its own campaign if it is a real part of your business.

What about metal roofing?

If you install it, metal usually gets its own campaign, because the job value and the buyer are different from asphalt. It should never share a budget with repair.

Is my county still open?

One roofing company per county, or a 30-minute radius around your location instead. I'll tell you straight on the estimate call if yours is taken.

Do I need to be running Google Ads already?

No. If you are not running anything yet, the estimate covers how many people search for a roofer in your county, what a lead should cost, and how I'd set up your first account.

Who actually runs the account?

Me. I roofed for three years, foreman at my cousin's company in upstate New York, then spent four years running paid ads for roofing companies. You deal with me, not an account manager, and I sign off on every change.

Your estimate

What should a roofing lead cost in your county?

Thirty minutes on a screen share: expected lead cost, cost per sold roof at your close rate, and the budget your county takes.

  • One roofer per county
  • No account access needed
  • If the numbers don't work, I'll say so
  1. Your trade and county
  2. Pick a call time on the next screen
  3. 30-minute screen share

See what a lead should cost you

Type your trade.

Required.

Next: name, email and phone. Then you pick a 30-minute call time.

Step 2 of 2

Required.

Required.

Enter an email I can reply to.

Enter a 10-digit phone number.

Pick one.

Next you pick a 30-minute call time.

Get my estimateText