Google Ads for Roofing Companies: The Complete Strategy Guide (2026)

In this article

I want to start this with something honest.

Most people writing about Google Ads for roofing have never actually run a roofing campaign. They have researched it. They have read about it. They have compiled information from other blogs and packaged it nicely.

I have actually done it.

I managed Google Ads for a roofing company in Des Moines, Iowa. 20 years in business. Established reputation. Zero presence on Google Ads. Complete ground zero start.

CPL came down to $382. Break-even was $630. Click cost averaged $22 across the account.

This guide is built from that experience, from the Google ads framework I have spent years building, and from everything I have learned managing over $50 million in ad spend across industries.

If you are a roofing business owner who wants to understand Google Ads before handing it to someone, this is for you. If you are running roofing campaigns yourself, this is also for you.

Let us get into it.

Why Roofing Is One of the Hardest Industries to Run Google Ads In

Roofing is not a soft industry.

Clicks cost $22 to $42 on average. In major metros like Dallas, Phoenix, and Atlanta, keywords like “roof replacement near me” regularly hit $40 to $50 per click. The industry median CPC is around $10.70 nationally but that number is misleading – in competitive markets you are looking at $25 to $45 for anything that actually converts. That much competitive is the Roofing landscape that makes Google ads auction so hot and costly with hyperlocal bidders.

The conversion rate is brutal too. The industry average click to lead rate for roofing is just 3.7%. That is the lowest in all of home services. The home services average is 7.33%. Roofing is less than half that.

So you are paying a lot per click. You are converting a small percentage of those clicks. And you are competing against companies who have been running ads for years and have accounts full of data.

Why does any of this make sense then?

Because the math works beautifully when you do it right.

A roofing job is worth $8,000 to $15,000 on average. Some go higher. A roof replacement in Des Moines at $10,000 – if your CPA is $382 and you close 1 in 4 leads – you spent $1,528 to bring in $10,000. That is a 6.5x return before you even talk about repeat business, referrals, or the fact that one happy customer in a neighbourhood can turn into three jobs.

The math works. But only if you set it up right from the beginning.

Start Here: The Unit Economics of Roofing Google Ads

Before you touch a campaign, before you pick a keyword, before you build a landing page – you need to know your numbers.

This is Pillar 3 of the way I think about Google Ads. Unit Economics. And in roofing it is absolutely critical because the cost per click is so high that bad economics will bankrupt a campaign fast.

Here is the framework I use.

Average job value. What does a typical roof replacement or repair job bring in? Be honest. Not your biggest job. Your average. For most residential roofing companies this is somewhere between $8,000 and $12,000. Let us use $10,000.

Gross margin. Roofing margins run 20 to 40 percent depending on your operation, materials costs, and crew structure. Let us use 30 percent. So $3,000 gross profit per job.

Close rate. How many leads does it take to close one job? Industry average is around 25 to 30 percent. If you have a strong sales process and fast follow-up, you can push this to 35 to 40 percent. Let us use 25 percent to be conservative.

Maximum CPA. With a 25 percent close rate, you need 4 leads to close 1 job. If you are willing to spend 10 percent of job value on acquisition – $1,000 – then your maximum cost per lead is $250.

Break-even CPA. This is different. At $3,000 gross profit and 4 leads to close 1 job, your break-even lead cost is $750. Spend more than that per lead and you are losing money.

For my Des Moines client their break-even was $630. We were bringing leads in at $382. That is a healthy margin. That is what you are targeting.

Here is the practical table:

Average Job ValueGross MarginClose RateMax CPL (10% of job)Break-even CPL
$8,00025%20%$160$400
$10,00030%25%$250$750
$12,00035%30%$360$1,400
$15,00040%35%$428$2,142

Do this math before you run a single ad. If you do not know these numbers, you are flying blind. And in an industry where clicks cost $22 to $42, flying blind is expensive.

The Offer: What Actually Gets People to Fill Out the Form

Free inspection.

Every roofing company offers a free inspection. Every single one. When every competitor offers the same thing, your offer means nothing. It does not differentiate you. It does not give someone a reason to choose you over the 6 other roofing ads showing alongside yours.

For my Des Moines client we came up with something different.

$1,000 discount on total cost for any job above $8,000.

Think about why this works better.

First, it filters out the tyre kickers. Someone calling about a $500 patch repair is not your ideal customer. Someone excited about a $1,000 discount on a full replacement – that is exactly who you want.

Second, it is tangible. A free inspection is a service. A $1,000 discount is money. Real money that a homeowner can see, feel, and calculate. “If I book with these guys I save $1,000” is a much clearer value proposition than “these guys will come look at my roof for free.”

Third, it qualifies the job size. The $8,000 threshold means only people considering a proper replacement or significant repair engage. Your average job value immediately improves.

Other offers that work in roofing beyond the standard free inspection:

Financing with monthly payment framing. “$189 per month with 0 percent financing” converts better than “starting at $9,500” because it removes the sticker shock. People buy on monthly payments. Present it that way.

Insurance claim handling. For storm damage campaigns specifically, “we handle your entire insurance claim process” is gold. The homeowner’s biggest fear after storm damage is dealing with the insurance company. Remove that fear in your offer and you remove the biggest conversion barrier.

Neighbour discount. If you are already working in a specific street or neighbourhood, “we are already in your area – get a special rate because our crew is already mobilised” is a hyper-local offer that feels exclusive and urgent.

Whatever your offer is, it needs to be on the landing page above the fold. First thing they see. Not buried below testimonials. Front and centre.

Campaign Structure: Why Consolidation Is the Right Call for New Accounts

I get asked this question constantly. How do I structure a roofing campaign?

The answer depends on one thing more than anything else: how much data do you have?

For my Des Moines client it was a brand new account. Zero data. Zero conversion history. Zero signal for Google’s algorithm to work with. They had been in business 20 years but had never run Google Ads.

In that situation there is only one right answer.

Consolidate.

This is Pillar 7 of how I think about Google Ads. Campaign Structure. And the golden rule for data-poor accounts is: fewer campaigns, fewer ad groups, cleaner signal.

Here is what we built.

One campaign. Three tight ad groups.

Ad Group 1 – Roof Replacement. Keywords like “roof replacement Des Moines,” “new roof installation,” “residential roof replacement.”

Ad Group 2 – Roof Repair. Keywords like “roof repair Des Moines,” “emergency roof repair.”

Ad Group 3 – Storm Damage. Keywords like “hail damage roof repair,” “storm damage roofer,” “roof damage insurance claim.”

That is it. No separate campaigns for every service. No 15 ad groups. No complexity.

Why? Because Google’s algorithm needs data to optimise. When you spread your budget across 5 campaigns and 20 ad groups, each one gets a trickle of data. Nothing gets enough data to learn. Nothing gets enough conversions to allow smart bidding to kick in.

When you consolidate into one campaign with a focused budget, all your data flows to one place. Google learns faster. Your conversion tracking builds faster. Your smart bidding has something to work with sooner.

The consolidation approach works. I have seen it over and over. Accounts that were spread thin across too many campaigns, consolidated down, and immediately started performing better.

As you get data – more conversions, more history – you can start to separate. But in the beginning, consolidate.

Keywords and Match Types: Be Very Careful Here

In roofing every wasted click is $22 to $42 gone.

That is why for my Des Moines client I was almost obsessive about keyword selection and match types.

Exact match keywords only in the beginning.

I know the argument for broad match with smart bidding. I believe in it when you have data. But when you have zero conversion history, zero account data, and clicks costing $22 to $42, broad match means Google is guessing. And Google’s guesses in a brand new account can be very expensive.

Exact match gives you control. You know exactly what search query is triggering your ad. You can see every click coming in and decide if it is relevant or not.

Yes, you miss some volume. But you do not miss $300 in wasted clicks on someone searching “roofing jobs hiring near me” or “roofing materials wholesale” or “how to repair a roof yourself.”

Here is the truth about keywords in roofing. The high-intent keywords are the ones that cost money.

“Roof replacement near me” – $35 to $42 “Emergency roof repair” – $25 to $45 “Roofing company near me” – $20 to $35 “Roof leak repair” – $18 to $28 “Storm damage roof repair” – $22 to $40

The cheaper keywords are cheaper because they are lower intent. “What does a roof replacement cost” is someone researching, not buying. “Metal roofing” is broad curiosity. These generate clicks that rarely convert.

Focus your budget on the terms that indicate buying intent. They cost more per click but deliver far more per conversion. That is how you get a $22 average CPC in a market where individual keywords hit $40.

Negative keywords are not optional. They are survival.

Before you launch, add at minimum:

Jobs, hiring, salary, career, employment, DIY, how to, tutorial, YouTube, free (unless your offer includes “free”), cheap, cheapest, supply store, materials, wholesale, Home Depot, Lowes, Menards, windows, gutters, siding, HVAC, painting.

Then check your search terms report every single day for the first month. Every day. Add negatives aggressively. In roofing, the difference between a tight search terms report and a loose one can be $1,000 to $2,000 per month in wasted spend.

Bid Strategy: The Right Approach at Each Stage

This is Pillar 6. Bids and Budgets. And in roofing the phased approach is everything.

Phase 1 – Foundation (Day 1 to Month 3 roughly).

Manual CPC. Tight exact match keywords. Daily budget of $150 to $200 to start, depending on your market.

Why manual CPC? Because smart bidding needs data. Minimum 15 to 30 conversions per month before it can optimise properly. In a brand new roofing account you will not have that on day one. If you launch with Target CPA when you have zero conversions, Google has nothing to learn from. The campaign flounders.

Manual CPC means you set the bids. You are in control. You watch where money goes.

In Des Moines we ran at $180 per day. We were getting 5 to 6 clicks per day. That is it. Roofing clicks are expensive and volume is naturally limited in a defined geographic area.

For the first 45 days – not a single conversion. Not one.

This is normal in roofing. The sales cycle is long. Someone clicks your ad, considers it for weeks, maybe gets a couple of quotes, then books. The attribution is not immediate.

While waiting for that first conversion, we did not sit still.

We tracked everything. Microsoft Clarity for session recording – watching how people moved through the landing page, where they dropped off, what they clicked. We set up micro conversions – phone number clicks, form starts, scroll depth. These do not count as leads but they tell Google something is happening. People are engaging. That signal matters.

After 45 days the first real conversion came in.

Phase 2 – Expansion (Month 3 to Month 5 roughly).

After hitting 30 conversions per month, switch to Maximize Conversions. Let Google start optimising. Continue adding negatives. Continue refining.

In Des Moines we reached 30 conversions per month roughly 3 months after that first conversion. So about 4.5 months into the account.

At that point we moved to Maximize Conversions. Kept a close eye on CPL. Watched for the algorithm to stabilise.

Phase 3 – Scaling.

Once Maximize Conversions is running stably and CPL is in a healthy range, you move to Target CPA with your desired cost per lead. You can now begin to separate campaigns if the data supports it. Storm damage as its own campaign. Commercial as its own campaign. Brand defence campaign.

This is the Bottom-Up Success Framework in action. Foundation first. Expansion second. Scaling third. Most advertisers try to skip to phase three before they have earned it. That is why most roofing Google Ads campaigns fail.

Types of Campaigns: What to Run and When

For a roofing company in 2026 there are three campaign types that matter.

1. Google Search Ads – Your primary workhorse.

This is where the high-intent traffic lives. People typing “roof replacement near me” are ready to get quotes. This is where you should put the majority of your budget – roughly 65 percent.

Search ads give you control. You choose the keywords. You write the ad copy. You see exactly what searches trigger your ads. For a local service business where every lead matters, that control is valuable.

2. Local Service Ads (LSA) – Run these alongside search.

LSAs sit above regular search ads. They show the Google verified badge – a green checkmark that signals to homeowners that Google has verified your business. That badge is incredibly powerful in a high-trust industry like roofing.

The cost model is pay-per-lead, not pay-per-click. Roofing LSA leads run $25 to $95 per lead – significantly cheaper than search leads. And the conversion rate from LSA lead to booked job is roughly 31 percent versus 12 percent for search leads.

The downside is limited control. You cannot choose specific keywords. You cannot craft the ad copy the same way. Your ranking depends heavily on review count and how fast you respond to leads.

Allocate around 30 percent of your budget to LSA once you have at least 20 Google reviews. Below that threshold your LSA ranking will be weak.

How to Optimize Local Services Ads for Roofers

Local Services Ads sit above everything else on the page, including your search ads, and they carry the green Google Guaranteed badge that tells a homeowner Google has vetted your business. For roofing, a high-trust purchase where someone is about to spend $10,000, that badge is worth a great deal. But LSAs are ranked and optimised completely differently from search ads, and most roofers leave the biggest levers untouched. Here is how to actually optimise them.

Reviews are the number one ranking factor. Your LSA position depends heavily on your Google review count and rating. A roofer with 200 reviews at 4.9 stars will consistently outrank one with 40 reviews at 4.7, all else equal. This is why review generation is not a “nice to have” for roofers running LSAs, it is the core optimisation activity. Build a process: after every completed job, send the customer a text with a direct link to your review page. Do not push meaningful LSA budget until you have at least 20 reviews, because below that your ranking will be weak no matter what you spend.

Response time is the second lever, and it is ruthless. LSAs rank you partly on how fast you respond to leads. A lead you answer in minutes helps your ranking; a lead that sits helps your competitor’s. Since roofing leads not contacted within five minutes convert roughly 80% less anyway, fast response wins you both the ranking and the job at the same time. Answer every LSA lead immediately.

Dispute every junk lead, every time. Because LSAs charge per lead rather than per click, a bad lead is money out of pocket, but Google lets you dispute leads that are out of your service area, for a service you do not offer, or clearly spam. Roofers who dispute diligently lower their effective cost per lead and signal lead quality back to Google. Roofers who ignore disputes overpay. Make disputing part of your weekly routine.

Get your services and area exactly right. LSAs do not use keywords; they match on the services and service area in your profile. Set your service categories precisely (roof repair, roof replacement, storm damage) and your area to exactly where you can profitably work. Too wide and you pay for leads you cannot serve well; too narrow and you miss volume.

Turn on and manage your budget by season. LSAs let you set a weekly budget and, importantly, you can raise it hard during a storm surge to capture the flood of high-intent damage leads, then dial it back. Treat the LSA budget as a live lever, not a set-and-forget number.

Run properly, LSAs deliver roofing leads at roughly $25 to $95 each, far below search, and convert to booked jobs at around 31% versus about 12% for search leads. That combination, cheaper leads that close more often, is why LSAs deserve around 30% of a roofing budget once your reviews support them, running alongside your search campaigns rather than instead of them.

3. Storm Damage Campaign – Build it now, keep it paused.

This is the one nobody talks about.

Build a complete storm damage campaign – keywords, ads, landing page, everything – and keep it paused. The moment a hail storm or wind event hits your service area, you activate it within hours.

Why does speed matter here? Because every roofing company in your market is scrambling to set up storm campaigns after the event. You are already set up. You are live while they are still building. You capture leads in the first 24 to 72 hours when urgency is highest and competition is lowest.

Storm damage keywords: “hail damage roof repair [city],” “storm damage roofer near me,” “roof damage after hail,” “insurance roof claim [city].”

Geofence it to the specific zip codes hit by the storm. Set a higher budget for 2 to 4 weeks – increase by 50 to 100 percent. Storm leads close faster – 67 percent close rate versus 33 percent for standard replacement leads – because urgency is real and insurance is often covering the cost.

The Storm Surge Playbook: What Happens When One Storm Creates a Thousand Jobs

Building the paused storm campaign is step one. Knowing what to do when it fires is where roofers either capture a career-defining month or watch the opportunity go to a competitor. A single significant hail or wind event can create hundreds or even a thousand potential jobs in a service area in one afternoon. Here is how the account has to behave when that happens, because it is not the same as normal management.

Hour zero to seventy-two: speed beats everything. The moment the storm hits your area, activate the paused campaign and geofence it to the exact zip codes that took damage. Every roofer in the market is scrambling to build a storm campaign after the event. You built yours in advance, so you are live while they are still writing ad copy. The first 24 to 72 hours are when urgency is highest, competition is lowest, and cost per lead is at its best of the entire year. This is the whole reason you built it paused.

Budgets have to move fast, and bidding behaves differently. In a surge, your normal daily budget will cap out by mid-morning and you will go dark for the most valuable searches you will ever see. Raise the storm campaign budget by 50% to 100%, or more, for the two to four weeks the surge lasts. If you are on an automated bid strategy, understand that a sudden volume spike changes what the algorithm sees; a target CPA set for normal times can throttle delivery exactly when you want maximum volume, so many operators loosen the target or move to maximize conversions during the surge, then tighten again after. The account you run in a storm is not the account you run in a normal month.

The phone is the bottleneck, not the ads. This is the part nobody plans for. A storm campaign can generate more leads in a week than you normally get in a quarter, and storm leads close at roughly 67% versus 33% for standard replacement, because the damage is real and insurance is often paying. But storm leads also call every roofer in the top results at once, and the one who answers first wins. If your team cannot handle the call volume a surge creates, you are paying premium storm-season clicks to send leads to voicemail, which hands them to the competitor who picked up. Before storm season, decide how you will handle a 10x call spike: extra phone coverage, an answering service that can dispatch, a triage process. The ads are the easy part. Answering the flood is the hard part, and it is where the money is won or lost.

After the surge, normalise deliberately. When the storm demand fades, do not leave the surged budget running or you will overspend into thin demand. Pause or dial the storm campaign back to standby, return your core campaigns to their normal targets, and capture the reviews, storm jobs done well are a flood of five-star reviews that will lift your Local Services Ads ranking for months afterward.

Storm surges are the single biggest opportunity in roofing Google Ads, and they reward preparation over reaction. The roofer who has the campaign built, the budget plan written, and the phone coverage arranged before the clouds roll in is the one who turns one afternoon of hail into the best month of the year.

Conversion Tracking: Non-Negotiable

This is Pillar 5. Conversion Tracking. And in roofing there is no excuse for not tracking everything.

If you cannot track what is converting, you cannot optimise. If you cannot optimise, you are just spending money and hoping.

Here is what needs to be tracked from day one.

Phone calls. Not just calls from the ad. Calls from the landing page too. Use Google Ads call tracking or a third-party tool. Every call that lasts more than 60 seconds should be counted as a lead.

Form submissions. Every completed important form on the landing page. Straightforward.

Micro conversions. Phone number clicks. Button clicks like schedule now or book now. These are not real leads but they are engagement signals. They tell Google’s algorithm that people are interacting with your ads and landing pages. In the early stages of a new account when you have zero leads, these micro conversions give the algorithm something to learn from.

Microsoft Clarity. Not a Google Ads tool but run it alongside everything. Session recordings showing exactly how people navigate your landing page. Heatmaps showing where they click. Scroll maps showing how far they get before dropping off. This is how you find landing page problems you would never see from conversion data alone.

Do not wait until you have a problem to set up tracking. Set it up before you launch. Every day without proper tracking is a day of data you can never recover.

The Landing Page: This Is Where Most Roofing Campaigns Die

I have seen it dozens of times.

A roofing company spends $3,000 to $5,000 per month on Google Ads. Good keywords. Decent ads. And the landing page sends people to the generic homepage.

Or worse – a homepage that takes 8 seconds to load on mobile. With navigation links going in 10 different directions. With no clear call to action. With stock photos of roofs instead of actual local jobs.

That is not a traffic problem. That is a landing page problem.

For my Des Moines client we worked hard on the landing page. Really hard. Because we understood that with a 3.7 percent industry average conversion rate, getting to 8 to 10 percent is the single biggest lever for reducing CPL without touching bids.

Here is what the landing page needs. Non-negotiable elements.

Above the fold – everything that matters.

Headline that matches the search query. If someone searched “roof replacement Des Moines” the headline should say something like “Roof Replacement in Des Moines – Free Estimate + $1,000 Off Jobs Over $8K.” Match what they searched. Immediately.

Short form. Four fields maximum. Name, phone, address or zip code, service needed. That is it. Every extra field you add drops conversion rate. Skip email in roofing – phone is how this industry works.

Phone number. Big. Clickable on mobile. At the top of the page. Some people will not fill out a form. They will call. Make it impossible to miss.

Trust bar. Right below the header. Google review rating and review count. BBB accreditation. Any manufacturer certifications – GAF Master Elite, Owens Corning Platinum Preferred, CertainTeed SELECT. Licensed and Insured badge. These are not decoration. In a high-trust industry like roofing where someone is spending $10,000 based on a website they landed on 30 seconds ago, trust signals are everything.

Below the fold – the supporting case.

How it works. Three simple steps. “1. Call or fill out the form. 2. We inspect your roof free. 3. You get a detailed quote same day.” People need to understand what happens next. Uncertainty kills conversions.

Real project photos. Before and after. Local jobs, not stock images. Homeowners want to see actual roofs you have replaced in their area. Not a perfect roof from a stock photo library. Four to six real photos make a significant difference.

Genuine reviews. Not star ratings – actual quotes from real customers with names. “Anand and his team replaced our roof in one day. The whole process was stress-free. We highly recommend.” Specific, personal, believable.

Financing information. Monthly payment framing. “$189 per month with approved credit” right there on the page.

Service area. A map showing your coverage area. This reassures homeowners you actually service their neighbourhood.

Technical requirements.

Mobile first. More than 70 percent of roofing searches happen on mobile. If your landing page is not designed for mobile first it is broken.

Load speed under 3 seconds. Every second of load time costs you conversions. 53 percent of mobile users leave if a page takes more than 3 seconds to load. Check yours on Google PageSpeed Insights today.

No navigation menu. This is a landing page, not a website. Every navigation link is an escape route. Remove the header navigation. Keep the header simple – logo, phone number, trust badge.

Sticky call button on mobile. A “Call Now” button that follows the user as they scroll. Roofing converts heavily on phone calls. Make calling the easiest possible action at every scroll position.

One landing page per campaign. Not per account. Per campaign.

Your roof replacement campaign sends traffic to a roof replacement landing page. Your storm damage campaign sends traffic to a storm damage landing page. Your roof repair campaign sends traffic to a roof repair landing page.

The ad makes a specific promise. The landing page must keep that specific promise. The moment there is a disconnect between what the ad says and what the landing page shows, you lose the lead and hurt your Quality Score.

Targeting: How to Dominate Your Local Market

Roofing is hyper-local. You are not selling to the whole country. You are selling to homeowners within 15 to 25 miles of your base.

Geographic targeting settings.

This is a mistake I see constantly. The default Google Ads location setting is “Presence or Interest.” This means your ads can show to people who are merely interested in your area but not physically there. For roofing this is waste.

Change it immediately to “Presence: People in your targeted locations only.” Only show ads to people physically in your service area.

Then set your radius. Most roofing companies should target 15 to 25 miles from their base. In Des Moines we targeted a defined radius around the city and specific surrounding suburbs. Not too wide that we were getting leads 40 miles away. Not too tight that we were missing homeowners just outside the city centre.

Demographic targeting.

Layer on homeowner targeting. Renters do not need roof replacements. Exclude them.

Target household income in the top 30 to 50 percent of your area. Roof replacements cost $8,000 to $15,000. Homeowners in lower income brackets may call for quotes but close at much lower rates.

Target ages 35 to 65 plus. This is who buys roofing services. Younger homeowners exist but they skew toward first-time buyers with newer homes that need less work.

Audience observation.

Add in-market audiences for “Roofing Companies” and “Home Improvement” in observation mode on your search campaigns. This means your reach is not restricted but you can see how these audiences perform versus everyone else. Over time you bid more aggressively on segments that convert better.

Dayparting.

Roofing leads happen during business hours. People call from 7am to 6pm. Running ads at 2am is mostly waste. Schedule your ads to run during hours when your team can actually answer the phone and respond to forms.

More importantly – leads that are not called within 5 minutes convert 80 percent less. If your ads run when nobody is answering, you are paying for leads you will never close. Align your ad schedule with your response capacity.

Creatives and Ad Copy: What Works in Roofing

Responsive Search Ads. 15 headlines, 4 descriptions. Google mixes and matches to find the best combinations.

Here is the framework for roofing ad copy.

Headline structure.

Slot 1 – Match the search. “Roof Replacement in Des Moines.” Pin this to position 1 so it always shows.

Slot 2 – The offer. “$1,000 Off Jobs Over $8K.” Or “0% Financing Available.” Or “Free Same-Day Estimate.”

Slot 3 – The differentiator. “20 Years Local Experience.” Or “4.9★ Rating – 200+ Reviews.” Or “GAF Certified Contractor.”

Additional headlines to rotate: “Licensed, Bonded & Insured,” “Storm Damage Specialists,” “Same-Day Response,” “Family-Owned Since [Year],” “[City]’s Most Reviewed Roofer,” “Work Starts Within 48 Hours.”

Description lines.

Description 1: Lead with the offer and key credential. “Get $1,000 off your roof replacement when you book this month. BBB-accredited with 20 years serving Des Moines homeowners.”

Description 2: Pain point and reassurance. “Worried about the cost? We offer flexible financing with 0% for 12 months. Call us and get a detailed quote the same day, no pressure.”

Ad assets – fill every single one.

Sitelinks: Free Estimate, Our Work / Gallery, About Us, Storm Damage, Financing Options.

Callouts: “Licensed & Insured,” “GAF Certified,” “Free Inspections,” “Financing Available,” “20 Years Experience,” “Same-Day Response.”

Structured snippets (Services type): Roof Replacement, Roof Repair, Storm Damage, Gutters, Commercial Roofing.

Call extension: Your business phone number. Scheduled during business hours only. When someone calls directly from a search ad you pay per click not per call – make sure someone answers.

Assets improve your Ad Rank. More assets means a bigger, more prominent ad. A bigger ad means higher CTR. Higher CTR means better Quality Score. Better Quality Score means lower CPC. It is all connected.

What Nobody Else Tells You About Roofing Google Ads

A few things I have learned that you will not find in most guides.

The first 45 days feel like nothing is working. It is normal.

In roofing the sales cycle is long. Someone searches, clicks your ad, thinks about it for two weeks, gets two more quotes, then calls you. The conversion does not happen on day one. Do not panic in the first month. Do not start changing everything because you have not seen a lead yet.

Use those first 45 days to obsess over negatives, monitor search terms, watch Clarity recordings, and tighten the landing page. That work pays off later.

Exact match in a new account is not limiting. It is protecting.

I hear people say exact match is too restrictive. In a data-rich account with good conversion history and smart bidding running – sure, broad match makes sense. In a brand new account spending $180 per day with $42 clicks – exact match is survival. You cannot afford to find out what broad match decides to match your “roof replacement” keyword to.

Reviews are a campaign variable, not just a business variable.

Your Google review count and rating directly affects your LSA ranking. It directly affects the trust signal on your landing page. It indirectly affects CTR on your search ads because your seller ratings show in the ad.

Ask every customer for a review. Make it part of your process. After job completion, send a text with a direct link to your Google review page. A roofing company with 200 reviews at 4.9 stars showing in LSA results will outperform a company with 40 reviews at 4.7 every time.

Speed to lead is as important as cost per lead.

It does not matter if your CPL is $200 if nobody calls the lead back within 5 minutes. The data on this is brutal. Leads not contacted within 2 minutes convert 80 percent less. Someone searching for an emergency roof repair after a storm is calling every roofer in the top 3 results. First one to answer gets the job.

Build your response process before you build your campaigns.

Budget: How Much Should You Actually Spend?

The question everyone asks.

Here is the honest answer. The minimum viable budget for roofing Google Ads in most US markets is $3,000 to $5,000 per month. Below that you simply do not get enough clicks to generate enough leads to make meaningful decisions.

In Des Moines we ran at $180 per day – roughly $5,400 per month. Getting 5 to 6 clicks per day. That generated enough lead volume to learn and optimise from.

In a larger metro like Dallas or Phoenix where CPCs are higher and volume is greater, you need $5,000 to $8,000 minimum to compete.

Budget by campaign type split:

  • Search Ads: 65 percent of total budget
  • Local Service Ads: 30 percent of total budget
  • Brand Defence: 5 percent of total budget

Do not increase budget until the economics are proven. This is the mistake I see most often. Roofing company spends $3,000 per month, does not see the results they want, and increases to $6,000. But if the landing page converts at 3 percent and the offer is weak and the negative keyword list is thin – doubling the budget just doubles the waste.

Fix the fundamentals first. Then scale.

Should You Hire a Roofing Google Ads Agency, or Run It Yourself?

Here is the honest answer, and it is not the one an agency usually gives you.

If you have read this far and thought “I can do this,” you probably can. Everything in this guide is learnable. The unit economics, the consolidation, the exact match discipline, the landing page, the negatives you check every day for the first month. None of it is secret. If you have the time and the patience to sit with a new account for 45 days while it produces nothing, you can run roofing Google Ads yourself and keep every dollar of the margin.

But be honest about what running it yourself actually costs you. It is not free. It is your time, and in roofing that time is expensive, because the account needs attention exactly when your season is busiest. The daily search-terms review, the phone answered within five minutes, the storm campaign activated within hours of a hail event. Those are not tasks you can batch on a slow Sunday. They happen when you are on a roof.

So the real decision is not “can I do this.” It is “is my time better spent selling and running jobs, or managing an ad account.” For a lot of roofing owners, the answer is jobs.

Here is how I would decide.

Run it yourself if: you have genuine time to give it, your market is not brutally competitive, your budget is at the lower end where an agency fee would eat the margin, and you enjoy this kind of work. Some owners genuinely do, and they run tight accounts.

Hire it out if: paid search is not how you want to spend your time, your market is a $40-a-click metro where a mistake is expensive, you are scaling and cannot babysit the account, or you have already tried it yourself and watched the budget disappear into the wrong searches. A good specialist earns their fee by not making the expensive mistakes, wrong bid strategy on a data-poor account, broad match burning $42 clicks, a homepage as a landing page, that cost far more than the management fee.

One warning, because it is the mistake I see most. Do not hire the cheapest option you can find. The roofing Google Ads market has plenty of $300-a-month “management” that is really automated maintenance, and on a $42-click account, weak management does not save you money, it wastes your ad budget faster than doing nothing. If you hire, hire someone who will show you the audit before you pay, name the numbers, and tell you honestly when your budget or offer is not ready. If they lead with adjectives instead of numbers, keep looking.

Whichever way you go, the standard is the same as everything else in this guide: measurement first, economics before tactics, and the discipline to leave a new account alone for its first 45 days. Whether you or someone else does the clicking, that is what makes roofing Google Ads profitable.

FactorRun it yourselfHire a specialist
CostAd spend only, you keep the marginAd spend plus 10 to 20%, or a retainer
Your timeDaily attention, worst during busy seasonAround 20 minutes a month of oversight
The learning curve45 days of near-zero results while you learnSkips the expensive beginner mistakes
Competitive metros ($40+ clicks)Risky, one mistake is expensiveSafer, the fee is less than the waste avoided
Best forOwners with real time and a simpler marketOwners who would rather sell and run jobs

How Much Do Google Ads Cost for a Roofing Company?

Google Ads for a roofing company costs money in three separate places, and roofers usually only think about one of them. There is the ad spend you pay Google, the cost per lead that spend produces, and, if you hire help, the management fee on top. Here is what each actually runs.

Ad spend (what you pay Google): a realistic minimum is $3,000 to $5,000 a month in most US markets, and $5,000 to $8,000 in competitive metros like Dallas, Phoenix, or Atlanta. Below the minimum you do not get enough clicks to generate enough leads to make decisions from.

Cost per click: roofing clicks average $22 to $42, with high-intent terms like “roof replacement near me” hitting $40 to $50 in competitive markets. The national median looks lower, around $10 to $11, but that number is misleading because it includes low-intent terms that never convert.

Cost per lead: this is the number that actually matters. A well-run roofing account should target a cost per lead comfortably below its break-even. For my Des Moines client, break-even was $630 and we brought leads in at $382. Roofing cost per lead commonly lands anywhere from $150 to $600 depending on market, offer, and how tight the account is. Local Services Ads leads run cheaper, roughly $25 to $95 per lead, which is why they belong in the mix.

Management fee (if you hire an agency): professional management typically runs 10% to 20% of ad spend, or a flat retainer, often $500 to $2,000 a month for a roofing account. Be wary of $300-a-month offers; on a $42-click account that usually means automated maintenance, not real management.

Cost layerTypical rangeWhat it means
Monthly ad spend$3,000 to $5,000 ($5,000 to $8,000 in major metros)The realistic minimum to get enough clicks to produce enough leads to make decisions.
Cost per click$22 to $42 (up to $50 on “roof replacement near me”)High-intent roofing terms are expensive. The low national median hides this.
Cost per lead (Search)$150 to $600The number that matters. Keep it comfortably below your break-even (ours was $382 vs $630).
Cost per lead (LSA)$25 to $95Local Services Ads leads are cheaper and close more often, which is why they belong in the mix.
Management fee (if hired)10% to 20% of spend, or about $500 to $2,000 a month flatBe wary of $300-a-month “management.” On a $42-click account that is usually automation, not management.

The Full Setup Checklist Of Google Ads For Roofing Industry

Before you launch any roofing campaign, make sure these are done.

  • Conversion tracking set up for calls and form submissions
  • Microsoft Clarity installed on the landing page
  • Micro conversions set up – phone clicks, form starts, scroll depth
  • Exact match keywords only for launch
  • Negative keyword list with 50 plus terms added before launch
  • Location targeting set to “Presence” not “Presence or Interest”
  • Ad schedule aligned with business hours and response capacity
  • Landing page with 4-field form, click-to-call, trust signals, real photos, and offer above the fold
  • LSA profile set up with all required documentation and verification
  • At least 20 Google reviews before pushing LSA budget
  • Storm damage campaign built and paused, ready to activate

Summary: The Right Way to Think About Roofing Google Ads

Roofing Google Ads is not complicated. But it is unforgiving.

Every click costs money. Every wasted click costs real money. The margin between a profitable campaign and an unprofitable one in roofing comes down to a few things.

Do the unit economics before you launch. Know your break-even CPL. Know what a customer is worth.

Build an offer that is different from everyone else. Not free inspection. Something that gives homeowners a real, tangible reason to choose you.

Consolidate in the beginning. One campaign, three tight ad groups, exact match keywords, manual CPC. Let data build before you let Google’s algorithm take over.

Build a landing page that converts. Fast. Mobile-first. Clear offer. Real trust signals. A form that is easy to complete and a phone number impossible to miss.

And respond to every lead within 5 minutes. Everything else you do to generate that lead means nothing if you do not pick up the phone.

The math in roofing is good when you do it right. A $382 CPL against a $630 break-even on a $10,000 average job is a very healthy business. That is what is possible. But it takes patience – especially in the first 45 days when it feels like nothing is happening – and discipline to not change everything before the data tells you to.

About The Author

Share this article
Picture of Anand

Anand

Anand Soni is the founder of River Stone Marketing Solutions. With 10+ years in the industry and $50M+ in ad spend managed across ecommerce and lead generation, his focus is simple - help businesses understand what actually happens behind the scenes in Google Ads and win in a data driven way.

Want this working in your own account?

River Stone manages Google Ads for agencies on a white-label basis and for businesses directly. Start with a free audit of your account.

Keep reading