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

Table of Contents

google ads for roofing

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.

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.

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.

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