Roofing Marketing Budget: How Much to Spend and Where It Goes

Every roofing owner gets the same two pitches. One says spend more and grow. The other says you are wasting money and should cut. Neither pitch gives you the number you actually need: how much of your revenue should go to marketing, and what each dollar should buy in booked jobs.
This article gives you the real benchmarks by growth stage, breaks the budget into channels, and shows the math that ties spend to work on the calendar. It also covers the one mistake that wastes more roofing budget than any bad channel choice: buying traffic before the site and the phone are ready to convert it.
The 5 to 10 percent rule and when to break it
The working benchmark for home-services marketing is 5 to 10 percent of revenue. Where you land inside that range depends on what you are trying to do.
Steady-state operators, the ones holding market share and running mostly on reputation, repeat customers, and referrals, sit near 5 to 7 percent. That is enough to defend the pipeline and stay visible. Growth-mode companies, the ones adding trucks and crews or entering a new zip code, need to spend ahead of the revenue they want, not the revenue they have. That pushes the number to 10 to 15 percent for a season or two.
The trap is reading the percentage as a ceiling. It is not a ceiling. It is a starting frame you adjust based on one thing: your cost to acquire a job against what that job is worth. If a new roof books for $12,000 and your fully loaded acquisition cost is $400, you would spend well past 10 percent of a small revenue base to buy every job you can staff. The percentage describes a mature, balanced business. It does not describe a company still buying its way into a market.
The math that should drive the number
Set the budget from unit economics, then check it against the percentage. Not the other way around.
Three numbers run the model. Average job value is the revenue from a typical job. For residential replacement that is often $9,000 to $16,000. Repairs run far lower. Cost per acquisition is your total marketing spend divided by booked jobs, not by leads. Lifetime value is what a customer is worth over time, which for roofing is smaller than for recurring-service trades because roofs last decades, but referrals and the occasional repair still stretch it.
Run it forward. Say a channel costs $4,000 a month and produces 40 leads. If 25 percent of those leads book, that is 10 jobs at $400 acquisition cost each. At a $12,000 average job value, $4,000 in spend returns $120,000 in booked revenue. That is the calculation that justifies budget, and it is the one most owners never write down. If you want the channel-level version of this, see how to get roofing leads, which ranks sources by cost per lead.
Where the budget goes, channel by channel
A dollar of roofing budget does not buy the same thing everywhere. Some channels buy speed. Some buy durability. The table ranks the main options by typical acquisition cost and how fast they produce.
| Channel | Typical cost per acquisition | First job in | Best for |
|---|---|---|---|
| Referrals and repeat | $0 to $75 | Days | The cheapest jobs you already earned |
| Google Business Profile | $30 to $120 | Weeks | Local map visibility, free to maintain |
| Reviews and reputation | $40 to $120 | Weeks | Raising close rate on every other channel |
| Local Services Ads | $100 to $300 | Days | Pay per lead, top of the page, storm capture |
| Google Search ads | $150 to $500 | Days | High intent, scalable, needs a tuned site |
| SEO and content | $80 to $250 | Months | Compounding, lowest long-run cost |
| Direct mail | $200 to $600 | Weeks | Storm-hit neighborhoods, targeted routes |
| Retargeting display | $60 to $200 | Weeks | Staying in front of people who already visited |
Read the table as a portfolio, not a menu. Referrals, Google Business Profile, and SEO are your low-cost base. Local Services Ads and search buy speed when you need jobs this week. Direct mail earns its place in storm-hit routes where the whole street needs a roof. A healthy plan funds the cheap durable base first, then layers paid speed on top.
A sample monthly budget for a $3M roofer
Here is a concrete allocation. A $3M company spending 7 percent of revenue on marketing has about $17,500 a month to deploy. This is a steady-state mix, weighted toward high-intent channels with a compounding base underneath.
| Channel | Monthly spend | Expected leads | Notes |
|---|---|---|---|
| Local Services Ads | $5,000 | 40 to 60 | Pay per lead, dispute bad leads weekly |
| Google Search ads | $5,000 | 30 to 45 | Requires a tuned landing page and fast answer |
| SEO and content | $3,000 | 15 to 30 | Compounds, slowest to start, cheapest at scale |
| Google Business Profile and reviews | $1,500 | 20 to 40 | Managed listing, review requests on every job |
| Direct mail | $2,000 | 10 to 20 | Targeted storm and neighborhood routes |
| Retargeting and creative | $1,000 | 5 to 15 | Keeps visitors from going cold |
That is roughly 120 to 210 leads a month. At a 25 percent booking rate, call it 30 to 50 booked jobs. Even at the low end and a conservative $10,000 average job, that spend supports the revenue base with margin to spare. The point is not the exact figures. The point is that every line has an expected output you can hold it to. A line that produces no booked jobs for two months gets cut or fixed, not funded on faith.
Storm season versus steady state
Roofing demand is not flat, and your budget should not be either. Two modes matter.
In steady state you protect margin. You lean on the cheap durable base: reviews, Google Business Profile, referrals, and SEO that keeps ranking whether or not you spend that week. Paid channels run at a maintenance level. This is where most of the year lives, and where disciplined operators quietly out-earn the ones who only wake up when it hails.
During a storm event, demand spikes for a few weeks and the whole game becomes speed. Local Services Ads and Google search capture urgent searches fastest, so you shift budget there hard and fast. Direct mail to hit neighborhoods pays off because the damage is concentrated. The mistake is treating storm response as a budget you invent on the spot. Set a storm reserve in advance, a defined pool you release the day the event lands, so you are competing on day one instead of ramping up while competitors book the street. If paid search is your storm workhorse, Google Ads for roofers covers how to structure campaigns that scale without burning budget on junk clicks.
The mistake that wastes the most budget
The single most expensive error in roofing marketing is buying traffic before the site and the phone can convert it.
Paid channels do not produce jobs. They produce clicks and calls. Those convert against two things you control: your website and your call handling. If the site loads slowly on a phone, buries your number, or makes people fill out a long form to get a quote, you paid full price for the click and captured a fraction of the job. If a call goes to voicemail during a storm, that lead calls the next roofer on the list, and you paid for a lead you handed to a competitor.
Fixing conversion almost always beats buying more traffic. Take a channel booking 25 percent of leads to 35 percent and you added 40 percent more jobs from the same spend, no new budget required. That is why the honest first move is not a bigger ad account. It is a hard look at the site and the phone. Our home services work starts there for exactly this reason, because a leaking funnel makes every dollar behind it worth less.
Find out where your budget is leaking
Before you raise or cut spend, find out what your current dollars actually produce. A quick diagnostic on your site and local presence usually surfaces the conversion gaps, the missed-call problem, and the channels quietly spending with nothing to show. Run a local audit to see where the leaks are, or talk to our home services team about a budget built from your real job value and booking rate rather than a generic percentage.
FAQ
What percentage of revenue should a roofing company spend on marketing?
Most established roofing companies spend 5 to 10 percent of revenue. Steady-state operators sit near 5 to 7 percent. If you want to grow faster than 20 percent a year or enter a new market, plan on 10 to 15 percent until you reach your target size. Cost per acquisition against average job value matters more than the raw percentage.
How much does it cost to acquire a roofing customer?
Cost per acquisition for a booked residential job typically runs $150 to $600, depending on channel and market. Insurance and storm work can run higher because of competition. Full replacements justify a higher acquisition cost than repairs because the job value is larger. Track cost per booked job, not cost per lead, so shared and dead leads do not hide in the average.
Should roofers spend more during storm season?
Yes, but the shift is mostly in speed and channel mix. During a storm, demand spikes and Local Services Ads plus Google search capture it fastest, so budget moves there. In steady months you protect margin with SEO, reviews, and repeat and referral work that cost far less per job. Keep a storm reserve ready so you are competing on day one.
Why should you fix your website before increasing ad spend?
Paid traffic converts against your site and your phone. A slow site, a hidden phone number, or a missed call means you pay full price for clicks and capture a fraction of the jobs. Improving conversion usually adds more booked jobs than the same dollars spent on extra traffic. Buy traffic after the site and call handling are ready, not before.