Published by Blue Grid Media • March 2026 • 14 min read
(Jan-Feb, Dec)
(May, suburban market)
(hail event within 72 hrs)
(highest ROI category)
In This Guide
- Why Roofing CPL Varies More Than Any Other Trade
- Month-by-Month Roofing CPL Calendar
- CPL by Market Size
- CPL by Job Type
- Competition Density and CPL
- Storm CPL vs. Planned Replacement CPL
- How to Audit Your Roofing CPL in 3 Steps
- Roofing Lead Dispute Decision Framework
- How Job Type Mix Affects Your Effective CPL
- Break-Even CPL by Company Type
- Full Benchmark Reference Table
- FAQ
Roofing CPL is one of the most volatile numbers in the LSA universe. The same company in the same market can pay $52 per lead in January and $148 per lead in May during a hail surge, and both can be completely normal. Or that same company can pay $95 in a suburban market where $65 should be the ceiling. The difference is whether you understand the forces driving your number at any given moment.
This guide is all benchmarks. It covers exactly what you should be paying per lead by month, by market size, and by job type, along with how to audit a CPL that looks wrong and a dispute decision framework built for roofing-specific situations. For the full strategic playbook, see our roofing LSA hub. For cross-industry CPL context, How Much Does Google LSA Cost has the comparison across all trades.
Why Roofing CPL Varies More Than Any Other Trade
Three forces shape roofing CPL, and unlike most trades, all three can shift dramatically in the same week.
Storm events rewrite the entire auction overnight. A single significant hail event can bring 20 to 40 percent more search volume into a market within 24 hours. Every roofing company in that area, including regional storm chasers who flew in specifically for the opportunity, starts bidding hard. Google's auction clears at premium prices because search intent spikes and advertiser competition spikes simultaneously. A CPL that was $60 on Monday can be $130 on Thursday after a major storm hit Tuesday night. No other trade sees swings this sharp this fast.
Roofing tickets vary by 100x depending on the job. A gutter cleaning job might close at $350. A full replacement on a large home might run $18,000 or more. Google's auction prices job leads based on advertiser competition and search intent signals, not your specific ticket size. That means a $35 gutter cleaning lead and a $130 replacement inquiry can both be completely reasonable ROI, or both be terrible, depending on your booking rate and close rate for each category. Your job type mix shapes your effective CPL more than almost anything else in your control.
Replacement demand is genuinely seasonal. Homeowners planning a roof replacement cluster heavily in spring and early fall. Contractors know this, budgets go up, and CPL follows. Winter months, particularly January and February, see the lowest replacement search volume of the year, which is why CPL drops to its floor. If you are a replacement-focused company, your CPL will naturally cycle with those seasons regardless of what you do with your bids.
Month-by-Month Roofing CPL Calendar
These ranges reflect typical suburban and mid-market performance, similar to markets like Columbus, Kansas City, Nashville, or Raleigh. Adjust upward for major metros and downward for rural markets using the section below. Post-storm surges can push CPL 40 to 80 percent above these ranges for several days after a significant event, regardless of month.
| Month | Small Market | Suburban | Major Metro | What's Driving It |
|---|---|---|---|---|
| January | $40-$55 | $50-$70 | $65-$90 | Off-peak demand, minimal storm activity, low advertiser budgets, fewest active bidders of the year |
| February | $40-$60 | $50-$75 | $65-$95 | Still off-peak, demand starts building toward spring in southern markets, competition remains light |
| March | $45-$65 | $55-$80 | $70-$105 | Spring ramp begins, storm season opens across Midwest and South, advertiser budgets start climbing |
| April | $50-$70 | $60-$90 | $80-$120 | Active hail season, spring replacement demand accelerates, regional storm chasers enter markets |
| May | $55-$75 | $65-$100 | $85-$130 | Peak spring demand, highest non-storm CPL of the year, competition at annual high |
| June | $50-$70 | $60-$90 | $80-$120 | Summer plateau, storm season active, sustained demand without same spring peak intensity |
| July | $50-$70 | $60-$90 | $80-$120 | Summer sustained demand, storm activity continues, similar to June in most markets |
| August | $48-$68 | $58-$85 | $78-$115 | Demand begins moderating in northern markets, Gulf Coast hurricane season active |
| September | $45-$65 | $55-$80 | $70-$105 | Fall shoulder, pre-winter replacement planning picks up, advertiser budgets moderate |
| October | $45-$65 | $55-$80 | $70-$105 | Fall shoulder continues, homeowners motivated before cold weather, solid demand without peak competition |
| November | $40-$60 | $48-$72 | $62-$95 | Demand drops sharply in northern markets, pre-winter last-minute repairs in cold climates, competition falls |
| December | $38-$55 | $45-$68 | $60-$90 | Annual CPL low for most markets, minimal planned replacement demand, lowest advertiser competition |
CPL by Market Size
Your market's population and the density of active LSA advertisers set your baseline CPL before season adjustments. The roofing trade tends to have more advertisers relative to population than most other trades, particularly in storm-prone regions, which keeps CPL floors higher than in categories like house cleaning or handyman.
These represent annual averages across normal months. During May and June in a suburban market with active hail season, expect to land at the upper end of the $55 to $90 range. During January in that same market, you will often land well below the midpoint. Add $15 to $40 for storm surges on top of whatever the seasonal baseline is.
CPL by Job Type
Roofing has one of the widest CPL ranges across job types of any LSA-eligible trade. Gutter cleaning leads cost a fraction of full replacement leads. The job types you enable directly determine your blended CPL, and the impact is larger than most roofers expect.
| Job Type | CPL Range | Avg Ticket | Notes |
|---|---|---|---|
| Gutter cleaning | $30-$55 | $200-$500 | High volume, low ticket, thin ROI per lead, but high close rate since the job is simple and priced predictably |
| Roof inspection | $45-$75 | $150-$400 | Often post-storm or pre-purchase; converts to repair or replacement at a meaningful rate, so the lead value is higher than the inspection ticket suggests |
| Roof repair | $55-$90 | $400-$2,000 | Solid mid-ticket, high close rate on emergency repairs, slower on planned repairs where homeowners get multiple quotes |
| Emergency leak repair | $70-$110 | $500-$2,500 | High urgency leads with the fastest close times; homeowners with active leaks are not shopping around, which justifies the higher CPL |
| Full roof replacement | $80-$150 | $9,500-$16,000 | Highest CPL bracket, highest ticket, highest total gross profit per booking; one replacement lead paying out is worth 10 to 20 gutter cleaning leads in ROI terms |
| Insurance claim lead | $90-$160 | $10,000-$20,000+ | Storm-damage claims; highest CPL but also highest ticket potential when the claim covers full replacement; conversion is contingent on claim approval, so close rates vary |
The bottom line on job types: if your dashboard CPL looks high, check which job types are getting the most lead volume. If replacement and insurance leads are driving your mix, your CPL is probably right where it should be for the revenue those jobs generate. The perceived problem is often the blending itself, not the actual costs.
Competition Density and CPL
Population gives you a rough sense of market size, but what actually drives your CPL is how many LSA advertisers are competing for the same searches you are. Roofing markets in storm-prone regions like the Dallas-Fort Worth area, Denver, Minneapolis, and the Carolinas have significantly more advertisers per capita than markets in less storm-active areas.
The practical way to know your density: search "roofing near me" from a location in your service area on a Tuesday morning when most companies are running full budgets. Count the LSA listings. That number is your competition floor. After a storm, that number will spike as storm chasers activate accounts they may not run year-round.
Storm CPL vs. Planned Replacement CPL
These two types of demand behave differently in the auction, and confusing them leads to wrong conclusions about your CPL performance.
Post-storm leads arrive when homeowners search urgently after a significant hail or wind event. The intent signal is strong, every roofing company in range is running at max budget, and storm chasers are actively bidding. CPL rises sharply, sometimes doubling from baseline within 48 hours. But the conversion dynamic changes too: a homeowner who just watched hail the size of golf balls hit their roof is not going to comparison-shop for two weeks. Close rates on storm leads, for companies with a fast response process, often run 40 to 60 percent. The ROI on a $140 lead that books a $14,000 insurance replacement is exceptional even at elevated CPL.
Planned replacement leads come in at steadier CPLs because the homeowner is not in crisis mode. They have been thinking about the roof for a while, they are getting multiple quotes, and they have time to decide. Your close rate on planned leads is typically 25 to 40 percent because the homeowner is comparing you against two or three other proposals. CPL is lower than storm surges, but the sales process requires more follow-up and a stronger estimate-to-close approach.
The implication for your bidding: if you track your CPL during a storm surge and conclude it is too high, you are probably measuring it against your normal baseline. The right benchmark for storm CPL is storm CPL, not your January numbers. See our roofing LSA ROI benchmarks guide for how to model ROAS separately for storm and non-storm periods.
How to Audit Your Roofing CPL in 3 Steps
Before you decide your CPL is a problem, run through this three-step audit. Most roofing companies that think they are overpaying are either in range for their market and season, or have a booking rate problem rather than a lead cost problem.
-
1Compare against the monthly calendar for your market size
Pull your average CPL for the last 30 days from your LSA dashboard. Then find the corresponding month and market size column in the calendar table above. If you are a suburban company paying $78 CPL in May, you are within the $65 to $100 range and performing normally. If you are a suburban company paying $78 in January, that is above the expected $50 to $70 range and worth investigating. The calendar is your first filter. Many roofers skip this step and conclude something is wrong when they are just seeing normal seasonal pricing.
-
2Check your job type mix for the period
Pull your leads from the last 60 days and sort by job category, whether from your LSA dashboard or your CRM. If full replacement and insurance claim leads make up more than 40 percent of your volume, your blended CPL should be in the $90 to $130 range and that is expected. If gutter cleaning leads are driving the majority of your volume, your CPL should be closer to $35 to $60. A mismatch between your job type mix and your CPL tells you the actual issue. High CPL with low-ticket job type dominance is a signal to revisit which job types you have enabled and how your profile is set up.
-
3Count active advertisers and check for recent storm activity
Search "roofer near me" from a zip code inside your service area and count the LSA listings. If you have 12 or more visible, you are in a high-density market and your CPL will reflect that. Then check whether there has been a storm event in the last two weeks. Even a localized hail report can temporarily drive up CPL across a broad geographic area as advertisers ramp budgets. If you see elevated CPL right after a storm, that is expected behavior, not a problem with your account settings.
If you work through the audit and conclude your CPL is genuinely above market rate without a seasonal or competition-density explanation, the next step is reviewing your LSA profile completeness score and bid strategy. The actionable tactics are in our guide on how to lower your Google LSA cost per lead. For a deeper look at what drives roofing-specific ranking, see the roofing LSA budget guide.
Roofing Lead Dispute Decision Framework
Roofing has some of the most nuanced dispute situations in LSA because storm season brings in a high volume of calls that are adjacent to valid leads but do not quite qualify. Getting this right matters: dispute too aggressively and you signal a low booking rate to Google's algorithm, which can suppress your ranking.
- Caller needed a trade you do not offer (HVAC, plumbing, electrical, tree service)
- Duplicate call from the same phone number within 72 hours
- Caller is outside your listed service area by a meaningful distance
- Call was solicitation, telemarketing, a robocall, or another contractor calling
- Caller never left a voicemail and did not answer your callback attempts for 24 hours
- Caller was only seeking insurance information with no intent to hire a contractor
- Caller got a cheaper quote from another company and went with them
- Insurance claim was denied and the job did not move forward
- Caller decided to wait on the replacement until next season
- Lead was a legitimate inquiry but the ticket was smaller than you expected
- Homeowner called about a covered service but went with a competitor
- Lead came in at an inconvenient time and you could not respond quickly
The Insurance Caller Gray Area
Post-storm, a meaningful percentage of calls will come from homeowners who are early in the insurance claim process and unsure whether they will hire anyone or just file the claim themselves. This is the roofing-specific gray area that trips up a lot of companies.
If the caller was genuinely trying to hire a roofing contractor and you had a real conversation about the job, do not dispute it even if the claim falls through later. If the caller stated outright that they just needed a roofing company to come look for documentation purposes and had no real intention of hiring anyone to do work, that is a closer call and may qualify under the no intent to hire policy. Document your call notes thoroughly for any dispute in this category. For the full dispute process and how it affects your ranking, see our guide on why LSA leads get disputed.
How Job Type Mix Affects Your Effective CPL
Your blended CPL is a weighted average of every job type you have enabled. Roofers who run a mixed business, doing gutter cleaning, repairs, and replacements, see very different effective CPLs depending on which category is generating the most lead volume in any given month. Understanding this connection is how you avoid false alarms when your CPL looks high.
The replacement-heavy company in this comparison is paying 2.4x more per lead and generating roughly 25 to 40x more revenue per booked job. The "expensive" CPL is almost certainly producing a better ROAS. This is the most common misread in roofing LSA management: seeing a high blended CPL on a replacement-focused account and concluding something is wrong.
Track your effective CPL by job type separately. Pull your last 60 days of leads from your CRM, sort by job category, calculate the leads in each bucket, and divide your total spend by the lead count in each. You will almost certainly find that your high-ticket categories are your most profitable and that the CPL premium is more than justified.
Break-Even CPL by Company Type
Your maximum tolerable CPL depends on your average job ticket, gross margin, and booking rate, not on what the market average is. Most roofing companies have more room than they realize before LSA becomes unprofitable, especially on the replacement side.
These numbers clarify something important: a $130 post-storm CPL is not expensive for a replacement-focused roofing company. It represents a tiny fraction of the break-even CPL. The constraint for most roofing companies is booking rate and close rate, not lead cost. For deeper ROI modeling by company type and market, the roofing LSA ROI benchmarks guide runs the full numbers. If you are thinking about what to spend in total, the roofing LSA budget guide covers monthly budget sizing.
Full Benchmark Reference Table
Use this table as a quick reference when evaluating your roofing LSA performance. Find the category that best matches your situation and compare your current CPL against the ranges.
| Category | Low CPL | Mid CPL | High CPL |
|---|---|---|---|
| By Season (Suburban Market) | |||
| Jan-Feb (off-peak winter) | $40 | $55 | $70 |
| Mar-Apr (spring ramp) | $50 | $70 | $88 |
| May (peak spring) | $60 | $80 | $100 |
| Jun-Aug (summer plateau) | $55 | $73 | $92 |
| Hail event surge (event-driven) | $100 | $130 | $165+ |
| Sep-Oct (fall shoulder) | $50 | $66 | $82 |
| Nov (pre-winter) | $42 | $57 | $73 |
| Dec (lowest demand) | $38 | $52 | $68 |
| By Market Size | |||
| Rural / small market (under 150K) | $30 | $42 | $55 |
| Suburban / mid-market (150K-600K) | $55 | $73 | $90 |
| Major metro (600K+) | $80 | $110 | $140 |
| By Job Type | |||
| Gutter cleaning | $30 | $42 | $55 |
| Roof inspection | $45 | $60 | $75 |
| Roof repair | $55 | $72 | $90 |
| Emergency leak repair | $70 | $90 | $110 |
| Full replacement | $80 | $115 | $150 |
| Insurance claim lead | $90 | $125 | $160 |
Frequently Asked Questions
Not Sure If Your Roofing CPL Is Too High?
We audit roofing LSA accounts for free. We will tell you exactly what you should be paying in your market and what is driving your current number.
Get My Free Roofing LSA Audit