Skip to main content

Are Local Services Ads Worth It for Roofers? An Honest Cost-Per-Job Breakdown

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

If you run a roofing company, you have probably seen the green checkmark at the very top of Google when you search "roofer near me." That checkmark is Google Local Services Ads, often shortened to LSA, and the badge next to it says "Google Guaranteed." You pay per lead instead of per click, your business shows up above the regular search ads, and Google handles a lightweight background and license check before you go live. On paper it looks like the cleanest customer-acquisition channel a roofer can buy.

The real question is not "what is it." You already know roughly what it is. The question is whether the money you put into LSA comes back out as signed roofs, and whether it does that more reliably than the other places you could spend the same dollars: pay-per-click search, direct mail to old roofs, door knocking, your own past-customer list, or a lead marketplace like Angi. That is a cost-per-job question and a control question, and the honest answer is "it depends on a handful of variables you can actually measure."

What follows is a practitioner's breakdown: how LSA actually charges you, what a roofing lead really costs through it, the disputes and refunds nobody explains until you are already paying, the ranking factors that decide whether you get volume, the math for deciding if it pencils out for your shop, and where it fits next to the rest of your outbound. Roof age estimates here are ranges, not exact dates, and a forecast of storm exposure is odds, not proof of damage — that distinction matters later when we get to storm work.

What Google Local Services Ads actually are (and what they are not)

Local Services Ads are a separate Google product from the regular search ads you may already run. There are three things that make them different, and each one changes the economics.

First, you pay per lead rather than per click. In standard Google Ads (PPC), you are charged every time someone clicks your ad, whether they call, fill a form, or bounce in two seconds. In LSA, you are charged when a prospective customer contacts you — a phone call long enough to count, a message, or a booking. A click that goes nowhere costs you nothing. That is a genuinely different risk profile.

Second, the placement is above everything. LSA units sit at the very top of the results page, above the traditional PPC ads and above the map pack. For a high-intent search like "roof replacement [city]," that real estate is the most valuable on the page.

Third, the "Google Guaranteed" badge requires a verification step. Google runs a business-level background check and confirms your license and insurance through its screening partners before you can display the badge. For residential roofing that screening matters, because homeowners are nervous about who they let on the roof, and the badge is a trust signal that the regular ads do not carry. Google also backs the badge with a money-back guarantee to the homeowner up to a coverage cap, which is a promise to the customer, not to you.

Now the "what they are not" list, because this is where roofers get burned:

  • LSA is not a flat subscription. Your spend scales with lead volume and the bid environment in your market. A slow week costs less; a busy storm week can spend your budget fast.
  • LSA is not exclusive. The same homeowner who messages you can message two or three other roofers in the same LSA unit. You are racing to respond.
  • LSA is not a measurement tool. It tells you what you paid per lead. It does not tell you your cost per signed job unless you track that yourself in a CRM.
  • LSA is not Angi. Angi (formerly Angie's List/HomeAdvisor) is a marketplace that sells the same lead to multiple contractors and runs its own profile pages. LSA is Google's own product showing inside Google search. They sometimes get lumped together because both are pay-per-lead, but the lead quality and the buyer's mindset are different.

How LSA charges you, line by line

Understanding the billing mechanics is the difference between LSA being a controlled spend and a leaky bucket. Here is how the charge actually happens.

You set a weekly budget and Google bills you for valid leads up to that budget. A "lead" is one of these contact events:

Lead type What triggers the charge Common roofing reality
Phone call A call over a minimum length (typically around 30 seconds) where the caller is a potential customer The bulk of roofing LSA leads; quality varies wildly by time of day
Message A customer sends a text/message through the ad Lower volume, often lower intent
Booking A customer books directly through the ad's scheduler Rare in roofing; most homeowners want a phone conversation first

The charge is per lead, and the price per lead is not fixed. Google describes LSA pricing as bid-based and market-driven. In practice your cost per lead moves with how many roofers are competing in your area, the season, and storm activity. A quiet suburban market in February looks nothing like a hail-hit metro in May.

The critical mechanic is the dispute. Not every contact is a real roofing job, and Google lets you dispute leads that should not have been charged. You can request a credit for leads that are clearly out of scope. Typical valid dispute reasons:

  • Wrong service: someone called about gutters-only or a service you do not offer and you listed honestly.
  • Wrong geography: the job is far outside your service area.
  • Spam or solicitation: a salesperson, a robocall, a job-seeker.
  • A customer you can prove you never could serve (no roof, a renter calling about a landlord's building, etc.).

Disputes are not automatic. You have to flag the lead, usually within a set window, and Google reviews it. Approved disputes come back as credits, not cash. A disciplined roofer disputes every junk lead the same day it comes in; a sloppy one eats the charges. Over a month, the difference between a 5% and a 20% junk rate, disputed or not, is real money.

A worked example of LSA billing

Say you set a $1,000 weekly budget in a mid-size market. In a normal (non-storm) week:

  • You receive 22 leads.
  • Average cost per lead lands at about $45, so gross charges are roughly $990.
  • Of the 22, 3 are clearly junk (a robocall, a gutter-cleaning request, a job outside your area). You dispute all 3 the day they arrive. Google approves 2, credits you ~$90.
  • Net spend: ~$900 for 20 usable leads, or $45 per usable lead.

Now hold that $45-per-usable-lead number, because by itself it tells you almost nothing. The number that decides whether LSA is worth it is what happens after the phone rings.

The number that actually matters: cost per signed roof

Cost per lead is a vanity number. Two roofers can both pay $45 a lead and have wildly different outcomes, because one closes 1 in 4 and the other closes 1 in 12. Your real metric is cost per signed job, sometimes called cost per acquisition or CAC.

The formula is simple:

Cost per signed job = (total LSA spend in a period) / (jobs signed that came from LSA in that period)

Let's run it three ways using the $45 usable-lead cost from above, across a month where you net-spend $3,600 and net 80 usable leads.

Close rate (lead to signed roof) Signed jobs Cost per signed job
8% (weak intake, slow callbacks) ~6 ~$600
15% (decent, fast response) 12 ~$300
25% (tight intake, strong sales) 20 ~$180

That single table is the whole argument. The lever that moves your LSA economics the most is not the cost per lead — it is your close rate, and close rate on pay-per-lead channels is dominated by speed-to-contact and how qualified the lead was to begin with.

Now compare that cost per signed job to your average job value and gross margin. If a typical residential reroof brings in, say, $12,000 in revenue at a 30%–40% gross margin, then $300–$600 to acquire that job is comfortably profitable on the margin alone. The problem is rarely that a single LSA job loses money. The problem is volume, junk rate, and the time your team burns chasing leads that were never going to close.

Why close rate on LSA is a speed game

Because LSA leads are non-exclusive, the homeowner who contacted you very likely contacted one or two others in the same unit. The roofer who calls back first, while the homeowner still has the phone in their hand, wins a disproportionate share. Industry sales research has long shown that the odds of connecting and qualifying a web-generated lead drop sharply when callback is delayed from minutes to hours. For roofing LSA, that means:

  • A missed call at 2pm that you return at 6pm is often a dead lead — they booked the roofer who answered.
  • An after-hours lead that sits until morning is worth a fraction of one you catch live.
  • "I'll call them tomorrow when I'm off the roof" is how you turn a $45 charge into a $45 donation to Google.

If you cannot staff fast callbacks — a real person or a tight answering process within minutes, not hours — your effective cost per signed job on LSA will be far worse than the table above, and you may conclude (wrongly) that LSA "doesn't work," when really your intake is the leak.

Building the intake process that protects your spend

Because intake is the single biggest variable in LSA economics, treat it as a process you design, not a thing that happens when the phone rings. The shops that get LSA to pay have a written intake play, and it usually looks like this.

A dedicated person or rotation owns the LSA inbox during business hours, with no other job that pulls them off it. The moment a missed call comes in, they call back inside five minutes — and if the homeowner doesn't pick up, they text immediately ("Hi, this is Dana from Summit Roofing, you just reached out about your roof — when's a good time for a quick look?") and then keep a callback cadence: a second attempt within the hour, a third the same afternoon, then morning and evening over the next two days. Most lost LSA leads aren't lost on the first ring; they're lost because nobody tried a second time.

The intake person works from a short qualifying script, not a freeform chat. Four questions do most of the work: What's going on with the roof? When did you notice it? Is the home owner-occupied (and are you the owner)? What's the address? Those four answers tell you whether the lead is real, whether it's in your area, whether it's storm-related, and whether it's worth a truck roll. They also feed straight into your dispute decision — if the answer to "what's the address" is two counties away, you've got your dispute reason documented in the same breath you discovered it.

Set service-level targets the same way a good shop sets production targets: speed-to-first-contact under five minutes, at least five contact attempts before a lead is marked dead, every inbound logged with a first-touch source the same day, and every junk lead disputed before close of business. When you miss those targets, you'll see it in the cost per signed job within two weeks — which is exactly why you keep the scorecard.

After hours and weekends — where storm money is won or lost

Roofing demand doesn't respect a 9-to-5, and storm spikes especially come in the evening after homeowners get home and look at their ceilings. An LSA budget that runs around the clock but an intake process that stops at 5pm is a guaranteed leak. You have three workable options, in rough order of cost and effectiveness:

  1. A live answering service trained on your four qualifying questions, briefed to book inspections and capture the address. The good ones text you a summary immediately so your team can confirm the same evening.
  2. A rotating on-call person on your own staff who carries the LSA line nights and weekends during storm season, paid a small stipend for the coverage. This keeps a knowledgeable voice on the line, which converts better than a generic call center.
  3. At minimum, an LSA-connected scheduler and an instant auto-text so a after-hours homeowner can self-book or knows they'll hear from you first thing — paired with a hard rule that the first morning call goes to overnight leads before anything else.

What does not work is letting evening and weekend leads pile up in a voicemail box you check Monday. By Monday those homeowners have a roofer on the calendar, and you paid for the privilege of being too late.

Is LSA worth it for roofers? A decision framework

"Worth it" is not a yes/no. It is a set of conditions. LSA tends to pencil out when most of these are true, and tends to disappoint when they are not.

LSA is more likely to be worth it when:

  1. You can respond to leads within minutes during business hours, and you have an after-hours plan. Speed is the whole game.
  2. Your average job value is high enough that a $200–$600 acquisition cost is a small fraction of gross margin. Reroofs and storm jobs clear this bar easily; one-off repairs may not.
  3. You are licensed and insured cleanly and can pass Google's screening. The badge is a real advantage; if you can't get it, you lose the main edge.
  4. You operate in a market with genuine search demand for roofing and aren't in a tiny rural area with almost no "roofer near me" volume.
  5. You have a CRM or at least a disciplined tracking habit, so you know your cost per signed job and aren't flying blind on cost per lead.
  6. You will actually dispute junk leads every single day.

LSA is more likely to disappoint when:

  1. Your office can't return calls fast. You will pay for leads competitors close.
  2. You do mostly small repairs where the acquisition cost eats the margin.
  3. You're in a hyper-competitive storm metro where bids spike and out-of-town crews flood the auction, driving cost per lead up.
  4. You don't track outcomes, so you can't tell a good week from a bad one and you can't optimize.
  5. You expect exclusivity. You'll be frustrated competing for the same homeowner.

A simple gate: before you turn LSA on, write down your average job value, your gross margin percentage, and an honest estimate of your lead-to-sale close rate. If average job value times margin times close rate comfortably exceeds your expected cost per lead, LSA can work. If it's close or negative, fix intake and close rate first — turning on a lead spigot over a leaky funnel just spends faster.

LSA versus the other channels roofers buy

LSA is one tool. The mistake is treating it as the channel instead of a channel. Here's how it stacks against the alternatives roofers actually use, with the honest tradeoffs.

Channel You pay for Exclusivity Control over WHO you reach Best at
Local Services Ads Per lead (contact) None Low — Google picks who sees you by query High-intent inbound, fast
Google PPC search Per click None Medium — keywords/geo Inbound when you can convert clicks
Angi / lead marketplace Per lead, often shared None — sold to several Low Volume, lowest intent/quality
Direct mail to old roofs Per piece printed/mailed Full High — you choose the addresses Owning a neighborhood, repeatable
Door knocking Crew time/payroll Full High — you choose the streets Storm response, face-to-face trust
Your past-customer list Almost free Full Highest — people who know you Referrals, reroofs coming due

Two things jump out of that table.

First, every paid inbound channel — LSA, PPC, Angi — shares a structural weakness: you don't control who you reach. You reach whoever happens to search at that moment, and on the shared channels you reach them at the same time as your competitors. You are renting access to a homeowner the platform also rents to others.

Second, the channels where you choose the address — mail, knocking, your own list — give you control over targeting that inbound never can. The catch is that historically those channels were a blunt instrument: you mailed the whole ZIP, knocked the whole street, and most of those roofs didn't need you. That waste is why a lot of roofers gave up on mail and ran to pay-per-lead in the first place. The fix is not to abandon outbound — it's to make outbound surgical, which is exactly where targeting data changes the math.

Where RoofPredict fits: stop renting the homeowner, own the targeting

RoofPredict is not a lead service and it is not another pay-per-lead spigot. It's the operations platform a roofing contractor runs their outbound and revenue cycle on. The reason it belongs in a discussion about LSA is that it attacks the structural weakness of pay-per-lead head-on: control over who you reach and what each acquisition costs.

Here is what a roofer actually does with it, mapped to the LSA problem.

You build a ranked audience of the roofs that are actually due — instead of bidding for whoever searches. RoofPredict scores every home in your service area by roof-age band (recent, mid-life, due, overdue) plus per-roof storm exposure, and produces a ranked list of which roofs are due, house by house, each with a "why this home" evidence chain. You draw your territory on a hex map, filter to storm-hit areas, or import an address list by CSV. The output is the opposite of LSA: instead of paying $45 for a homeowner who also called two competitors, you get a list of the specific homeowners whose roofs are old enough to replace and who nobody else has contacted yet. Roof age here is a range, not an exact date, and storm exposure is modeled odds — useful for targeting, not a claim that a specific roof is damaged.

You turn that list into tracked outbound you control. RoofPredict takes the due-roof list and runs it as a tracked direct-mail campaign: personalized mail proofs with brand, copy, and address checks, vendor release, per-piece delivery and return tracking, and a cost quote up front. Every targeted home gets a personalized report — roof profile, storm history, risk, and a cost-of-waiting view — as a PDF and a public microsite with a lead-capture form, plus per-home and lookup QR codes for the mail pieces and door hangers. For the crew, you build door-knock routes, assign canvassers, and run a mobile field app with next-stop, outcome forms, voice notes, and a leave-behind QR, with live route progress. This is the surgical version of the outbound channels in the table above — you choose the address, but now the addresses are the ones worth choosing.

You stop letting LSA leads leak. Every first touch flows into a lead pipeline (new to contacting to appointment to inspected to won/lost) with an immutable first-touch source, so an LSA lead is tagged as an LSA lead forever and you can see its true cost per signed job, beyond the cost per lead Google shows you. RoofPredict syncs two-way with 13 CRMs including HubSpot, ServiceTitan, JobNimbus, AccuLynx, Jobber, Housecall Pro, Salesforce, Pipedrive, Leap, Roofr, SalesRabbit, and CompanyCam, plus Zapier and CSV. If you already live in JobNimbus or AccuLynx, the LSA lead and the mail lead and the door-knock lead all land there with their source intact.

The honest framing: RoofPredict won't make Google's auction cheaper, and it won't answer your LSA calls for you. What it does is reduce your dependence on the channel where you control the least. A roofer should own their next job, not rent it from a platform that resells the same homeowner. LSA can be one inbound lane; RoofPredict is how you build the lanes you own.

Measuring LSA honestly: the results funnel that ends the guessing

The most common LSA failure isn't bad leads — it's not knowing. Roofers tell me "LSA didn't work" and when I ask their cost per signed job, they don't have it. They have cost per lead, because that's the number Google shows them, and cost per lead is the number that matters least.

You need the whole funnel, from spend to win, with money attached at each step. RoofPredict's results view is built for exactly this comparison: delivered to views to form to calls to leads to wins, with cost-per-lead and cost-per-win, and — this is the part that ends arguments — actual versus estimate versus an industry benchmark, plus A/B variants on campaigns. You point it at LSA the same way you point it at a mail campaign, and you finally see which channel buys you the cheapest signed roof, not the cheapest lead.

Here's the minimum scorecard you should keep for LSA, whether in RoofPredict or a spreadsheet, reviewed weekly:

Metric How to get it Why it matters
Leads received LSA dashboard Top of funnel
Junk leads disputed Your daily dispute log Reveals real, not gross, spend
Credited disputes LSA dashboard Your true net spend
Net spend Charges minus credits The denominator for everything
Qualified leads CRM, first-touch tagged Strips out junk that wasn't disputed
Appointments set CRM Tests your intake speed
Signed jobs CRM, source = LSA The only outcome that pays you
Cost per signed job Net spend / signed jobs The verdict on LSA
Revenue from LSA jobs CRM Confirms job value assumption

If you keep this for 60–90 days, "is LSA worth it" stops being an opinion. You'll see your real cost per signed job, you'll see how it compares to mail and knocking, and you'll be able to shift budget toward whatever buys signed roofs cheapest. Most roofers who do this discover two things: their LSA cost per signed job is acceptable but their junk-dispute discipline was costing them, and their owned channels (mail to due roofs, past-customer reactivation) quietly produce the cheapest signed jobs of all.

Storm work and LSA: capture the intent, stay on the right side of the line

A large share of roofing's search demand spikes after a hail or wind event, and LSA volume spikes with it. This is also where roofers get themselves in legal trouble, so let's be precise.

Your LSA profile and your ad presence can absolutely capture storm-driven search intent. A homeowner who just took hail and searches "storm damage roof inspection [city]" is high intent, and there's nothing wrong with showing up for that and booking an inspection. What you must not do — in your ads, on your microsite, on the call, or at the door — crosses into unlicensed public adjusting in most states. Keep this list visible to everyone who handles storm leads:

Do not say (the compliance no-go list):

  • "We'll handle your insurance claim" / "we deal with the adjuster for you."
  • "We'll get your claim approved" or any promise of a specific payout or approval.
  • "Your deductible is waived / absorbed / on us / disappears."
  • "Free roof" or any version of "the insurance pays, you pay nothing."
  • Any interpretation of the homeowner's policy or what's covered.
  • Anything that represents the homeowner against their insurer.

What you can do, honestly and legally:

  • Inspect the roof and document conditions thoroughly with dated photos.
  • Write an accurate, Xactimate-aligned estimate to repair your own scope of work.
  • State facts about your scope to the carrier when asked.
  • Hand the documentation and estimate to the homeowner. The homeowner files. The insurer decides coverage.

That's the safe frame, and it's also a better business: you compete on thorough documentation and an accurate estimate, not on promises you can't legally make. A forecast that a roof was exposed to storm conditions is odds based on roof age and modeled storm exposure — it is targeting and inspection-prioritization information, not proof that a specific roof is damaged. The inspection determines damage; the homeowner and insurer determine coverage.

Where RoofPredict helps on the storm side without touching any of the forbidden ground: it tells you which roofs likely qualify for a closer look — old enough by age band and inside the modeled storm footprint — so your inspectors prioritize the right addresses instead of canvassing blind. And on the documentation and estimating side, RoofClaim, the integrated claim revenue-cycle tooling, handles intake linked to the home, OCR and auto-classification of claim documents, and opportunity detection that maps estimate line items against a roofing knowledge base to flag missing scope, code-required items, and missed supplements with evidence anchors and pricing — on locked, UPPA-gated, contractor-documentation-only templates. It also runs recoverable-depreciation tracking (completion evidence plus final-invoice checklist), deductible tracking, and supplement aging with a follow-up cadence and packet-completeness scoring. All of that lives strictly on the document and estimate side. None of it negotiates, handles, or interprets the claim — that stays with the homeowner and the carrier, where the law puts it.

Setting up LSA the right way (a practical checklist)

If you decide to test LSA, do it deliberately. Here's the setup and operating checklist that separates a clean test from a money leak.

Before you launch:

  1. Get your license and insurance documents ready for Google's screening and pass the background/verification check so you earn the Google Guaranteed badge.
  2. Define your real service area honestly — set geography tight enough that you won't be paying for leads you'd never drive to. You can dispute out-of-area leads, but it's better not to attract them.
  3. List only services you actually perform and want. If you don't do flat commercial, don't list it; junk-out-of-scope leads cost time even when credited.
  4. Set a weekly budget you can afford to spend with zero return for the first two weeks while you learn. Treat the first two weeks as tuition.
  5. Decide who answers the phone and within how many minutes, including after hours and weekends — storm leads don't keep business hours.

While it's running:

  1. Track first-touch source for every lead in your CRM, tagged LSA, so you can compute cost per signed job later.
  2. Dispute every junk lead the same day, with a one-line reason. Keep a log.
  3. Review your weekly scorecard (the table above). Watch cost per signed job, not cost per lead.
  4. Mind your reviews — LSA ranking leans heavily on review count, recency, and rating. Build a habit of requesting a review at every job close.
  5. Keep your responsiveness high. Google factors how fast and how often you respond to leads into who it shows.
  6. After 60–90 days, compare LSA's cost per signed job against your owned channels and reallocate. Don't run it on autopilot.

What drives LSA ranking (so you can compete for volume)

Google doesn't publish a formula, but it's consistent about the inputs that move your visibility in the LSA unit:

  • Review score and volume, with recency weighted. A steady stream of recent 5-star reviews matters more than a pile of old ones. Roofing closes a job and goes silent; the disciplined shop asks for the review at handoff.
  • Proximity of the searcher to your business and service area.
  • Responsiveness — how quickly and reliably you answer leads. Slow responders get throttled.
  • Profile completeness and verification status, including the Google Guaranteed badge.
  • Budget and bid, which affect how often you're eligible to show, especially in competitive windows.

The practical takeaway: reviews and response speed are the two ranking levers you most directly control, and they happen to be the same two levers that drive your close rate. Investing in fast intake and a review-at-close habit pays off twice — better ranking and better conversion on the leads you get.

Common mistakes roofers make with LSA

After watching a lot of roofers run this channel, the failure modes repeat:

  1. Optimizing cost per lead instead of cost per signed job. The cheapest lead is often the worst lead. Chase signed roofs.
  2. Slow callbacks. The single biggest leak. A four-hour delay on a non-exclusive lead is usually a lost job.
  3. Not disputing junk. Leaving 10–20% of charges on the table because nobody flags the robocalls and out-of-area calls.
  4. No source tracking. Running LSA, mail, and knocking at once with no first-touch tagging, so they can't tell which channel actually buys jobs.
  5. Treating it as set-and-forget. Budgets and bids drift, junk rates climb, reviews go stale. LSA rewards weekly attention.
  6. Listing services they don't want. Inviting out-of-scope leads to save a checkbox.
  7. Going all-in on inbound. Putting the whole budget into channels where they control the least, then having nothing when the auction gets expensive in a storm market. The owned channels — mail to due roofs, past-customer reactivation, targeted knocking — are the ballast.
  8. Confusing busy with profitable. A flood of cheap leads that don't close feels like progress and is actually a payroll drain on the intake team.

A 90-day LSA test plan that gives you a real answer

Most roofers who say LSA "didn't work" never actually ran a test — they turned it on, spent for a few weeks, got busy, and turned it off on a hunch. A real test is structured so that at the end you have a number, not a feeling. Here's a 90-day plan you can run.

Weeks 1–2 — calibration. Launch with a modest weekly budget — enough to generate roughly 15–25 leads a week in your market, not your whole ad budget. The goal here isn't profit, it's learning your market's cost per lead, your junk rate, and whether your intake holds up under live volume. Tag every lead's first-touch source from day one. Dispute junk daily. Expect this period to look unprofitable; you're buying data.

Weeks 3–6 — tighten. Now you fix what calibration exposed. If junk leads are high, narrow your service area and trim the services you list. If callbacks are slow, fix the intake rotation before you spend another dollar. Start the review-at-close habit immediately, because review volume compounds slowly and you want momentum by the time you're judging results. Hold budget steady so you're comparing like with like.

Weeks 7–12 — measure for the verdict. With intake fixed and junk under control, this is the clean read. Track the full scorecard weekly. At the end, you'll have a defensible cost per signed job from LSA, computed as net spend (after dispute credits) divided by jobs actually signed and tagged LSA in your CRM.

Then make the call with three comparisons:

Comparison What it tells you
LSA cost per signed job vs. your gross profit per job Whether each LSA job is profitable at all
LSA cost per signed job vs. mail / knocking / past-customer Where your marginal dollar buys the cheapest signed roof
LSA cost per signed job in week 2 vs. week 12 Whether your fixes (intake, reviews, geography) actually moved it

If LSA's cost per signed job lands comfortably under your gross profit per job and is competitive with your other channels, keep it and consider scaling the budget. If it's profitable but your worst channel, keep it small and put growth dollars into your better channels. If it's underwater even after you fixed intake, your market's auction is too hot for your margins, and the honest answer for you is to lean on the channels you control.

The point of the structure is to separate "LSA doesn't work" from "my intake doesn't work" and from "my market is too expensive" — three very different conclusions that all feel identical if you never measured.

Scaling LSA without blowing up your cost per job

Say the test works and you want more. Scaling LSA isn't simply turning the budget up — raising the budget in a thin market just buys you the junkier tail of leads at a higher average cost. The levers that scale LSA profitably are mostly off-platform:

  • Reviews. More recent reviews lift your ranking, which earns you more impressions at the same bid, which lowers your effective cost per lead. A shop generating ten new reviews a month will, over a year, out-rank an equally good shop that asks for none. This is the highest-leverage thing you can do.
  • Geography expansion done carefully. Adding an adjacent town can add volume — but only if you can actually serve it at the same close rate. Expanding into an area you'll be slow to drive to just raises your dispute rate and hurts conversion.
  • Service expansion you actually want. Turning on repairs as well as replacements adds volume, but at a lower job value, so it can drag your average cost per signed job in the wrong direction unless you price and route repairs profitably.
  • Intake capacity. Doubling lead volume with the same one-person intake desk means slower callbacks and a lower close rate — so the marginal leads cost you more than the first ones. Scale intake staffing in step with budget, or the math degrades as you grow.

The trap is scaling the spend without scaling the things that make spend efficient. The roofers who grow LSA profitably grow reviews and intake first, then turn up the budget into the headroom that creates.

So, are Local Services Ads worth it for roofers?

Yes — conditionally, and as one lane, not the whole road.

LSA is worth it when you can answer fast, your job value is high enough to absorb a $200–$600 acquisition cost, you can earn the Google Guaranteed badge, you operate in a market with real search demand, and you track cost per signed job and dispute junk religiously. Under those conditions it delivers high-intent inbound at a profitable cost per job, and the badge buys you trust the regular ads can't.

It disappoints when intake is slow, the work is low-margin repairs, the market is a hyper-competitive storm metro where bids spike, or — most often — when the roofer never tracks outcomes and can't tell whether it's working.

The deeper point is about dependence. Every pay-per-lead channel, LSA included, rents you a homeowner the platform also rents to your competitors, at a price the platform sets and raises when demand spikes. That's fine as one source of work. It's dangerous as your only source. The roofers who stay profitable through good seasons and bad are the ones who also own their targeting — who know which roofs in their own service area are due, who mail and knock those specific addresses, and who reactivate their own past customers — so they're never fully at the mercy of an auction.

That's the role RoofPredict plays next to LSA. Keep LSA as an inbound lane if the math works for you. But build the lanes you own alongside it: a ranked, house-by-house list of the roofs that are actually due in your area, turned into tracked mail proofs, personalized homeowner microsites and QR codes, and door-knock routes for your crew — all flowing into one lead pipeline with two-way sync to the CRM you already use, measured on a delivered-to-wins funnel that shows your real cost per signed roof against estimate and benchmark. And when storm season hits, prioritize the right roofs by age and modeled exposure and document them cleanly with RoofClaim's estimate-and-supplement tooling — strictly on the documentation side, never handling the claim.

Run the test. Keep the scorecard for 90 days. Let cost per signed job, not cost per lead, tell you the truth. And don't bet the whole company on a channel where you control the least — own your next job instead of renting it. If you want to see what owning your targeting looks like on your own streets, book a demo and we'll walk your service area with you.

FAQ

What's the difference between Local Services Ads and regular Google Ads for roofers?

Regular Google Ads (PPC) charge you per click — every time someone taps your ad, whether or not they ever contact you. Local Services Ads charge you per lead — only when a prospective customer calls, messages, or books. LSA also sits above the PPC ads at the very top of the page and carries the Google Guaranteed badge after Google verifies your license, insurance, and background. PPC gives you more control over keywords and landing pages; LSA gives you higher placement, a trust badge, and pay-for-contact pricing. Many roofers run both.

How much does a roofing lead cost on Local Services Ads?

There's no fixed price. LSA pricing is bid-based and market-driven, so cost per lead moves with how many roofers compete in your area, the season, and storm activity. A quiet suburban market runs lower; a hail-hit metro in peak season runs much higher and can spend your weekly budget fast. The number that actually matters isn't cost per lead anyway — it's cost per signed job, which depends heavily on how fast you respond and your close rate. Track that in a CRM rather than judging LSA on lead price alone.

Can I get a refund for bad leads on LSA?

Yes, through Google's dispute process — but it's credits, not cash, and it's not automatic. You can dispute leads that are clearly out of scope: wrong service, far outside your service area, spam, robocalls, solicitations, or someone you could never serve. You have to flag each one within Google's window and they review it; approved disputes return as account credits. Disciplined roofers dispute every junk lead the same day it comes in. The difference between disputing and ignoring junk can be 10–20% of your spend over a month.

Are LSA leads exclusive to my company?

No. Local Services Ads are not exclusive. The same homeowner shown your business in the LSA unit can — and often does — contact two or three other roofers at the same time. That's why speed-to-contact is the whole game: the roofer who calls back first, while the homeowner still has the phone in their hand, wins a disproportionate share. If you can't return calls within minutes during business hours and have an after-hours plan, your effective cost per signed job on LSA will be much worse than the headline lead price suggests.

How do I rank higher in Local Services Ads?

Google doesn't publish a formula, but the consistent inputs are review score and volume with recency weighted, proximity of the searcher to your service area, your responsiveness to leads, profile completeness and Google Guaranteed verification, and your budget/bid. The two levers you most directly control are recent reviews and fast, reliable response. Build a habit of requesting a review at every job close, and make sure someone answers and returns LSA contacts quickly. Those same two habits also raise your close rate, so they pay off twice.

Is LSA better than Angi or HomeAdvisor for roofers?

They're different. Angi/HomeAdvisor is a marketplace that often sells the same lead to several contractors and runs its own profiles; intent and quality are typically lower. LSA shows inside Google search itself, above the regular ads, with the Google Guaranteed badge, and tends to carry higher buyer intent. Both are pay-per-lead and neither is exclusive. Most roofers find LSA's lead quality higher, but the only way to know for your market is to track cost per signed job on each channel for 60–90 days and compare.

Should LSA be my only marketing channel?

No. Every pay-per-lead channel — LSA, PPC, Angi — rents you a homeowner the platform also rents to competitors, at a price the platform sets and raises when demand spikes. That's fine as one lane, risky as your only one. The roofers who stay profitable through slow and storm seasons also own their targeting: they know which roofs in their own area are due, mail and knock those specific addresses, and reactivate past customers. Use LSA as inbound, but build the channels you control alongside it so you're never fully at the mercy of an auction.

Can I use LSA to target storm-damage homeowners without breaking the law?

You can show up for storm-driven searches and book inspections — that's fine. What crosses into unlicensed public adjusting in most states is promising to handle or get the claim approved, promising a specific payout, saying the deductible is waived or that the roof is free, or interpreting the homeowner's policy. Stay on the documentation side: inspect, photograph, write an accurate estimate for your own scope, and hand it to the homeowner, who files with their insurer, who decides coverage. Compete on thorough documentation and an accurate estimate, not on promises you can't legally make.

What's a good cost per signed job from LSA for a roofer?

It depends on your average job value and margin, but here's the frame: if a typical reroof brings $12,000 at a 30–40% gross margin, then a $200–$600 cost to acquire that job is comfortably profitable on margin alone. At a usable-lead cost around $45, that range corresponds to roughly an 8–25% lead-to-signed close rate — which is why your close rate, driven by callback speed and lead qualification, matters more than the lead price. Compute it as net LSA spend divided by jobs signed from LSA, and compare it against your other channels.

How does RoofPredict work with or instead of LSA?

RoofPredict isn't a lead service or another pay-per-lead spigot — it's the operations platform you run outbound and your revenue cycle on, and it attacks LSA's main weakness: control. It scores every home in your area by roof-age band and modeled storm exposure to produce a ranked, house-by-house list of roofs that are actually due, then turns that into tracked direct mail, personalized homeowner microsites and QR codes, and door-knock routes. Every lead — including your LSA leads — flows into one pipeline with immutable first-touch source and two-way sync to 13 CRMs, measured on a delivered-to-wins funnel showing real cost per signed job. Keep LSA as an inbound lane; use RoofPredict to own the targeting you don't control on LSA.

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. Google Local Services Ads — Help Centersupport.google.com
  2. Google Local Services Ads — Product Overviewads.google.com
  3. Federal Trade Commission — Advertising and Marketing Basicsftc.gov
  4. NRCA — National Roofing Contractors Associationnrca.net
  5. IBHS — Insurance Institute for Business & Home Safety, Roofing Researchibhs.org
  6. NOAA Storm Prediction Center — Storm Reportsspc.noaa.gov
  7. National Weather Service — Thunderstorm and Hail Safetyweather.gov
  8. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  9. National Association of Insurance Commissioners — Public Adjusterscontent.naic.org
  10. International Code Council — International Residential Code (IRC)codes.iccsafe.org
  11. U.S. Bureau of Labor Statistics — Roofers Occupational Outlookbls.gov
  12. U.S. Census Bureau — American Housing Surveycensus.gov
  13. OSHA — Fall Protection in Residential Constructionosha.gov
  14. RoofPredictroofpredict.com

Related Articles