How to Optimize Google Local Service Ads for Roofers: 12-Step Checklist

Google Local Service Ads (LSAs) are the single most profitable acquisition channel most roofing contractors will ever run — when they’re configured correctly. They sit above Search ads, charge per lead instead of per click, and carry the Google Guaranteed badge that homeowners instinctively trust over a generic Search result.

But here’s what nobody tells you on the way in: LSAs reward operational discipline more than they reward marketing skill. The roofers who win on LSAs aren’t the ones with the cleverest copy. They’re the ones who answer the phone in under 30 seconds, dispute every junk lead within 48 hours, and treat their LSA profile like a living business asset instead of a “set and forget” listing.

This is a 12-step optimization checklist built from managing LSA accounts for roofing contractors across the US. It’s structured so you can work through it sequentially over a week, or pull individual steps when you spot a specific problem. Lead-score thresholds, response-time benchmarks, screenshot guidance, and a dispute-handling playbook are baked into the relevant sections.

If you’d rather hand the whole thing off, our roofing PPC management service handles LSAs, Search, and Performance Max as a unified system. But the checklist below works whether you run it yourself or hand it to a manager.


Before You Start: A Quick Reality Check

LSAs are not Search ads. Three differences change everything:

  1. You pay per lead, not per click. A “lead” can be a phone call, a message, or a booking — and Google decides what counts. Your job is to make sure only the right leads get charged.
  2. Ranking is driven by review count, response rate, response time, proximity, and dispute history — not bids. You can’t outspend a slow-responding competitor. You can outrespond them.
  3. You don’t write ad copy. Google generates the listing from your business profile, services, and reviews. Optimization happens at the profile and operations level, not at the creative level.

Internalize that, and the rest of this checklist will make sense.


The 12-Step LSA Optimization Checklist for Roofers

Step 1: Lock Down Your Service Categories and Job Types

This is the lever most roofers leave on the table. When you set up an LSA account, Google asks you to select a service category (Roofer) and then a list of job types underneath it (e.g., Roof Installation, Roof Repair, Gutter Installation, Roof Inspection).

What to do:

  • Open your LSA dashboard → ProfileJob Types.
  • Enable every job type you actually perform and want leads for. Disable anything you don’t (e.g., if you don’t do gutters, turn off Gutter Installation — those leads will still cost you and they’ll lower your booking rate).
  • If you serve both residential and commercial, decide whether you want commercial leads in this account at all. Commercial inquiries through LSAs are usually low-quality because the form is built for homeowners. Most contractors are better off keeping LSAs residential-only and running Search ads for commercial.

Screenshot to capture: Your Job Types screen with the toggles you’ve enabled. Save it dated — you’ll want to refer back when performance shifts.

Watch out for: “Storm Damage” and “Emergency Roof Repair” are high-intent but high-cost-per-lead categories. Only enable them if you can dispatch the same day.


Step 2: Service Area — Tighter Is Almost Always Better

Default behavior is to set your service area as wide as possible “to get more leads.” This is a mistake that costs roofers thousands per month.

Why tightening helps:

  • LSA proximity is a major ranking factor. The closer the lead is to your business address, the higher you rank for them.
  • Travel time eats your booking rate. A roofer driving 90 minutes for an estimate closes worse than one driving 20.
  • Wider areas mean more competition from specialized local roofers in each ZIP, dragging your average rank down.

What to do:

  • Pull your last 90 days of closed jobs. Map them by ZIP.
  • Identify the ZIPs that account for 80% of revenue. That’s your core service area.
  • In LSA → ProfileService Area, restrict to ZIPs (not radius — ZIP control is more precise).
  • Add tier-2 ZIPs (where you’d take a job but won’t chase) only if you have spare crew capacity.

Benchmark: Most successful single-location roofers run LSAs in 15–35 ZIPs, not 100+. If your service area has more than 50 ZIPs, you’re probably leaking spend.


Step 3: Hit the Review Velocity Threshold That Actually Moves Rankings

Reviews are the single biggest LSA ranking factor you control directly. But it’s not just total review count — it’s velocity (how many you get per month) and recency.

Lead-score thresholds for review performance:

Review ProfilePerformance TierAction
< 10 reviews, < 4.5 starsBelow thresholdLSA will barely show — fix immediately
10–25 reviews, 4.5+ starsMinimum competitiveShowing, but losing rank to anyone with more
25–75 reviews, 4.7+ stars, 2+/month velocityHealthyTop-3 ranking achievable
75+ reviews, 4.8+ stars, 4+/month velocityDominantTop-1 ranking sustained

What to do:

  • Set a target of 2 new Google reviews per week minimum during your active roofing season.
  • After every completed job, send the review request from inside the LSA app (not generic Google review links). LSA-sourced reviews carry a verification mark and weight more heavily.
  • The request flow: text the homeowner the same day the job is signed off, with a one-tap link. Don’t wait. Same-day requests convert at roughly 35–40%; week-old requests convert at under 10%.
  • If you have a backlog of customers from the last 6 months who never left a review, run a one-time outreach campaign. Be honest about what you’re doing — homeowners respond well to “We’re trying to grow, would mean a lot.”

Step 4: Response Time — The Benchmark That Decides Your Rank

This is the one nobody wants to hear. Google ranks LSAs based on how fast you respond to leads, and the bar is brutal.

Response-time benchmarks for roofers:

ChannelTarget Response“Acceptable” CeilingPenalty Zone
Phone callsAnswer on ring 2–4 (under 15 sec)Under 60 secondsVoicemail = booking-rate hit
LSA messagesReply within 5 minutesUnder 30 minutesOver 1 hour = ranking drop
Booking requestsConfirm within 10 minutesUnder 1 hourSame as messages
After-hours callsVoicemail with callback promiseCallback by 8 AM next dayMissed callback = dispute risk

What to do:

  • Audit your current pickup rate. In the LSA dashboard → Leads → filter by “Phone calls” and check the call recording timestamps. If more than 15% of calls go to voicemail during business hours, your rank is being suppressed and you don’t know it.
  • Get a dedicated answering service if you can’t staff phones reliably. The math almost always works: a $400/month answering service that lifts your booking rate from 22% to 35% pays for itself inside two leads.
  • For LSA messages, set push notifications on the mobile app for every team member with access. Don’t rely on one person.
  • Block the LSA number in your phone as a VIP contact so it never goes to silent.

Watch out for: Google’s “response rate” metric counts any reply, even a one-word “Got it.” Your booking rate is what actually drives revenue. Don’t game the response rate at the expense of substance.


Step 5: Set Your Weekly Budget Based on Booked Jobs, Not Lead Count

Most roofers set an LSA weekly budget based on how many leads they “want.” This produces wildly inconsistent spend and makes it impossible to evaluate ROI.

The formula:

 
 
Weekly Budget = (Target Booked Jobs per Week) × (Avg Cost per Lead) × (1 / Booking Rate)

Worked example for a residential repair-focused roofer:

  • Target: 5 booked jobs per week
  • Avg LSA cost per lead: $65
  • Booking rate (lead → estimate scheduled): 30%
  • Weekly budget needed: 5 × 65 × (1 / 0.30) = $1,083/week

If you set your budget to $500/week with these inputs, you’ve capped yourself at 2.3 booked jobs and you’ll be confused about why you’re not scaling.

What to do:

  • Pull 90 days of LSA data: total spend, total leads, total booked jobs.
  • Calculate your real cost per lead and booking rate.
  • Reverse-engineer the weekly budget needed for your job-volume target.
  • Check the monthly budget cap as well — Google may charge up to 2× your weekly budget in any given week if demand is high. Make sure your cash flow can handle the variance.

Step 6: License, Insurance, and Background Check Verifications

The Google Guaranteed badge requires three things: business license, liability insurance, and a passed background check on each owner/operator. Most roofers complete these once at setup and never revisit.

What to do:

  • Open LSA dashboard → ProfileVerifications.
  • Check expiration dates on all three. Mark them in your calendar 60 days before expiration. A lapsed license suspends your ad immediately and re-verification can take 5–10 business days.
  • If you’ve added new owners or supervisors in the last year who have customer-facing roles, run them through background checks now. Google occasionally audits and a missing check can suspend the account.
  • Keep digital copies of everything in a shared folder. When a verification renewal request comes in, you should be able to upload the new document inside 30 minutes.

Screenshot to capture: Your Verifications page showing all three items as “Verified” with the expiration dates.


Step 7: Photos That Actually Get Clicks

LSA listings show 4–6 photos in the expanded view on mobile. These photos are not optional — they are the difference between a 2.1% click-to-call rate and a 4.8% one.

What to upload:

  • Hero shot: A finished roof in your most common style (asphalt shingle, metal, tile — whatever you do most). Daylight, no ladders or trucks in frame.
  • Before-and-after pairs: 2 sets minimum. Storm damage repair is the highest-converting before/after for residential.
  • Crew on-site photo: Branded shirts, clean trucks, homeowner standing with the lead. Builds local trust.
  • Avoid: Stock photos (Google’s image-recognition flags these), close-ups of materials with no context, anything blurry.

Specs:

  • Minimum 1024 × 1024 pixels
  • JPG or PNG
  • Under 5 MB each
  • Geotag the photos with your service area’s metadata if you can — some optimization tools claim this helps with proximity ranking. Evidence is mixed but it doesn’t hurt.

Step 8: Bidding Strategy — Max Per Lead vs. Set Number of Leads

LSA gives you two bidding modes. Most roofers default to “Max Per Lead” because it sounds more controlled. It’s usually the wrong choice.

Bidding ModeBest ForRisk
Max Per LeadNew accounts learning their numbers; markets with very high CPL volatilityCaps your impression share; if you bid below market, you barely show
Set Number of Leads (Maximize Leads)Established accounts with stable booking ratesGoogle may pay above your historical CPL on individual leads, but optimizes for total volume

What to do:

  • If your account has run for less than 60 days, stay on Max Per Lead at roughly 1.3× your local average CPL. Use the LSA dashboard’s “Industry average” benchmark in the Bidding section.
  • Once you’ve collected 60+ days of data and your booking rate is stable, switch to Maximize Leads. In our experience, this lifts lead volume by 20–40% without meaningfully hurting unit economics for most roofers.
  • Re-evaluate quarterly. If your booking rate drops, switch back to Max Per Lead and tighten until you fix the operational leak.

Step 9: Listen to Every Call Recording for the First 30 Days

This is the unglamorous step that separates the top 10% of LSA accounts from the rest. Google records every LSA call. You can listen to all of them in the dashboard.

What you’re listening for:

  • Lead quality: Was this a real homeowner with a real roof? Or a junk lead that should be disputed?
  • CSR/intake performance: Did your team ask the right qualifying questions? Did they book the appointment, or did they let the homeowner say “I’ll think about it”?
  • Common objections: What are the top 3 reasons homeowners hesitate? Those become your sales-script answers and your follow-up email content.
  • Pricing pushback: Are you getting priced-out before the inspection, or is the pricing happening on-site?

What to do:

  • For the first 30 days of optimization work, listen to 100% of recorded calls. Yes, it’s tedious. Do it once.
  • After 30 days, sample 25% per week.
  • Build a one-page CSR playbook from what you hear. Update it monthly.

Screenshot to capture: The Leads tab with the call-recording playback icons visible — useful for training new team members on where to find these.


Step 10: Dispute Handling — A Step-by-Step Playbook

This is where most roofers leave money on the table. Google allows you to dispute leads that don’t meet quality criteria. Approved disputes refund your spend. Most roofers either don’t dispute at all, or they dispute too aggressively and damage their account standing.

Leads that qualify for dispute (will usually be approved):

ReasonExample
Outside service areaLead is for a ZIP outside your set service area
Not a service you offerCaller asked about chimney repair; you only do roofs
Spam / robocallMarketing call, not a real homeowner
Wrong customerCustomer dialed wrong number, no inquiry made
Booking duplicateSame lead came through both phone and message
Customer hung up before identifying needCall under 30 seconds with no service discussion

Leads that do NOT qualify (don’t waste a dispute):

  • Customer who priced you out and didn’t book
  • Customer who ghosted after the first conversation
  • Tire-kickers who “just want a quote” with no intent to buy
  • Property managers (if commercial is enabled in your account)

The dispute workflow:

  1. Within 48 hours of the lead arriving, open it in the dashboard → click Dispute Lead.
  2. Choose the most accurate reason from the dropdown. Don’t pick “Spam” if it’s actually “Wrong service.”
  3. Write a specific, factual note: “Caller asked for chimney repointing. We are roofing-only and do not offer chimney services. Call ended at 0:42 with referral to a chimney specialist.” Vague reasons get rejected.
  4. Submit. Google typically responds within 5–10 business days.
  5. If denied, you can appeal once — but only if you have new information (e.g., a call recording timestamp the reviewer missed).

Lead-score threshold for dispute hygiene:

Dispute RateWhat It Means
< 5% of leadsProbably under-disputing; review your last 30 leads
5–15%Healthy — most established LSA accounts sit here
15–25%Aggressive but defensible if you have a tight service area and clear service list
> 25%Google will flag your account; expect tighter scrutiny on future disputes

Step 11: Use the Highlights and Bio Section Strategically

The “About” section of your LSA profile is the only true copy real estate you control. Use it.

What to do:

  • Open LSA → ProfileBio.
  • Write 3–4 sentences. Lead with a specific, concrete differentiator: years in business, family-owned, manufacturer certifications (GAF Master Elite, CertainTeed SELECT, Owens Corning Platinum), or warranty length.
  • Avoid generic phrases like “quality service” or “customer satisfaction guaranteed.” Homeowners read these as filler.
  • Mention your service area by name in the bio: “Serving [City] and [Adjacent Town] homeowners since [year].”

Highlights to enable:

  • Years in business (if 10+)
  • Locally owned & operated
  • Manufacturer certifications
  • Insurance work specialty (if applicable — strong driver for storm-damage leads)
  • Free estimates

Don’t enable highlights you can’t deliver on. “Same-day service” is a ranking boost but a booking-rate killer if you can’t actually dispatch same-day.


Step 12: Weekly Optimization Routine

The first 11 steps are setup. This step is the one you’ll do every week for as long as the account runs. It’s 30 minutes if you’re disciplined.

The 30-minute weekly LSA review:

  1. Open the dashboard. Check booked-jobs count vs. spend (5 min). Are you on pace to hit your monthly target? If not, why?
  2. Review every new lead from the past 7 days (10 min). Disputable? Booked? Booking-rate trending up or down?
  3. Listen to 3–5 random call recordings (10 min). Is the intake quality holding up? New objections?
  4. Check review count and velocity (3 min). On pace for 2/week minimum? If not, what’s the bottleneck — are review requests being sent?
  5. Check verification expirations (1 min). Anything expiring in the next 60 days?
  6. Adjust budget if needed (1 min). If you’re hitting cap mid-week and booking rate is healthy, raise the weekly budget by 10–15%. If booking rate is dropping, hold steady and investigate before adding budget.

That’s it. Skip this routine for a month and your LSA account will quietly drift — rank slips, junk leads accumulate, response time creeps up, and one day you’ll wonder why your cost per booked job has doubled.


Putting It Together: A 4-Week Implementation Plan

If you’re starting from a poorly-optimized account, work through the checklist in this order:

Week 1 — Foundation:

  • Step 1 (Job Types)
  • Step 2 (Service Area)
  • Step 6 (Verifications)
  • Step 7 (Photos)

Week 2 — Operations:

  • Step 4 (Response Time audit)
  • Step 9 (Call recording review for the past 30 days)
  • Step 11 (Bio and Highlights)

Week 3 — Economics:

  • Step 5 (Budget calculation)
  • Step 8 (Bidding strategy)
  • Step 10 (Dispute the last 60 days of disputable leads)

Week 4 — Compounding:

  • Step 3 (Review velocity system)
  • Step 12 (Set up the weekly routine)

By the end of week 4, an under-performing LSA account will typically show measurable improvement: better rank in core ZIPs, lower cost per booked job, and a cleaner dispute history. The compounding gains from review velocity and weekly discipline kick in around month 3.


Common LSA Mistakes Roofers Keep Making

A short list of things we see roofers do that this checklist explicitly fixes:

  • Setting a 50-mile radius “to be safe” and wondering why CPL is high and rank is low.
  • Having a 4.9-star average — but only 11 reviews from 2022. Volume and recency both matter.
  • Letting the LSA app sit on the office manager’s phone with notifications muted.
  • Disputing nothing because “it feels like complaining.” You’re paying for those leads.
  • Disputing everything that didn’t book. That’s not what dispute is for.
  • Setting Max Per Lead at the absolute floor and then complaining about lead volume.
  • Skipping the weekly review for 3 months and being surprised when something breaks.

Working through these 12 steps takes most roofers about a month, and the compounding gains show up in months two and three — better rank in your core ZIPs, lower cost per booked job, and a dispute history Google trusts. Becoming truly competitive with Google Guaranteed for roofers isn’t about gaming the system; it’s about running your LSA account with the same operational discipline you’d run a job site. If you’d rather not spend the next four weekends inside the dashboard, that’s the work we do every day for roofing contractors across the US — see how we approach Google Guaranteed for roofers on our service page, or reach out and we’ll audit your current setup against this checklist for free.

Leave a Comment

Your email address will not be published. Required fields are marked *