Roofing owner reviewing an advertising budget

Roofing PPC Budget: How Much to Spend and How to Set It

October 20, 2026

Your roofing PPC budget should come from the number of jobs you want, not from a round number you are comfortable with. Work backward: jobs per month, divided by your close rate, gives the leads you need. Multiply those leads by your real cost per lead (CPL) in your market. That is your monthly ad spend. Then add a storm reserve, because roofing demand does not arrive evenly.

Below is the formula with worked examples, the mistakes that burn budget, and how to flex spend when hail or wind hits your territory.

Areions
Be Ready When Storm Demand Hits
Areions prepares roofing companies with a proactive storm-response system that qualifies leads and delivers them to your CRM.
Visit Areions

TL;DR

  • Budget = target jobs ÷ close rate × cost per lead. Use your own CPL, not a national average.
  • Aim for enough leads each month (roughly 8 to 15) for Google’s bidding to learn. A budget too small to produce that gives you noise, not data.
  • Budget is an average daily limit in Google Ads. Constant manual changes make automated bidding start over, so plan swings in advance.
  • Keep a separate storm reserve and a rule for when to release it.
  • Judge spend on booked appointments and closed jobs, not on form fills.

Table of Contents

The formula behind a roofing PPC budget

The math is simple. Every step needs an honest number from your own business.

  1. Target jobs per month. How many signed roofs do you want from paid search?
  2. Lead-to-job close rate. Of the qualified leads you receive, what share becomes a signed contract? Use your CRM, not memory.
  3. Leads needed. Jobs ÷ close rate.
  4. Cost per lead. Ad spend ÷ leads, from your own campaigns once you have data. Before that, estimate from cost per click (CPC) and the share of clicks that become leads.
  5. Monthly budget. Leads needed × CPL.

The same logic can run from the top: customers needed ÷ close rate ÷ website conversion rate × CPC. Both methods land in the same place. The CPL version is easier to track because you can check it weekly.

A worked example

Say you want 6 new roofs a month from paid search, and 25% of your qualified leads close.

  • Leads needed: 6 ÷ 0.25 = 24 leads
  • If your CPL is $100: 24 × $100 = $2,400 per month
  • If your CPL is $150: 24 × $150 = $3,600 per month
  • If your CPL is $200: 24 × $200 = $4,800 per month

These CPL figures are illustrations, not benchmarks. The point is the spread: a $100 swing in CPL moves the same goal by $2,400 a month. This is why copying another contractor’s budget fails. Their market, their close rate and their average ticket are not yours.

Check it against your margin

A budget is only good if the job pays for it. Take your average gross profit per roof and your close rate. If you close one in four qualified leads and your CPL is $150, each signed job costs about $600 in lead spend. If gross profit on a typical roof is several thousand dollars, the math can work. If you mostly do small repairs, it may not. Run this check before you commit, and rerun it each quarter.

Lead costs compared with roofing job profit

Why the budget has to be big enough to learn

Google’s own guidance says the budget you set is the average amount you are comfortable spending per day, and it limits an individual campaign (Google Ads Help: choose your bid and budget). That sounds trivial until you see the consequence for roofing.

Why the budget has to be big enough to learn — overview diagram

Roofing clicks are expensive and conversions are rare, so a campaign on $20 a day may see only a handful of leads in a month. Automated bidding such as Target CPA sets bids to get as many conversions as possible at the average cost you specify. It needs conversions to learn from. With too few, it guesses.

A practical rule: size your budget so the campaign can produce somewhere around 8 to 15 qualified leads a month. Multiply that range by your expected CPL and you have a floor.

Expected CPL 8 leads 15 leads
$100 $800 $1,500
$150 $1,200 $2,250
$200 $1,600 $3,000
$250 $2,000 $3,750

If your floor is higher than what you can spend, narrow the target rather than thinning the budget. One city or a few ZIP codes with a decent budget beats a whole metro with crumbs.

Setting the daily number

Divide the monthly figure by about 30. A $3,000 month is roughly $100 a day. Then watch two things.

  • Is the campaign limited by budget? If your best ad groups stop showing early in the day while the leads are good, you are leaving jobs on the table.
  • Is spend leaking into poor searches? Raising the budget on a leaky campaign multiplies the waste. Fix targeting first.

Google’s guidance is to use bidding that fits your goal and give it steady conditions. Constant manual budget edits reset the system’s picture of what works. Change the budget on a schedule you set in advance, such as weekly at most, and let storm rules handle the exceptions.

Where roofing budgets leak

Most contractors who say PPC does not work for roofing are describing one of five problems.

Broad targeting and no negatives

Searches for roofing jobs, roofing supplies, shingle prices, DIY repair and roofing careers all look similar to a broad keyword. You pay for each click. Our guide to roofing negative keywords breaks the exclusions into six categories and shows how to keep a separate storm page list current. Review the search terms report weekly in the first month.

Optimizing for form fills

If the conversion you tell Google about is any form submission, Google will find you more form submissions. Many are wrong numbers, price shoppers and out-of-area visitors. Google’s lead quality guidance recommends tracking value-based and downstream lead actions, so the system learns from the leads that matter. For a roofer that means qualified lead, booked inspection or signed job. We walk through how in offline conversion tracking for roofers.

Missing calls

Homeowners with a leak call. If calls are not tracked, a large share of your results is invisible and your CPL looks worse than it is. Call tracking with number insertion lets you trace a call to the click and then to the job. See our six setup checks for roofing dynamic number insertion.

Slow follow-up

A storm lead that waits hours has often called someone else. Budget does not fix a response problem. Before raising spend, check who answers, how fast, and what they say. Our roofing lead scripts cover the first call through the close, and the piece on roofing advertising channels explains why speed matters most right after a storm.

Judging too early

Roofing sales cycles are longer than a click-to-call purchase. A retail-style 7-day verdict will kill a campaign before the data arrives. Decide in advance how many weeks and how many leads you will give a test before judging it.

A storm reserve: budgeting for demand spikes

Roofing is the rare category where demand can double in a weekend. A hail event over a Dallas suburb or a wind event across central Oklahoma creates a short window when homeowners search, compare and sign. Spend that is flat across the year misses it.

Split your annual paid search plan into two parts.

  • Base budget: the steady monthly spend that produces your minimum lead flow, built with the formula above.
  • Storm reserve: money held back, sized at a percentage of base. Many owners start at 30% to 50% and adjust after one season.

Then write the release rule down before the storm. For example: verified hail or wind damage in a ZIP code you serve, and crew capacity for the next two weeks, releases the reserve to ads in those ZIP codes only. Writing the trigger in advance keeps you from changing the budget in a panic, which is when the bidding system gets the most confusing signals.

Capacity matters as much as money. Spending into a storm you cannot staff produces unhappy homeowners and bad reviews. If a spike would swamp your crews, cap the reserve to what you can inspect and quote within a few days.

What to expect by market size

A bigger city does not automatically mean a bigger budget. A large metro with plenty of competing roofers can still have a CPL you can afford to scale, while a small, aggressive market can be pricey per lead. Start from local CPL, then decide.

  • Small town or single county: Fewer searches. A small, focused campaign may be all that is useful. Hitting 8 leads a month may be the goal.
  • Mid-size metro: Split campaigns by service (repair, replacement, storm damage) and by city cluster. This is where the table above gets practical.
  • Multi-city or multi-state operation: Budget by territory, with each territory sized from its own CPL and close rate. Review them separately so a strong market does not hide a weak one.

For the Midwest and Plains states where hail and wind drive demand, the storm reserve usually matters more than market size.

Perspective: why we budget around storms, not months

Most agencies hand a roofer a monthly number and a promise to optimize. We think that starts from the wrong place. Roofing demand is created by weather, and a campaign that is not ready when the weather arrives is not marketing, it is a reaction. So we prepare contractors before the storm: campaigns, landing pages, CRM pipeline, call tracking and routing are built and waiting. When damage is verified, we intercept the homeowners already searching.

That changes what a budget is for. It is not a monthly fee to spread evenly. It is fuel for the moments when conversion is highest. It also explains why we insist on human verification of homeowners and on territory exclusivity: spend that pays for unqualified or shared leads is the fastest way to wreck a budget that was sized correctly.

We work month to month, with no long-term contract, because we think a vendor should earn the next month. If you are sizing a budget right now, our advice is to fix your measurement first, then your follow-up speed, then scale spend.

— Angel

Where Areions fits

If you would rather not build and run this yourself, we offer a managed storm-response system for roofing companies, with managed Google Ads, landing pages, CRM and pipeline setup, call tracking, human-verified homeowner qualification and territory exclusivity. Plans are published at areions.com: Foundation at $97 per month, Professional at $1,500 per month and Enterprise at $5,000 per month. We guarantee qualified leads within 30 days. To talk through how a plan and your ad budget would fit your territory, book a strategy call. If you are weighing vendors first, our eight questions for vetting storm lead vendors will help.

How to review the budget every week

A short weekly routine keeps spend honest. Fifteen minutes is enough.

  1. Spend versus plan. Are you pacing to the monthly figure?
  2. Leads and CPL. Count qualified leads, not raw submissions. Our roofing marketing KPIs guide covers the weekly numbers to watch and the CPL range we track against.
  3. Search terms. Add negatives for anything irrelevant.
  4. Speed to lead. How long did the first contact take?
  5. Appointments and jobs. Which campaigns produced booked inspections?

Once a quarter, recompute the formula with real close rate and real CPL. If CPL has drifted up, ask whether it is competition, seasonality or a leak. If close rate has dropped, the problem is likely after the click.

FAQ

How much should a roofing company spend on PPC per month?

It depends on your goal and local CPL. Start with jobs wanted ÷ close rate × CPL. For example, 6 jobs at a 25% close rate and a $150 CPL is $3,600 a month. Make sure the figure can produce enough leads for bidding to learn, and confirm the plan against your margin per roof.

Is a small budget like $20 a day enough?

Usually not on its own for competitive roofing keywords. At that level a campaign may produce too few conversions for automated bidding to learn. A tight target area with a budget sized for roughly 8 to 15 leads a month is a better test than a wide area with a tiny one.

Should I raise my budget after a storm?

Only if you have verified damage in areas you serve, the capacity to respond fast, and tracking that tells you the leads are good. Release a pre-planned reserve into the affected ZIP codes rather than raising the whole account. Avoid repeated small edits, since steady budgets help Google’s bidding learn.

How long before I know if roofing PPC is working?

Give it enough time to gather leads and let sales cycles play out. Decide up front the number of weeks and leads you will wait for, and judge on booked appointments and signed jobs, not clicks.

Sources

Back to Blog