Google Ads for roofers

Google Ads for roofers built around the $12,000 replacement,

Roofing has the biggest ticket and the most expensive clicks in home services. A replacement lead can cost $250 and be worth $15,000; a leak-repair lead can cost $80 and be worth $400. Storms rewrite the whole calendar in a day. Most roofing accounts pay replacement prices for repair searches and have no storm plan. We split by job value, pre-build storm campaigns, and connect your CRM so signed contracts, not estimate requests, drive the bidding. not the $200 leak.

4.9 from 86 Google reviewsGoogle PartnerExperts on every account
Google Ads for Roofers
Hamid
Written by HamidFounder, DGENCY · Google Ads since 2014 · Updated September 6, 2026
  • $120–250Typical cost per lead; higher after storms
  • 15–30%Estimate leads that become signed jobs
  • $9,500Average replacement job value
  • $6k+/moRecommended starting budget in most metros
The DGENCY method, on film

LEADSTACK™ Five layers. One account that keeps growing.

Most Google Ads accounts are one campaign wearing five hats. LEADSTACK is how we build a lead-gen account instead: the campaign types stacked in the order that pays, each layer fed by the booked jobs the layer below it produced. Below, the stack as we build it for roofers.

0:00 · The leak

You are paying for clicks. You need booked jobs.

Most accounts we audit have one campaign doing five jobs, broad match with no negative list, and Google optimizing toward form fills it never sees close. That is where the budget goes.

0:38 · Layer 1 · Search

Capture the demand that already exists.

Exact and phrase match, split by service value and urgency, with call ads while someone answers the phone. The base of the stack and usually 55 to 70 percent of the budget.

1:12 · Layer 2 · Local Services Ads

Pay per lead, above the ads.

Where the category qualifies, the Google Screened or Guaranteed badge sits above every search ad. We run it beside search, dispute junk leads weekly and compare cost per booked job each month.

1:40 · Layer 3 · Performance Max

Scale, but only on real data.

Performance Max finds more of the people who already book with you, if it is fed booked-job conversions and fenced with brand exclusions and search themes. Switched on in month two or three, never on day one.

2:10 · Layer 4 · Remarketing on display

Bring back the 95 percent who left.

Most visitors do not call on the first visit. A small display budget, 30-day windows and one message per service keeps the quote request alive for a few dollars a day.

2:35 · Layer 5 · Remarketing on YouTube

Be the name they remember.

For long decisions like a roof, an implant or an injury case, six-second bumpers to past visitors cost cents per view and lift branded search and close rate.

3:05 · The loop

Booked jobs flow back to Google. Bids follow revenue.

Offline conversion imports tell Google which clicks became customers, so every layer bids toward the cases that pay. By month three the target is hit, or our fee drops to zero until it is.

Film in production · storyboard preview 0:00 / 3:40

The film is being shot with Hamid this quarter. Until it is live, the storyboard above walks the same chapters.

Who this is for

Google Ads works for roofers who can answer the phone.

We keep the roster short on purpose. These are the roofing company practices we do the most for, and the ones we turn away.

Good fit

  • Licensed, insured, manufacturer-certified where possible
  • A CRM (JobNimbus, AccuLynx, Roofr) you can export signed jobs from
  • An estimator who can be on a roof within 48 hours of a lead
  • Financing available and a real inspection offer

Not yet

  • No license or insurance documents
  • Estimates taking a week to schedule in season
  • Budgets under $150 a day in a competitive metro
Where roofers lose money

Three leaks in most roofing company accounts

We see the same three problems in almost every roofing company account we take over. Each one is fixable in the first month.

01

Repair searches spend replacement budget

"Roof leak repair" and "roof replacement cost" cost about the same per click and are worth wildly different amounts. We separate them and let replacement carry the bids.

02

No storm plan

After hail or wind, search volume triples and out-of-town storm chasers flood the auction. Companies with pre-built storm campaigns and insurance-claim pages win the week; everyone else pays peak prices for scraps.

03

Estimates counted as wins

Roofing closes at 15–30%, so cost per lead says little. We import signed contracts from JobNimbus, AccuLynx or your CRM so Google bids toward the searches that sign.

The audit checklist: mistakes we fix in most roofing company accounts

  • Repair and replacement in one campaign
  • No storm campaign ready when a storm hits
  • Estimate requests counted as the win instead of signed jobs
  • Homepage as the landing page for replacement searches
  • No financing or inspection offer on the page
  • Radius targeting that includes areas crews cannot reach in season
  • No branded campaign to separate referrals from new demand
How booked jobs search

Four moments. Four different campaigns.

The same person searches differently at each stage. Treating them as one keyword list is how roofing company accounts pay big-ticket click prices for small-ticket searches.

01 · Damage or leak"roof leak repair near me", "missing shingles after storm"

Urgent but small. Fast response builds the relationship that becomes the replacement.

02 · Research"roof replacement cost", "metal vs shingle roof", "how long does a roof last"

Weeks of comparison. Educational pages with price ranges and a free inspection offer capture them early.

03 · Estimates"roofing contractors near me", "best roofer [city]", "[company] reviews"

Getting two or three quotes. Reviews, certifications, financing and a clear warranty decide.

04 · Insurance"hail damage roof claim", "roofer who works with insurance"

After storms. Claim-help pages and fast inspections win; storm chasers compete hard.

Benchmarks

What good looks like for roofers

From our roofing company accounts across US metros, 2025–2026. "Typical" is what we see when we take an account over. "Good" is where a rebuilt account lands within 90 days.

MetricTypical accountGood, after the rebuild
Cost per click (search)$12–$45$9–$28 with tight match and area targeting
Cost per lead$120–$250$90–$180 after the rebuild
Lead to signed job15–30%30%+ with 48-hour estimates and financing
Cost per signed replacement$600–$1,500$400–$900
Storm-week cost per lead$200–$400$120–$220 with pre-built campaigns
Average replacement value$9,500Budget weighted toward replacement and storm
Local Services Ads cost per lead$50–$150Run alongside search
Campaign blueprint

How we structure a roofing company account.

Campaigns are split by intent and job value so budget follows the booked jobs worth the most.

ReplacementEstimate request

roof replacement cost · new roof estimate · roofing contractors near me · metal roof installation

RepairBook a visit

roof leak repair · emergency roof repair · missing shingles repair

Storm & insuranceClaim help

hail damage roof · storm damage roof repair · roof insurance claim help

CommercialBid request

commercial roofing contractor · flat roof replacement · TPO roofing

Materials & brandResearch

GAF roofer · standing seam metal roof cost · best roofing company [city]

Negative keywords from day one

  • jobs / salary / crew wanted
  • diy / how to / materials only
  • supply / wholesale
  • roof rack / car
  • free roof (unless a real promo)
  • calculator / estimate tool

Landing page pattern

  • Separate pages for replacement, repair and storm damage, each with an estimate form and phone number
  • Free inspection or estimate offer with a specific turnaround
  • Insurance-claim help explained plainly for storm pages
  • Reviews, license, insurance, manufacturer certifications and years in business
  • Before/after photos of local jobs with the neighborhood named
  • Financing with monthly figures for replacements
Ads that work

Ad copy examples

Written for the person about to call, not for the algorithm. Every headline names the service, the promise or the area.

Replacement campaign · Sponsored
Free Roof Replacement Estimate | New Roof From $149/Month | GAF Certified Roofers in your area
yourpractice.com › replacement

Free inspection and written estimate within 48 hours. Financing available, 25-year warranty, licensed and insured. Book your inspection online.

Storm damage campaign · Sponsored
Hail Damage? Free Roof Inspection | We Work With Your Insurance | Local Roofers · Not Storm Chasers
yourpractice.com › storm-damage

Free storm damage inspection and help with your insurance claim. Licensed, insured, based in [City] for 15 years. Call today.

Repair campaign · Sponsored
Roof Leak Repair Today | Emergency Roof Repair in your area | Upfront Pricing · 4.9★ Rated
yourpractice.com › repair

Leaks, missing shingles and storm repairs fixed fast with upfront pricing. Same-week appointments. Call now.

Offers that move the close rate

  • Free inspection with a written estimate in 48 hours
  • Financing with a real monthly figure for replacements
  • Insurance-claim assistance for storm damage
  • Extended workmanship warranty stated in years
  • Price-match or seasonal replacement discount
Campaign types

Which Google Ads campaign types we run for roofers, and which we skip.

Every campaign type Google offers has a job. Most accounts we audit run the wrong ones, or run the right ones in the wrong order. This is the mix for roofers, in the order it is switched on.

  • CoreRuns from day one and carries most of the budget.
  • ScaleAdded once booked-job tracking is proven, usually month two or three.
  • SupportA small budget with one specific job.
  • Not hereWe would not run it for this account, and we say why.
SearchLSAPMaxDisplay RMKVideo RMK

Starting split of the monthly budget, rebalanced every month by cost per booked job. Shares are the midpoint of each range.

Core45%of budget

Search

Responsive search ads · exact and phrase match
Why it is core

Replacement searches are the highest-value clicks in home services, so they get their own campaign with financing, warranty and the inspection offer. Repair and storm run separately with their own budgets.

How we set it up
  • One campaign per intent tier, never one campaign for everything
  • Exact and phrase match with a shared negative list from day one
  • Ad schedule and bid adjustments around open hours
  • Location targeting by service area, not a city-wide radius
Core20%of budget

Local Services Ads

Google Screened / Google Guaranteed · pay per lead
Why it is core

Roofers qualify for Google Guaranteed. LSA leads run $50 to $150 and are mostly replacement inquiries, so the profile, photos and review count matter as much as the bid.

How we set it up
  • License, insurance and background checks submitted and kept current
  • Junk leads disputed every week
  • Reviews synced from Google Business Profile
  • Cost per booked job compared with search every month
Scale15%of budget

Performance Max

Asset groups across Search, YouTube, Display, Gmail and Maps
Why it is a scale layer

Replacement is a visual sale, and Performance Max with drone and job-site photos works once 20 or more signed jobs are imported. Brand exclusions keep it from cannibalising your own name.

How we set it up
  • Never switched on before offline conversions are flowing
  • Brand exclusions and search themes on every asset group
  • One asset group per service, with real photos rather than stock
  • Lead form questions that filter price shoppers
SupportInside search

Call ads

Call-only ads and call assets on mobile
Why it is a support layer

Roofing buyers mostly request inspections through forms, but repair and storm leads call. Call ads run on the repair and storm campaigns during office hours.

How we set it up
  • Runs only while the phone is staffed
  • Calls under 60 seconds left out of the conversion count
  • Recordings scored weekly so the ad group learns from booked calls
Support6%of budget

Remarketing (display)

Display ads to past visitors and past callers
Why it is a support layer

A roof is a three-quote decision that takes two to four weeks. Remarketing with the warranty and the financing keeps the estimate request alive across that window.

How we set it up
  • Audiences by page visited at 7, 30 and 90 days
  • Frequency capped at three a day
  • One message per service, with the offer in the headline
  • Customers who already booked are excluded
Support4%of budget

Remarketing (video)

YouTube bumpers and skippable in-stream to past visitors
Why it is a support layer

Six-second drone bumpers to inspection-page visitors are cheap and memorable. They lift branded search in the weeks after the first click, which is when the contract gets signed.

How we set it up
  • Six-second bumper cut from a phone-shot founder video
  • Audiences shared from the search and display campaigns
  • Measured on branded search lift and assisted bookings, not views
Not here0%of budget

Demand Gen

Visual prospecting across YouTube, Discover and Gmail
Why we skip it

Prospecting creative earns a place only after a hail or wind event in a market where the budget is above $15,000 a month. Until then search and LSAs produce cheaper signed jobs.

What would change our mind

Lookalikes built from booked customers, not site visitors. Job-site or before-and-after creative. Capped at ten percent of budget until cost per booked job matches search.

Not sure which layers your account is running today? Score it in three minutes, or get the growth plan and Hamid maps your current campaigns to this stack before the call.

Budget plan

How a $5,000 month is split for a roofing company.

A starting split we adjust every month as the cost per booked job comes in by campaign. The highest-value campaign gets the biggest share because one big job can pay for the month.

Minimum we recommend: $6,000 a month, at least $100 a day.

Replacement (search)45%
Estimate bookings for $9k+ jobs
Storm & insurance (standby, scales on trigger)15%
Claim-help inspections in storm weeks
Local Services Ads20%
Pay-per-lead volume with the badge
Repair15%
Fill crews, feed replacement pipeline
Brand + remarketing5%
Protect the name, bring back estimate researchers
Tracking, Local Services Ads and compliance

Measure booked jobs, not clicks

The account can only be optimized toward what it can see. For roofers that means calls with duration, form and booking events, and booked jobs imported back to Google with a value.

01

What we connect

  • Call tracking with recording and duration
  • Signed contracts and completed jobs from JobNimbus, AccuLynx or Roofr imported as offline conversions with value
  • Estimate-form events with duplicate removal and enhanced conversions
  • GA4 + Google Tag Manager
  • Storm-trigger budget rules and pre-built campaign templates
02

Local Services Ads for roofers

Available · $50–$150 per lead depending on metro

Roofing qualifies for Local Services Ads with the Google Guaranteed badge, which matters in a niche where buyers fear storm chasers. We run LSAs alongside search, dispute junk leads weekly and compare cost per signed job by channel.

03

Compliance notes

  • State roofing license and insurance shown where required; storm chasers have made buyers wary
  • Insurance-claim language must not promise to waive deductibles where that is illegal
  • Google Guaranteed (LSAs) requires license, insurance and background checks
  • Manufacturer certifications (GAF, Owens Corning) allowed only when current
Seasonality

The roofing company calendar

Budgets that stay flat all year waste money in quiet weeks and starve the account in busy ones. We plan by week around these moves.

Spring

Post-winter damage and the start of replacement season; volume rises with the thaw.

Storm season (varies by region)

Hail and wind events triple volume for weeks. Storm campaigns must be pre-built and switchable within hours.

Summer–early fall

Peak replacement season; crews book out, so lead flow needs pacing.

Late fall

Pre-winter repairs and last replacements before weather closes the season.

What the first 90 days look like for a roofing company
Weeks 1–2

Tracking rebuilt: call tracking, estimate events, CRM export for signed jobs. Honest cost per signed job.

Weeks 3–4

Replacement, repair and storm campaigns live with negatives, area targeting and job-type pages with inspection offers.

Month 2

Cost per estimate typically drops 20–35%; first signed-job data starts feeding bids.

Month 3

Offline conversions flowing; budget weighted toward the campaigns that sign; storm templates ready to switch on.

Your numbers

What a monthly budget produces for roofers

Benchmarks from our accounts. Move the slider. Estimates, not promises.

$6,000$30k
Typical account today—leads / month—booked jobs / month—revenue / month
With DGENCY—leads / month—booked jobs / month—revenue / month

Assumes cost per lead $180 → −30% and lead-to-customer rate 20% → +25% after tracking and structure are fixed, at $9,500 per booked job. Open the full projector to use your own numbers.

Proof

The proof is in the booked jobs

Numbers our clients get paid on, from accounts in home services.

Summit Air & Heat
HVAC

Summit Air & Heat

Phoenix, AZ · $9,000/mo ad budget
−58%Cost per booked job ($142 to $59)
+188%Booked jobs per month in 5 months
Rebuilt call tracking, cut 1,900 wasted search terms in month one, moved budget to AC replacement in summer and furnace in winter.
8 client stories
★★★★★

“Three agencies before DGENCY. Every one of them sent me a report with a bunch of graphs. Hamid sent me a spreadsheet of booked jobs and what each one cost. That was the whole difference.”

Rick Moreno
Rick MorenoOwner, Canyon Air Conditioning
★★★★★

“They told me in the first call that my landing page was the problem, not the ads. I did not want to hear it. They were right, and signed cases went from four a month to fourteen.”

Danielle Harper
Danielle HarperManaging Partner, Harbor Injury Law
★★★★★

“We are a small practice. I was worried we would be too small for a real agency. Hamid looks at our account personally and my front desk knows exactly which new patients came from ads.”

Dr. Sana Patel
Dr. Sana PatelOwner, Bright Smile Dental
★★★★★

“Our old agency reported clicks. DGENCY reports booked jobs, and the number went from 61 to 140 a month on the same budget once the tracking was honest.”

Marcus EllisonOwner, Summit Air & Heat
★★★★★

“Hamid called our office as a customer before we signed and told us we missed a 4pm call. That is the level of detail. Cost per booked job is down 38 percent.”

Lena OrtizGeneral Manager, TrueLine Plumbing
★★★★★

“Three quotes a week became eleven. The difference was the search terms they cut and the financing line they put in the ad. Nothing fancy, just correct.”

Grant WhitakerOwner, Bluegrass Roofing
★★★★★

“We are a two-attorney firm. They gave us a plan for $5,000 a month and did not try to sell us $20,000. Consults are up 70 percent and the fee is flat.”

Meera NairPartner, Keystone Estate Law
★★★★★

“Quarterly plans at $41 each from Local Services Ads and search together. Our previous agency never turned LSAs on. They did it in week two.”

Tom ReyesOwner, Evergreen Pest Co
How it works and what it costs

Four phases, one flat fee.

The same process on every account. Management from $999 a month, never a percentage of spend; your ad budget is paid to Google in your own account. Three-month minimum, then month to month, with the fee dropping to zero if we miss the written target.

  1. Weeks 1–2

    Audit and tracking rebuild

    We audit the account line by line and rebuild the measurement so that only real leads count.

  2. Week 2

    Blueprint

    A written plan that maps your budget to the services and areas that make you the most money.

  3. Weeks 3–4

    Build

    New campaign structure, ad copy and landing pages, built in your account, owned by you.

  4. Month 2 onward

    Run, learn, scale

    Weekly hands-on optimization with AI doing the heavy lifting and Hamid making the calls that matter.

One-time
$299

Account audit

A line-by-line review of your existing Google Ads account, tracking and landing pages, with a written list of what to fix and what it is costing you. Credited toward setup if you continue.

Pricing details
Monthly
$999 /mo, from

Google Ads management

Full hands-on management by Hamid and an experienced Google Ads strategist. Fee scales with the complexity of the account (service lines, locations, campaign types), not with your ad spend.

Pricing details
One-time
$1,750 from

Setup and build

Everything in phases one to three: tracking rebuild, blueprint, campaign build and the first landing pages. Priced by the number of service lines and locations.

Pricing details
Questions

What roofers ask before hiring us.

More on the FAQ page, or send your numbers with the growth plan request.

How much should a roofer spend on Google Ads?

At least $200 a day and $6,000 or more a month in competitive metros; replacement CPCs are high and the account needs volume to learn. Storm weeks may double that profitably.

What does a roofing lead cost?

$120 to $250 per lead in most metros, more after storms. A signed replacement job typically costs $600 to $1,500 in ad spend against a $9,000 to $15,000 contract.

Do Local Services Ads work for roofers?

Yes, and the Google Guaranteed badge matters in a niche full of storm chasers. We run LSAs alongside search and dispute junk leads weekly.

How do you handle storms?

Storm campaigns, ads and insurance-claim pages are pre-built. When a storm is forecast or hits, they go live the same day with their own budget, then scale hour by hour on what converts.

Can you connect JobNimbus or AccuLynx?

Yes. Signed contracts and completed jobs are imported into Google Ads as offline conversions with value, so bidding learns from what signs.

Should we advertise repairs at all?

Yes, in a separate campaign with lower bids. Repairs keep crews busy and turn into replacements; they just should not spend replacement money.

How fast will we see results?

Tracking fixed in two weeks; a clear drop in cost per signed job typically by the end of month two, given roofing's longer sales cycle.

Do you work with commercial roofers?

Yes. Commercial gets its own campaigns and bid-request landing pages; the sales cycle and value are different.

Hamid, founder of DGENCY
Ask Hamid directly

Send your numbers and get straight answers in the written plan.

Get my free growth plan

“Send your account and your numbers before the call and I will have the five changes ready when we speak.” Hamid, founder

Free growth plan

Let's get roofers a plan.

Send your details and Hamid reviews your account, your market and your competitors before the call, then walks you through the five changes that would move your cost per booked job the most. Twenty minutes, a written plan, no obligation.

  1. Step 01
    Tell us about your business

    Two minutes on the form.

  2. Step 02
    We do our homework

    Website, landing pages, market and, with read access, your account.

  3. Step 03
    You get the plan in writing

    A one-page plan you keep either way, and a call to walk through it if you want one.

1 dayReply time
20 minOn the call
0Sales reps

Request your free growth plan

We reply within one business day. Your details are never shared.