Skip to main content

Google Ads Not Converting Roofing Leads? A Contractor's Fix-It Playbook

Emily Crawford, Home Maintenance Editor··31 min readRoofing Lead Generation
On this page

You turned on Google Ads, the clicks came, the budget drained, and the phone barely rang. Or it rang, but the people on the other end wanted a $400 patch, not a $14,000 tear-off. Either way the math is ugly: you are paying $18 to $60 a click in most roofing markets, and somewhere between the search box and a signed contract, your money is walking out the door.

Here is the part nobody tells you. "Google Ads not converting" is almost never one problem. It is a chain of five or six small leaks, and a click has to survive every single one to become a job. A bad keyword, a slow-loading page, a form nobody fills out, a call that goes to voicemail at 5:10pm, a quote that never gets followed up, a homeowner who was never going to buy a roof in the first place. Each leak quietly takes its cut. Fix one and your numbers move a little. Find all of them and your cost per signed job can drop by half without spending another dollar on ads.

This breaks the funnel into the exact stages where roofing money disappears, gives you the benchmarks to know whether each stage is the problem, and walks through the fixes in the order that gets you the fastest return. It is written for someone who runs a real crew, not for a marketing agency trying to sound smart. Wherever a number matters, you will get a number. Wherever pros get it wrong, that gets called out plainly.

First, define what "converting" actually means for your shop

Before you touch a single setting, get honest about which conversion you are measuring. Roofers throw the word "convert" at three completely different events and then wonder why the data is confusing.

  • Click to lead. A stranger clicks your ad and gives you a phone number, a form fill, or a chat message. This is a lead, not a customer.
  • Lead to appointment. That lead actually books an inspection on the calendar and is home when your rep shows up.
  • Appointment to signed job. The inspection turns into a contract.

The industry-wide rule of thumb most roofing operators see: roughly 1 in 10 to 1 in 20 clicks turn into a usable lead, somewhere around half of solid leads turn into a kept appointment, and a sharp in-home closer signs 30 to 50 percent of the homes they sit in. Multiply those and you get reality. If 100 clicks produce 8 leads, 4 appointments, and 1.5 signed roofs, then your click-to-job rate is about 1.5 percent. At $35 a click that is roughly $2,300 in ad spend per signed roof. On a $14,000 job with healthy margin, you can live with that. On a $6,000 repair, you cannot.

So the first move is not to "improve conversions." It is to figure out which of those three handoffs is the weak one. The fixes for a click-to-lead problem (ads, keywords, landing page) are completely different from the fixes for a lead-to-job problem (speed-to-lead, qualifying, closing). Spending three weeks rewriting ad copy when your real problem is that nobody answers the phone after 5pm is the single most common waste of effort in roofing PPC.

Build the funnel map before you change anything

Pull 60 to 90 days of data and fill in this table for your own shop. Do not guess. If you cannot fill a row, that gap is a finding.

Stage What to count Healthy roofing range Your number
Impressions to clicks (CTR) Clicks / impressions 4% to 9% on search
Clicks to leads Leads / clicks 6% to 18%
Lead to set appointment Booked inspections / leads 35% to 60%
Appointment kept (sat) Reps actually inspected / booked 70% to 85%
Sat to signed Contracts / inspections 30% to 50%
Cost per lead (CPL) Ad spend / leads $30 to $120 residential
Cost per signed job (CAC) Ad spend / signed jobs varies by ticket

The stage with the biggest gap between your number and the healthy range is where you start. Everything below is organized so you can jump to your leak.

Leak 1: You are buying the wrong searches (the keyword and match-type trap)

More than half the "my leads are garbage" complaints in roofing trace back to a single root cause: the account is buying searches that were never going to become roofing jobs. You are not paying for bad leads. You are paying for good clicks on the wrong intent.

Broad match is quietly eating your budget

Google's default and most aggressively recommended match type is broad match, and for a roofer it is a trap unless it is tightly governed. Broad match on "roof repair" can serve your ad on "how to repair a roof yourself," "roof repair cost calculator," "flat roof repair tape," "car roof repair," and "roof rack repair." Every one of those is a click you paid for and a person who will never sign a contract.

The fix is not to ban broad match forever. It is to see what it actually triggered. Open your Search Terms report (Campaigns to the keyword to Search Terms) and read the literal queries that spent money. You will be shocked. The first time most roofers do this, 20 to 40 percent of their spend is on DIY, jobs-and-careers, materials-only, or out-of-trade searches.

Do this in one sitting:

  1. Set the date range to the last 60 days.
  2. Sort the Search Terms report by cost, highest first.
  3. Read every term that spent more than the price of one click.
  4. For each junk term, add it as a negative keyword at the campaign or account level.
  5. Move proven money-makers (terms that produced calls or form fills) into their own ad group as exact or phrase match.

A starter negative keyword list every roofer should load on day one

These stop the most common roofing budget leaks. Add them as phrase-match negatives.

  • DIY and how-to: how to, diy, yourself, tutorial, video
  • Free and cheap intent that rarely pays: free, cheapest, cheap, grant, government program
  • Jobs and careers: jobs, salary, hiring, careers, apprentice, union
  • Materials and parts only: tape, sealant, shingles for sale, home depot, lowes, menards
  • Out of trade: car, rv, tent, mouth (roof of mouth, yes really), patio cover
  • Education and licensing: how much does, course, license, certification, osha
  • Adjacent trades you do not do (if you are residential only): commercial tpo, metal building, flat roof coating

A caveat that keeps you honest: some of these are revenue in certain markets. If you do sell shingles retail, do not negative shingles for sale. The point is to match your negatives to what you actually sell.

Buy intent, not topics

Rank your roofing keywords by how close they sit to a wallet. From hottest to coldest:

Intent tier Example searches What to do
Emergency / active damage roof leaking now, emergency roof repair, roof leak after storm Bid the most; route straight to call
Replacement intent roof replacement quote, new roof cost [city], reroof my house Core money; dedicated landing page
Brand and local roofing company near me, [your brand] roofing Cheap, high-converting; never neglect
Research / shoulder metal vs shingle roof, how long do roofs last Low bid or exclude; rarely converts on first click

Most roofers over-invest in the research tier because those keywords are cheap and high-volume. They are cheap because they do not convert. A homeowner asking "how long do roofs last" is two months from buying, if ever. Let your blog and SEO catch those people. Spend your ad dollars where the wallet is open.

The Quality Score tax you are paying without knowing it

There is a hidden cost to running loose keywords that has nothing to do with which clicks you get: Quality Score. Google grades each keyword from 1 to 10 on expected click-through rate, ad relevance, and landing page experience, and it uses that grade to decide both how much you pay per click and whether you show at all. A keyword with a Quality Score of 3 can cost you two or three times as much per click as the same keyword at a Quality Score of 8, for the identical position. So a sloppy account does not only buy worse clicks, it pays a premium for them.

The relevance chain is what drives the score. The search query, the keyword, the ad headline, and the landing page should all say the same thing. If someone searches "roof replacement [city]," your keyword is roof replacement [city], your ad headline reads "Roof Replacement in [City]," and the landing page headline matches. When all four links agree, click-through rate and landing page experience both rise, Quality Score climbs, and your cost per click drops. When you cram twenty unrelated keywords into one ad group pointing at a generic homepage, every keyword's relevance is diluted and you pay the tax on all of them. Tightly themed ad groups, three to fifteen closely related keywords each, are the cheapest CPC reduction available, and most roofing accounts skip it.

Dayparting and device: where your worst clicks hide

Two more reports expose wasted spend that keyword cleanup misses. Open the time-of-day and day-of-week breakdown and the device breakdown.

If your office is closed at 11pm but your ads run, late-night clicks that hit voicemail are pure loss unless you have after-hours coverage. Either staff those hours, schedule ads to your real coverage window, or lower bids during dead hours. The same goes for device: if mobile clicks convert at half the rate of desktop, that is usually a mobile landing-page problem (covered below), not a reason to abandon mobile, since most roofing searches happen on phones. Read the data before you cut, because cutting mobile blind would amputate the majority of your roofing traffic.

Match your geography to where you actually drive

Location targeting is the second silent killer. Two settings to verify right now:

  • In location options, choose "Presence: people in or regularly in your targeted locations" instead of the default "Presence or interest." The default shows your ad to people who merely searched about your area from anywhere, including out-of-state and out-of-country clicks that will never become jobs.
  • Set radius targeting to your real drive time, not a tidy 25-mile circle. If a job 22 miles out means a 70-minute haul through a metro core, you are paying to generate leads your crew hates and your estimator deprioritizes.

Leak 2: Your landing page is where good clicks go to die

You got the intent right, the click was a real homeowner with a real roof, and they still bounced. Now it is the page's fault. The brutal truth about roofing landing pages: most contractors send paid traffic to their homepage, and the homepage is built to impress other contractors and Google, not to convert a stressed homeowner with a wet ceiling.

Speed is conversion, and roofers are slow

Page load time is the most under-appreciated conversion lever in the trade. Field data on mobile pages is consistent and unforgiving: as load time climbs from 1 second to 5 seconds, the probability that a visitor bounces rises sharply. Most roofing sites are heavy. Big hero videos, un-compressed drone photos of completed roofs, three tracking scripts, a chat widget, and a font library. On a homeowner's phone on cellular data in a storm-damaged neighborhood, that page can take 6 or 8 seconds to become usable. They are gone before your headline renders.

Run your landing page through Google's PageSpeed Insights and look at the mobile score, not desktop. If your Largest Contentful Paint is over 2.5 seconds, fix it before you touch anything else, because it caps everything downstream. The usual culprits and fixes:

  • Compress and resize hero images to under 200KB; serve modern formats.
  • Drop autoplay video on the landing page; use a static image.
  • Defer or remove third-party scripts you are not actively using.
  • Use a purpose-built landing page, not your full WordPress homepage with every plugin loaded.

What a roofing landing page must contain, in order

A homeowner skims top to bottom on a phone in about eight seconds before deciding to call or leave. Give them what they need in that order:

  1. Headline that names the search. If they searched "roof replacement [city]," the page should say roof replacement and the city. Matching the message to the search (message match) is one of the highest-leverage fixes there is. A generic "Quality Roofing You Can Trust" headline throws away the intent you just paid for.
  2. The phone number, big, tappable, top right and repeated. A click-to-call button that actually dials. More roofing leads come by phone than by form, and a phone number buried in a footer is malpractice.
  3. One short trust line. Licensed, insured, years in business, local. Specific beats vague: "Family-owned in [county] since 2009, 1,400 roofs installed" outperforms "trusted professionals."
  4. Proof you can see. Real before-and-after photos of your roofs, real reviews with names, your license number. Stock photos of roofs you did not install read as fake and kill trust.
  5. A short form. Name, phone, address, "what's going on with your roof." Every extra field cuts completion. Asking for an email, a preferred contact time, and roof type up front will cost you fills. Get them on the phone first; qualify later.
  6. A single clear next step. Not "Call, or fill the form, or chat, or download our guide." One primary action. Choice paralysis converts worse than a clear ask.

Form versus phone, and why you need both wired to track

Roofing splits roughly into phone-callers (often older homeowners, emergencies, replacements) and form-fillers (younger, researching, non-urgent). You need both, but you need to measure both, and this is where most accounts are blind. If you are not tracking calls from ads with call tracking, you genuinely do not know which keywords work, because the highest-intent roofing traffic converts by phone and never touches your form. You will look at the data, see a keyword with "zero conversions," pause it, and unknowingly kill the term that drives your phone.

Leak 3: You are flying blind because conversion tracking is broken

This is the leak that makes every other diagnosis impossible, so audit it early. A shocking number of roofing accounts have conversion tracking that is mis-configured, double-counting, or counting the wrong thing. If the data is lying, every optimization decision after it is a guess.

The four ways roofing conversion tracking goes wrong

  • Counting page views as conversions. If your "conversion" fires on a thank-you page load but the page is in a funnel people pass through, you are inflating numbers. Worse, if it never fires because the form redirects elsewhere, you are seeing zero and panicking.
  • No call tracking at all. As above. Half your real leads are invisible.
  • Counting every call, including 8-second wrong numbers and existing customers. Set a minimum call duration (60 seconds is a reasonable floor) before a call counts as a conversion, so you are not optimizing toward people who hang up.
  • Counting leads instead of qualified leads. A form fill from someone wanting a gutter cleaning is a "conversion" to Google. If you feed Google's automated bidding a diet of junk conversions, its algorithm dutifully goes and finds you more junk, because that is what you told it to value.

Fix the signal you send to Google's bidding

This is subtle and it matters enormously on modern automated bidding. Google's Smart Bidding optimizes toward whatever you call a conversion. If your conversion action is "any form fill or any call over 60 seconds," the algorithm will happily maximize cheap, low-quality leads because it does not know they are bad. The fix is to feed it better signals:

  • Import offline conversions so that a qualified lead or a signed job flows back into Google Ads, instead of only the raw form fill. When the algorithm learns which clicks became contracts, it hunts for more of those.
  • At minimum, separate your conversion actions by value. A booked inspection is worth more than a form fill; tell Google that with conversion values.
  • Give it volume before you judge it. Automated bidding needs a baseline of conversions per month to learn. Below that it thrashes.

This closed loop, from ad click all the way to signed contract and back into the bidding algorithm, is the single biggest separator between roofers who scale paid search profitably and roofers who give up on it. We will come back to how to build that loop without a data analyst on staff.

Leak 4: Speed-to-lead, the leak that wastes the most money

If you fix nothing else, fix this. Decades of sales response research point the same direction: the odds of reaching and qualifying a lead drop off a cliff within minutes, not hours. Contacting a web lead within the first 5 minutes versus 30 minutes can mean a multiple-times difference in the odds of ever connecting, and the difference between 5 minutes and the next business day is brutal.

Roofing makes this worse for two reasons. First, a homeowner with a leak is in pain right now and will call the next three roofers on the results page while waiting for you. Second, most roofing ad clicks happen in evenings and on weekends, after storms, exactly when your office is closed and the lead rolls to voicemail.

The speed-to-lead math, in dollars

Walk the numbers. Say you generate 40 leads a month at a $60 cost per lead, $2,400 in ad spend. If slow follow-up means you only connect with 50 percent of them, you effectively paid $120 per contactable lead, and the 20 you never reached did more than cost nothing, they cost you every appointment and job they would have become. Cutting your average response time from "a few hours" to "under 5 minutes" routinely lifts contact rates from the 40 to 50 percent range into the 70 to 80 percent range. That is the cheapest extra revenue in your whole operation, because you already paid for those clicks.

Build a response system that does not depend on heroics

  • Auto-text every lead the instant it comes in. "Hi [name], this is [rep] at [company]. Got your message about your roof. I can call in the next few minutes, or what time works?" An immediate text holds the lead while you dial.
  • Route calls so they never hit voicemail during ad hours. If you advertise evenings and weekends, your phones need to ring somewhere live then, even if it is an answering service that books the appointment.
  • Set a hard internal standard: first human attempt within 5 minutes, no exceptions. Make it someone's literal job, with the clock visible.
  • Run a follow-up cadence, not a single call. It commonly takes 5 to 8 touches to reach a roofing lead. Most shops stop after one. A lead that did not answer your first call at 6:12pm is not dead; it is one missed call. Sequence: immediate text, call at 5 min, call + voicemail at 1 hour, text next morning, call next afternoon, and so on for a week.

The lead source you cannot see is the one you cannot fix

Here is a trap that quietly destroys roofing ad ROI: by the time a lead reaches your sales rep, nobody remembers it came from Google Ads. The rep logs it as a "website lead" or a "referral," the marketing spend never gets credited, and three months later the owner says "Google Ads doesn't work for us" and shuts it off, while it was actually their best channel. You cannot optimize what you do not attribute. Every lead needs its true first-touch source stamped on it permanently, the moment it enters your world, and that stamp must survive all the way to the won/lost column.

Leak 5: The leads convert, but to the wrong jobs

Sometimes the funnel works and the money still does not. You generate leads, you book them, your closer is good, and you are still underwater. The problem is job mix. Your ads are pulling $500 repairs and tarp-the-leak calls when your crew makes money on $12,000-plus replacements. The conversion rate looks fine. The economics do not.

Separate repair intent from replacement intent

Run them as different campaigns with different budgets, different landing pages, and different qualifying, because they are different businesses:

  • Replacement / restoration campaign: keywords like roof replacement, new roof cost, reroof, storm damage roof. Higher bids justified, dedicated page, route to your best closer.
  • Repair campaign: keywords like roof leak repair, shingle repair. Lower bids, and decide deliberately whether you even want these. Many roofers run repairs at break-even on purpose because a leak inspection often reveals an aging roof that becomes a replacement, but only if your rep is trained to look for that and document it.

Qualify on the phone before you send a truck

A kept appointment that should never have been booked is pure cost: a rep's afternoon, windshield time, and fuel, spent on a roof that was never going to sell. A 90-second phone qualifier saves all of it. Ask, in this order:

  1. "How old is the roof, roughly, do you know?" (Range is fine. A 4-year-old roof rarely needs replacement; a 20-plus-year roof is your customer.)
  2. "What's going on, a leak, storm damage, or planning ahead?"
  3. "Are you the homeowner?" (You cannot sell a roof to a renter.)
  4. "Is this your primary home or a rental you own?"
  5. "Roughly when are you looking to get this handled?"

None of this needs to feel like an interrogation. It is a friendly intake. But it routes a 4-year-old roof on a rental to a phone quote and saves the in-home appointment for the 19-year-old roof on an owner-occupied home that just took hail.

Train the closer, because the last leak is the most expensive

A lead that survives every prior stage and then sits in front of a weak closer is the costliest waste of all, because you have already spent the click, the follow-up labor, and the windshield time. Two things separate roofers who sign 45 percent of their inspections from roofers stuck at 20 percent, and neither is price.

The first is presenting on the spot. The shops that win sit on the roof, document what they find with photos on a tablet, and walk the homeowner through it at the kitchen table the same visit, with a written estimate in hand before they leave. "I'll email you a quote next week" is where deals die, because next week the homeowner has three other quotes and your inspection is a blur. Same-visit documentation and a same-visit number convert dramatically better.

The second is options. A single take-it-or-leave-it price forces a yes-or-no decision. Three tiers, a good-better-best with clearly different shingle lines and warranties, turns the conversation from "do I buy" into "which one," and a meaningful share of homeowners trade up to the middle option on their own. None of this is a Google Ads setting, but it is the difference between paid search paying for itself and not, so it belongs on the audit.

Leak 6: Storm and restoration traffic needs its own honest playbook

If you chase storm work, Google Ads behaves differently and the compliance stakes are higher. After a hail or wind event, search volume for storm damage roof, hail damage roof inspection, and roof leak after storm spikes hard and so does competition, which means click prices jump and quality varies wildly. Three things keep this profitable and legal.

Target the storm, not the whole metro

The homes worth your ad dollars after a storm are the ones the storm actually hit and that have a roof old enough to plausibly have damage worth a claim. A brand-new roof in the hail swath and a 25-year-old roof a mile outside it are both poor targets. The sweet spot is an older roof inside the actual hail or wind footprint. Generic metro-wide storm ads burn money on both ends of that.

This is where roofers get themselves in trouble, and it is worth being precise because the wrong words can cross into unlicensed public adjusting, which is illegal in most states. A roofer may inspect a roof, document damage, and prepare an accurate estimate to repair their own work. A roofer may not, for a fee, negotiate or "handle" the homeowner's insurance claim, interpret what the policy covers, promise a specific approval or payout, promise the deductible will be waived or absorbed, or advertise a "free roof." Several of those are crimes, and a few of them, like waiving deductibles or offering to absorb them, are explicitly illegal in many states.

Keep your storm ads and pages on the documentation side:

  • Safe: "Free storm-damage roof inspection," "We document hail and wind damage and provide a detailed repair estimate," "We'll photograph your roof and give you an honest assessment."
  • Not safe, do not write these: "We handle your insurance claim," "We get your claim approved," "No out-of-pocket cost," "We waive your deductible," "Free roof with your claim," "Guaranteed approval."

The honest, durable frame: you inspect thoroughly, you document damage with photos, you write an accurate repair estimate, and you hand it to the homeowner. The homeowner files the claim. The insurer decides coverage. You never promise an outcome you do not control, and you never touch the deductible. This is legally safer, and it also converts better with skeptical homeowners who have heard the "free roof" pitch a hundred times and stopped trusting it.

How RoofPredict closes the leaks Google Ads leaves open

Everything above is fixable by hand. The reason most roofers never fix all of it is that the leaks live in different tools that do not talk to each other: ad platform, website forms, call tracker, spreadsheet, CRM, and a rep's memory. RoofPredict exists to stitch that chain back together so a click does not fall through a crack between systems. Here is exactly what you would do with it on each leak above.

Stop "Google doesn't work" attribution loss with a real lead pipeline

RoofPredict runs your leads through a pipeline with stages you actually use: new, contacting, appointment, inspected, won, and lost. The piece that matters for paid search is the immutable first-touch source. The moment a lead enters, whether by form, by phone, or by QR scan, its true origin is stamped and locked. It cannot get re-labeled "referral" by a busy rep two weeks later. So when you sit down to judge Google Ads, you are looking at signed jobs traced back to the ad that started them, not a guess. That is the closed loop from Leak 3, built in.

And because RoofPredict offers two-way sync with 13 CRMs, including HubSpot, ServiceTitan, JobNimbus, AccuLynx, Jobber, Housecall Pro, Salesforce, Pipedrive, Leap, Roofr, SalesRabbit, and CompanyCam (plus Zapier and CSV), you do not have to rip out the CRM your crew already lives in. The source data flows both directions, so the won/lost outcome makes it back to where you measure ad performance.

Prove cost-per-win, beyond cost-per-lead, in the results funnel

The results view tracks the full chain, delivered to views to form to calls to leads to wins, and reports cost-per-lead and cost-per-win with actual versus estimate versus an industry benchmark, plus A/B campaign variants. This is the antidote to the Leak 5 problem of converting to the wrong jobs. You stop celebrating a low cost-per-lead that is secretly a pile of $500 repairs, and you start managing toward cost per signed replacement, which is the number that pays your bills. When the data shows your replacement keywords win at $1,900 per job and your repair keywords win at $2,200 per job for a tenth of the revenue, you reallocate the budget in about thirty seconds.

Spend ad dollars only on roofs that are plausibly due

Google Ads is pull marketing: you wait for the right homeowner to search. RoofPredict adds the push side so you are not 100 percent dependent on auction prices that spike after every storm. It scores every home in your service area by roof-age band (recent, mid-life, due, overdue) plus per-roof storm exposure plus an opportunity score, and hands you a ranked, house-by-house target audience with a "why this home" evidence chain. Honest limit, stated plainly: roof age here is a range inferred from age and storm signals, not an exact install date, and storm exposure is odds of damage, not proof of it. But a ranked list of likely-due roofs inside your real drive radius is a far better use of outreach dollars than a metro-wide broad-match keyword.

From that ranked list you can:

  • Turn the due and overdue roofs into a tracked direct-mail campaign with personalized proofs (brand, copy, and address checks), vendor release, per-piece delivery and return tracking, and a cost quote up front, so mail becomes a measurable channel alongside Google Ads instead of a black hole.
  • Give every targeted home a personalized microsite and PDF report (roof profile, storm history, risk, and cost of waiting) with a lead-capture form, plus per-home and lookup QR codes for the mail piece and the door hanger, every one of which drops a first-touch-stamped lead into the same pipeline as your Google Ads leads.
  • Build door-knock routes in storm-hit neighborhoods, assign canvassers, and run a mobile field app with next-stop routing, outcome forms, voice notes, and leave-behind QR codes, so the storm swath you identified turns into worked territory, not a vague intention.

The point is not to replace Google Ads. It is that when paid search gets expensive, you have a second and third channel feeding the same measured pipeline, so your cost per signed job stays sane even when click prices do not.

If your storm and claim documentation is the bottleneck: RoofClaim

Many roofers find that their ads convert fine but the money gets stuck downstream, at the claim and the estimate. A signed restoration job that loses $3,000 to a missed supplement or never collects its recoverable depreciation is a conversion you celebrated and then quietly lost. RoofPredict's integrated RoofClaim handles the revenue-cycle side, strictly on the documentation-and-estimate side of the legal line described above.

  • Claim intake linked to the home, so the claim ties back to the same property record and lead source.
  • Document upload with auto-classification and OCR for carrier and contractor estimates, photos, denial letters, and invoices, so the paperwork is organized instead of living in a rep's truck.
  • Opportunity detection that maps estimate line items against a roofing knowledge base and flags missing scope, code-required items, and missed supplements, with evidence anchors and pricing. This is documentation support for the estimate you prepare to repair your own work, not claim negotiation.
  • Recoverable-depreciation autopilot with a completion-evidence and final-invoice checklist, so you actually collect the depreciation you earned instead of leaving it on the table.
  • Deductible tracking, supplement aging with a follow-up cadence, and packet-completeness scoring, plus a claim-inbox email triage.

Every output, supplement packets, depreciation-release letters, deductible invoices, missing-docs letters, and audit reports, comes off locked, compliance-gated templates that keep you on the contractor-documentation side: you document, you estimate, you hand it to the homeowner, the homeowner files, and the insurer decides. RoofClaim never negotiates a claim, never interprets coverage, and never erases a deductible, because those would put you on the wrong side of the law.

The fix-it sequence: what to do this week, in order

Do not try to fix everything at once. Work in this order, because each step depends on the one before it.

Day 1: Stop the obvious bleeding

  1. Open the Search Terms report, read 60 days of terms by cost, and add 20 to 50 negative keywords. This alone often recovers 15 to 30 percent of wasted spend by tonight.
  2. Switch location targeting to "Presence: people in your targeted locations."
  3. Confirm a tappable phone number is at the top of every landing page.

Day 2: Make the data tell the truth

  1. Verify conversion tracking actually fires. Submit your own form and place a test call; confirm both register.
  2. Add call tracking if you have none, with a 60-second minimum before a call counts.
  3. Stop counting junk: make sure low-quality form fills and short calls are not feeding your bidding.

Day 3: Fix the page

  1. Run mobile PageSpeed; if LCP is over 2.5 seconds, compress images and cut scripts.
  2. Rewrite the headline to match the search (replacement page says replacement; storm page says storm, on the legal line).
  3. Cut your form to four fields max.

Day 4: Fix the follow-up

  1. Set up an instant auto-text on every new lead.
  2. Write the 5-to-8-touch follow-up cadence and assign it to a named person with a 5-minute first-attempt standard.
  3. Make sure evening and weekend ad clicks reach a live human or booking service.

Week 2 and beyond: Close the loop and diversify

  1. Split repair and replacement into separate campaigns with separate pages and budgets.
  2. Stamp every lead with a locked first-touch source and push won/lost outcomes back into Google Ads as offline conversions, so the algorithm learns what a signed roof looks like.
  3. Add a second channel, a ranked due-roof list fed into tracked mail and field routes, so you are not at the mercy of auction prices.
  4. Start managing to cost-per-win, not cost-per-lead.

A worked example, start to finish

Make it concrete. A residential roofer spends $4,000 a month on Google Ads and complains the leads do not convert. Here is what an audit usually finds and fixes.

Before. $4,000 spend, $35 average CPC, about 114 clicks. Broad match with no negatives means 30 percent of clicks are DIY, jobs, and out-of-area, so really 80 useful clicks. The homepage is the landing page, 6-second mobile load, generic headline, 9-field form. No call tracking. Leads route to one estimator who calls back "when he gets to it," often hours later, and stops after one attempt. Result: 9 form leads, an unknown number of missed phone leads, 4 booked appointments, 2 sat, 1 signed $13,000 job. Visible cost per job: $4,000. The owner thinks Google Ads barely breaks even.

After the fixes. Negatives cut wasted spend, so the same $4,000 now buys ~95 useful clicks. A fast, message-matched landing page with a 4-field form and a tappable number lifts click-to-lead from roughly 8 percent toward 14 percent. Call tracking reveals the page was already driving phone leads nobody counted. Instant auto-text plus a 5-minute first call and a 6-touch cadence lifts the contact rate from 50 percent to 75 percent. The 90-second phone qualifier kills two junk appointments and frees the rep for real ones. Offline conversion import teaches Google to chase signed jobs, not cheap form fills.

Result. Same $4,000 produces ~16 leads (form plus newly visible phone), 9 booked, 7 sat, 3 signed jobs averaging $13,000. Cost per signed job drops from $4,000 to about $1,330. Revenue from the same ad budget roughly triples. Not one extra dollar was spent on ads. Every gain came from plugging leaks.

That is the whole point. "Google Ads not converting roofing leads" is rarely a Google Ads problem. It is a funnel problem, and the funnel runs from the search box through your landing page, your phone, your follow-up, your qualifying, your closing, and your claim paperwork. Find the leaks, plug them in order, measure to the signed job, and feed a second channel into the same pipeline so you are never hostage to click prices. Do that and paid search goes from a money pit to your most predictable source of roofs.

If you want the measurement and the second channel handled for you, RoofPredict gives you the locked first-touch attribution, the cost-per-win results funnel, a two-way sync to the CRM you already run, and a ranked due-roof audience you can turn into tracked mail, microsites, QR, and field routes, plus RoofClaim to keep the revenue you signed from leaking out at the supplement and the depreciation. Book a demo and bring your last 90 days of ad data; we will find the leaks with you on the call.

FAQ

Why am I getting roofing leads from Google Ads but they don't convert into jobs?

Almost always it is one of two things: the leads are the wrong intent (repairs, renters, or out-of-area searches you are paying for via broad match), or your follow-up is too slow. Read your Search Terms report and add negative keywords to fix intent, then set a 5-minute first-call standard with a 5-to-8-touch cadence to fix follow-up. Also confirm you are tracking phone leads, since the highest-intent roofing leads call instead of filling forms and often go uncounted.

What is a good conversion rate for roofing Google Ads?

Expect roughly 6 to 18 percent of clicks to become leads, 35 to 60 percent of leads to book an inspection, 70 to 85 percent of those to be kept, and 30 to 50 percent of inspections to sign. That chains out to roughly 1 to 2 percent click-to-signed-job. If any single stage is far below these ranges, that stage is your leak. Judge yourself on cost per signed job, not cost per lead.

Should I send Google Ads traffic to my homepage or a landing page?

A dedicated landing page, almost always. Your homepage is built to impress and loads slowly with every plugin and script. A focused landing page that matches the exact search, loads in under 2.5 seconds on mobile, puts a tappable phone number at the top, and uses a short four-field form converts far better. Run the page through Google PageSpeed Insights and fix the mobile score first.

How fast do I need to respond to a Google Ads roofing lead?

Under 5 minutes for the first human attempt. Sales-response research consistently shows the odds of connecting and qualifying drop sharply after the first few minutes and collapse after the first hour. Auto-text the lead instantly to hold them, call within 5 minutes, and run a 5-to-8-touch cadence over the following week instead of giving up after one call.

Why is broad match hurting my roofing ad spend?

Broad match serves your ad on loosely related searches like how-to-DIY, materials, jobs, and out-of-trade queries that never become roofing jobs. The first time most roofers read their Search Terms report, 20 to 40 percent of spend is on junk. Add negative keywords for terms like how to, diy, jobs, salary, cheap, free, and car, and move proven money-makers into exact or phrase match.

How do I stop paying for low-quality roofing leads from Google?

Three moves: clean up keywords with negatives so you stop buying the wrong intent, qualify on the phone in 90 seconds before sending a truck, and feed Google better conversion signals. If you import only qualified leads or signed jobs as conversions, the bidding algorithm learns to find more of those instead of optimizing toward cheap, low-value form fills.

Can I advertise that I handle insurance claims or get a free roof for storm work?

No. Negotiating or handling a homeowner's claim for a fee, interpreting coverage, promising approval or payout, waiving or absorbing the deductible, or advertising a free roof can constitute unlicensed public adjusting or be outright illegal in many states. Stay on the documentation side: offer a free inspection, document damage with photos, write an accurate repair estimate, and hand it to the homeowner. The homeowner files and the insurer decides coverage.

How do I know if Google Ads is actually working when leads get mislabeled?

Stamp every lead with an immutable first-touch source the moment it arrives, by form, phone, or QR, so a rep cannot relabel it a referral later. Then push the won or lost outcome back to Google Ads as an offline conversion. That closed loop lets you see signed jobs traced to the ads that created them, instead of guessing. RoofPredict locks first-touch source and reports cost-per-win, beyond cost-per-lead alone.

Why are my leads converting to small repairs instead of replacements?

Your campaigns are mixing repair and replacement intent. Split them. Run replacement keywords (new roof cost, roof replacement, reroof, storm damage) with higher bids and a dedicated page, and run repair keywords separately at lower bids. Qualify roof age on the phone: a 4-year-old roof is rarely a replacement, while a 20-plus-year roof is your customer. Manage to cost per signed replacement, not raw lead count.

Besides Google Ads, how can I lower my cost to acquire a roofing job?

Add a push channel so you are not hostage to auction prices. RoofPredict scores homes in your area by roof-age band and storm exposure and gives you a ranked, house-by-house list of likely-due roofs. You can turn that into tracked direct mail with personalized microsites and QR codes, plus door-knock routes for storm-hit neighborhoods, all feeding the same measured pipeline as your ads so you manage one cost-per-win across every channel.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. About match typessupport.google.com
  2. About negative keywordssupport.google.com
  3. About location targetingsupport.google.com
  4. About Smart Biddingsupport.google.com
  5. Import conversions from clicks (offline conversion tracking)support.google.com
  6. Find out how you stack up to new industry benchmarks for mobile page speedthinkwithgoogle.com
  7. PageSpeed Insightspagespeed.web.dev
  8. Largest Contentful Paint (LCP)web.dev
  9. Public Adjusterscontent.naic.org
  10. Insurance Fraudcontent.naic.org
  11. Texas Department of Insurance: Public insurance adjusterstdi.texas.gov
  12. FTC Business Guidance: Advertising and Marketingftc.gov
  13. NRCA roofing industry resourcesnrca.net
  14. IBHS hail and high wind researchibhs.org
  15. NOAA Storm Prediction Center storm reportsspc.noaa.gov
  16. RoofPredictroofpredict.com

Related Articles