Skip to main content

How Much Should a Roofing Company Spend on Marketing? A Numbers-First Budget Playbook

Michael Torres, Storm Damage Specialist··32 min readRoofing Sales & Growth
On this page

Ask ten roofing owners what they spend on marketing and you will get ten different answers, most of them wrong. Some are pouring 12% of revenue into a digital agency and a lead-buying habit and wondering why they are not growing. Some are spending almost nothing, riding referrals and a 2008 yard-sign strategy, and quietly panicking every time the phone goes quiet for a week. The honest answer to "how much should a roofing company spend on marketing" is a range, and where you land inside that range depends on your growth goal, your gross margin, how long it takes a homeowner to buy from you, and how much of your work is storm-driven versus retail.

What follows is the budget framework an owner can actually run a company on: real percentage-of-revenue benchmarks tied to your stage, how to split the money across channels so you are not dumping it all into one risky bucket, the customer-acquisition-cost (CAC) math that tells you whether you are winning or bleeding, and a worksheet you can fill in this afternoon. No invented industry averages dressed up as gospel. Where a number is a rule of thumb, it is labeled as one.

The short answer, then the real answer

Most healthy roofing companies spend somewhere between 5% and 15% of total revenue on marketing and sales, with the typical mature retail roofer landing around 8% to 10%. That band is wide for a reason, and the spread is where all the useful detail lives.

Here is the cleaner way to think about it, by stage:

Company stage Annual revenue Marketing as % of revenue What that money is buying
Survival / startup Under $500K 10% - 20% Buying your first repeatable channel; you are paying tuition
Growth $500K - $3M 8% - 15% Scaling the channel that works, testing a second
Establishment $3M - $10M 6% - 10% Brand + multiple channels + a real sales process
Mature / market leader $10M+ 4% - 8% Defending share; brand does heavy lifting, CAC is low

Notice the percentage falls as you grow. That trips people up. A $400K roofer spending 18% feels reckless and a $20M roofer spending 5% feels stingy, but both can be correct. The small company is buying a channel it does not yet own and has no brand to coast on. The big company has a name people already know, a referral flywheel, and crews booked weeks out, so each marketing dollar has less work to do.

The second thing that trips people up: marketing and sales are not the same line, and a lot of "marketing" budgets are secretly sales budgets. A canvasser's pay, a setter's commission, the cost of running estimates that do not close, these are customer-acquisition costs, but they are sales, not marketing. If you lump them together you will think you are spending 14% on marketing when you are really spending 6% on marketing and 8% on sales. Separating the two is the single most clarifying move you can make, and we will come back to it.

Why "percent of revenue" is the wrong starting question (and the right backstop)

Percent of revenue is the number everyone wants because it is simple, and it is genuinely useful as a sanity check. But it is a lagging, top-down number. If you set your budget as "10% of last year's revenue," you are sizing this year's growth to last year's results. That is backwards in a business as seasonal and swingy as roofing.

The number that should actually drive your spending is what it costs you to acquire one customer, and what that customer is worth. When you know your CAC and your average job value and margin, you can answer a far more powerful question than "what percent should I spend." You can answer: for every dollar I put into this channel, how many dollars of gross profit come back, and how fast? Once you know that, the budget sizes itself. If a channel returns $4 in gross profit for every $1 spent and you can scale it, the right budget is "as much as you can feed it before the return drops," not a fixed percentage.

So use percent-of-revenue two ways:

  1. As a backstop / sanity check. If your total customer-acquisition spend is creeping past 15% of revenue and you are not a sub-$1M company buying your way to scale, something is broken: your close rate, your channel mix, or your pricing.
  2. As a planning floor. If you want to grow 30% next year, you almost certainly cannot do it on 5% of revenue. Growth costs money up front.

Think of percent-of-revenue as guardrails on the highway and CAC as the steering wheel.

The numbers you need before you set a single dollar

You cannot build a real budget without these five inputs. If you do not know them, stop and pull them; most live in your accounting software and CRM, and the rest you can estimate from the last 12 months of jobs.

1. Average job value (your real ticket)

Not the job you wish you sold, the average you actually sold over the last year. Pull total residential revenue, divide by number of jobs. A retail re-roof average might run $9,000 to $18,000 depending on your market, pitch, and material mix. Repairs drag the average down; full tear-offs pull it up. Track them separately if you sell a lot of both, because a repair customer and a full-replacement customer have wildly different acquisition economics.

2. Gross margin (the number that makes marketing affordable)

Gross margin is revenue minus cost of goods (materials, labor, dump fees, permits, the stuff that scales with the job) divided by revenue. If a $12,000 job costs you $8,400 in materials and labor, your gross profit is $3,600 and your gross margin is 30%. Your marketing has to be paid for out of gross profit, not revenue. A company at 30% margin can spend far less per job than a company at 45% margin and still come out ahead. This is why two roofers with identical revenue can have totally different healthy marketing budgets.

3. Close rate (by channel)

What fraction of qualified appointments turn into signed jobs? A strong residential sales process runs 35% to 50% on inbound, qualified leads; door-knocked and self-generated leads vary widely. Track close rate per channel, because a 20% close rate on cheap leads can beat a 45% close rate on expensive ones, or lose to it, and the only way to know is to do the math per source.

4. Cost per lead and cost per appointment (by channel)

Total spend on a channel divided by leads from that channel. Then leads divided into appointments. A lead that never books an appointment is not a lead, it is a phone number. Watch the slippage between lead and appointment; some channels (bought shared leads, low-intent forms) produce a lot of leads that never turn into a set appointment.

5. Customer acquisition cost (the one that matters)

CAC is total sales-and-marketing spend for a channel divided by customers won from that channel. This is the number. Everything else is a step toward it.

The CAC math, worked out

Let us run a real example so the framework is concrete. Say you are a residential retail roofer:

  • Average job value: $12,000
  • Gross margin: 35%, so gross profit per job is $4,200

Now you run a digital channel (search ads + landing page) for a month:

  • Spend: $6,000
  • Leads generated: 40
  • Cost per lead: $150
  • Leads that became set appointments: 24 (60% of leads booked)
  • Cost per appointment: $250
  • Appointments that closed: 9 (37.5% close rate)
  • CAC = $6,000 / 9 = $667 per customer

Is $667 CAC good? On its own, the number means nothing. Compare it to gross profit:

  • Gross profit per job: $4,200
  • CAC: $667
  • Gross profit after acquisition: $3,533 per job
  • Return on marketing spend: $4,200 / $667 ≈ 6.3x in gross profit terms

That is a channel you feed aggressively. A common rule of thumb is that you want your CAC to be no more than 20% to 30% of gross profit per job for a healthy retail roofing channel, and ideally well under that. At $667 against $4,200 gross profit, you are at about 16%. Strong. Scale it until the return starts dropping, then hold.

Now watch what happens with a worse channel, say bought shared leads:

  • Spend: $6,000 ($75 per lead, 80 leads)
  • Leads that became set appointments: 28 (35% booked; shared leads are lower intent and you are racing three other roofers to the door)
  • Appointments that closed: 6 (21% close rate, because the homeowner is shopping you against the other roofers who bought the same lead)
  • CAC = $6,000 / 6 = $1,000 per customer

Still profitable on paper ($4,200 gross profit minus $1,000 CAC = $3,200), but you are spending 50% more to acquire each job, your sales team is burning time on tire-kickers, and your close rate is in the gutter because you are one of four roofers standing on the same porch. The CAC number forced the comparison the gut would have missed.

Build your own CAC table

Do this for every channel you run. It is the most important spreadsheet in your company.

Channel Spend Leads Appts Jobs CAC CAC as % of gross profit
Search ads $6,000 40 24 9 $667 16%
Shared leads $6,000 80 28 6 $1,000 24%
Direct mail $4,000 18 12 5 $800 19%
Door-knocking $5,000 (rep pay) n/a 30 8 $625 15%
Referrals $500 (rewards) 14 13 9 $56 1.3%

The referral row is why every roofer's first marketing dollar should go toward making their existing customers refer. Nothing else comes close on CAC. But referrals do not scale on command, which is the whole problem and the reason you build the rest of the table.

Reading the table like an operator

The value is not any single row, it is what the rows tell you to do next month. Three reflexes separate the owners who grow from the ones who plateau:

Move money toward the lowest CAC that can still scale. Referrals win on CAC but you cannot order more of them on demand. So the real game is finding the lowest-CAC channel you can turn up with money and turning it up. In the table above that is door-knocking at $625, assuming you can recruit and retain reps, followed by search ads at $667. You feed those before you feed the $1,000 shared-lead row.

Watch the gap between leads and appointments, not only the final CAC. Two channels can have the same CAC but very different shapes. A channel that produces 80 leads and 6 jobs is burning your sales team's time on 74 conversations that went nowhere; a channel that produces 18 leads and 5 jobs respects their time. Sales-team time is a real cost even when it does not show up in the spend column, and the low-intent channel is quietly more expensive than its CAC suggests because it taxes your closers.

Recompute monthly, because CAC is not static. Cost per lead drifts with competition and season. A channel that was your best in March can be your worst by August because three competitors piled into the same auction or the storm that fed it passed. The table is a living instrument, not a one-time exercise. Owners who set the budget once a year and never look again are flying on instruments they calibrated twelve months ago.

How to split the budget across channels

Once you know your total marketing-and-sales budget, the next question is how to divide it. There is no single correct split; it depends on your market, whether you are retail or storm-driven, and what is already working. But here is a defensible starting framework for a growing retail residential roofer, which you then tune using your own CAC table.

A starting channel split for a growth-stage retail roofer

Bucket Share of budget What is in it
Foundation (always on) 15% - 20% Website, local SEO, Google Business Profile, reviews, basic brand assets
Digital demand capture 25% - 35% Search ads, Local Services Ads, retargeting
Targeted outbound 25% - 35% Direct mail, canvassing, list-based outreach to the right homes
Referral & repeat 10% - 15% Referral rewards, past-customer reactivation, reviews engine
Test budget 5% - 10% One new channel per quarter, deliberately experimental

A few principles behind those numbers:

Foundation is non-negotiable and cheap relative to its impact. Your Google Business Profile, your reviews, and a website that loads fast and converts are the floor everything else stands on. If you run search ads to a slow, ugly site with 11 reviews, you are paying to send people to a page that loses them. Fix the foundation before you scale paid traffic, or you are pouring water into a cracked bucket.

Never let one channel exceed about 40% of your acquisition. This is risk management, not theory. Roofers who lived entirely on one lead source, whether it was a single ad platform, one aggregator, or pure storm-chasing, got wiped out when that source changed its rules, raised prices, or dried up. A platform can double your cost per lead overnight or suspend your account for a policy you did not know existed. A storm season can simply not happen. Diversification is the insurance policy.

The test budget is sacred. Every quarter, take 5% to 10% and run a genuine experiment on a channel you do not currently use. Most tests fail. The ones that work become next year's core channel. Companies that stop testing stop growing the moment their main channel saturates.

A test has to be designed to produce a verdict, or it is just spending with extra steps. Before you run one, write down three things: the budget cap (so a failing test cannot bleed for six months), the single metric that decides win or lose (usually CAC against gross profit), and the minimum volume you need before you trust the result. Five jobs from a new channel is a story, not a signal; you generally want enough closes that one lucky or unlucky deal does not swing the verdict. Give a test a real, bounded run, then read the CAC and make the call cleanly. The discipline is in killing the losers fast and pouring into the winners without flinching at the bigger monthly number.

A rough sense of channel cost and intent

Channels differ on two axes that matter for budgeting: how much each lead costs and how ready that person is to buy. Holding both in view stops you from chasing cheap leads that never close.

Channel Relative cost per lead Buyer intent Best used for
Referrals Lowest Highest Your cheapest jobs; protect and systematize it
Past-customer reactivation Very low High Mining demand you already paid to acquire
Local Services Ads / search Medium High Capturing people actively looking right now
Direct mail to targeted homes Medium Medium Reaching due homes before they start looking
Door-knocking Medium (rep pay) Medium Storm response and dense, due neighborhoods
Shared / aggregator leads Low sticker, high true CAC Low Filling gaps, with eyes open about the knife-fight close rate
Social / display awareness Low per impression Lowest Brand presence that lowers every other channel's cost

The table is directional, not a law; your own market and your own CAC numbers override it. But the shape holds in most residential roofing markets: the cheapest demand is the demand you have already earned, and the lowest-sticker-price leads often carry the highest true acquisition cost once you account for close rate and your sales team's wasted hours.

Retail vs. storm: the split changes

If a meaningful share of your work is storm restoration, your budget shape changes. Storm work is feast-or-famine: when a real hail or wind event hits your area, demand spikes and your job for a few weeks is to reach the right homeowners fast and document damage thoroughly, before the out-of-town crews swarm in. Between storms, you are back to retail economics. The smartest storm-aware roofers run a steady retail-style budget year-round so they are not starving between events, then have a pre-built outbound push ready to deploy the moment a storm hits their footprint.

A word on the legal line here, because it matters and roofers get burned on it. When you market storm work, your job is to inspect, document the damage with photos, and prepare an accurate repair estimate for the homeowner. That is it. You do not, for a fee, negotiate or "handle" the insurance claim, you do not interpret the homeowner's policy or tell them what is covered, you do not promise a specific payout or approval, and you absolutely never advertise a "free roof" or tell a homeowner their deductible will be waived, absorbed, or made to disappear. Those moves cross into unlicensed public adjusting in most states and can cost you your license. The clean, legal frame: you document thoroughly, you write a tight estimate aligned to the standard repair pricing the carriers use, and you hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. Market the documentation and the quality of your scope, not a payout you cannot promise. Build that discipline into your marketing copy now, before a compliance complaint forces you to.

Separating marketing spend from sales spend

Back to the distinction that clears up half the confusion. Map every customer-acquisition dollar into one of two columns:

Marketing (demand generation): the cost of getting a stranger to raise their hand. Ads, mail, SEO, your website, list/data costs, branding, sponsorships, the canvassing program insofar as it generates the appointment.

Sales (demand conversion): the cost of turning a raised hand into a signed contract. Setter and rep pay, sales commissions, sales-management overhead, CRM seats for sales, the cost of running estimates that do not close.

Why does the split matter for budgeting? Because the two have different failure modes and different fixes:

  • If your marketing number is high but your sales number is fine, you have an inefficiency in demand generation: bad targeting, wrong channels, weak offer. The fix is in the marketing mix.
  • If your marketing number is fine but your blended CAC is high because your close rate is low, you do not have a marketing problem at all. You have a sales-process problem, and spending more on marketing will only pour more leads into a leaky funnel. The fix is training, scripting, speed-to-lead, and qualification, not ad spend.

A rough, healthy split for a mature retail roofer might be something like 5% to 8% of revenue on marketing and 4% to 7% on sales, but the exact numbers matter less than the discipline of tracking them apart. The single most common budgeting mistake is throwing more marketing money at what is actually a sales conversion problem.

There is a quick diagnostic that tells you which problem you have. Take your blended CAC and decompose it into two questions: are leads expensive, or are they cheap-but-leaky? If your cost per appointment is high, the leak is in marketing, you are paying too much to fill the top of the funnel, and the fix lives in targeting, offer, and channel mix. If your cost per appointment is fine but your cost per closed job is high, the leak is in sales, you are getting cheap appointments and then losing them, and no amount of additional marketing spend will patch that. Most roofers who feel like marketing is not working have a sales leak and are about to spend their way deeper into it.

The most expensive sales leak of all is slow follow-up. A lead you paid $150 to generate and then let sit for two hours before calling is often worth a fraction of the same lead called in five minutes, because by hour two the homeowner has already talked to a competitor who answered faster. That decay does not show up anywhere in your marketing spend, but it inflates your true CAC just as surely as a bad ad campaign does. Before you add a dollar to marketing, make sure every lead is contacted within minutes and worked until it is dead or sold. It is the cheapest CAC improvement available, and it costs nothing but discipline.

The biggest line item nobody puts in the budget: waste

Here is the uncomfortable part. A large share of most roofing marketing budgets is spent reaching homes that will never buy, and it never shows up as a line item because it is hidden inside every channel.

When you mail a neighborhood, you mail every house, including the ones with three-year-old roofs that will not need you for fifteen years. When you knock a street, your rep knocks the new builds and the recently re-roofed homes right alongside the worn-out ones, burning the same shoe leather and the same payroll on doors that cannot convert. When you run a broad digital campaign, you pay to show ads to people whose roofs are fine. The waste is real, it is large, and it compounds: a green canvasser who knocks 40 doors and 30 of them have no business reason to buy gets discouraged, performs worse, and quits, which is its own expensive problem.

Most budget conversations are about spending more efficiently per channel, negotiating a better cost per lead, tightening an ad campaign. The bigger lever is spending on the right homes in the first place, regardless of channel. If you could remove even a third of the obviously-not-due homes from your mail drop, your canvassing routes, and your targeting, your effective cost per acquisition would drop without your spending a dollar more.

Where RoofPredict fits in the budget

This is the gap RoofPredict was built to close, so let me be plain about what it does and what it does not do. RoofPredict looks at aerial imagery and storm history and tells a roofing contractor which roofs in an area are actually due house by house: a roof-age range per address (estimated from imagery, not an exact install date, because re-roofs are invisible to public records like Zillow or county year-built data), combined with the storm physics modeled on each specific roof, rather than only whether a storm passed through the ZIP. A hail map tells you where it hailed. The aim here is to tell you which roofs that hail actually wore out, ranked, so you can point your mail, your knock routes, and your existing customer list at the homes most likely to need you.

In budget terms, it is not a new channel competing for your dollars. It is a targeting layer that sits underneath the channels you already run, so the money you already spend on mail, canvassing, and outreach lands on the homes that can actually convert. You can also use it to enrich your own CRM and mailing list with roof-age and storm signals, which turns the work you have already paid to acquire, your old estimates and past customers, into a ranked re-engagement list.

The honest limits, because a trade compares notes and hype erodes trust: roof age comes back as a range, not a precise date, and the storm model gives you odds, not proof, that a given roof took damage. It tells you where to point your effort, not what you will find when you get on the ladder. You still have to knock, mail, inspect, and sell. What it removes is the spend aimed at homes that were never going to buy. If you only fix one thing in your budget, fix the targeting under it; efficiency per channel is a smaller lever than aiming the whole machine at the right doors.

The budget arithmetic of better targeting is worth spelling out, because it is the part owners underestimate. Suppose you mail 5,000 homes at roughly $0.85 a piece for a printed, addressed mailer, about $4,250 a drop. In a typical established neighborhood, only a slice of those roofs are anywhere near the end of their life in a given year; the rest are too new to need you. If a targeting layer lets you cut the drop to the 2,000 homes most likely to be due and skip the 3,000 that are not, you spend roughly $1,700 instead of $4,250 to reach essentially all of the homes that could have converted. Same response from the homes that mattered, less than half the spend. That saved $2,550 either drops to your bottom line or funds a second touch to the same due homes, which is what actually lifts response. The mechanism is identical for canvassing routes (your reps spend their hours on doors with a reason to buy instead of new builds) and for your CRM (you re-engage the past customers whose roofs have now aged into the replacement window). None of this is a new line item; it is the same money, aimed.

A budget worksheet you can fill in today

Here is the step-by-step. Pull your last 12 months of numbers and work through it.

Step 1: Set the growth goal

Decide your revenue target for the next 12 months. Be specific. "Grow from $2.4M to $3.2M" is a goal; "grow a lot" is not. The gap between current and target revenue tells you how hard your marketing has to work.

Step 2: Calculate how many jobs that requires

  • Target revenue: $3,200,000
  • Average job value: $12,000
  • Jobs needed: 267 per year (~22 per month)

Step 3: Back into the leads and appointments needed

Work backward from your real close and booking rates:

  • Jobs needed: 267
  • Close rate: 37% → appointments needed: 267 / 0.37 = 722
  • Appointment booking rate from leads: 55% → leads needed: 722 / 0.55 = 1,313
  • That is roughly 110 leads per month you have to generate.

If that number makes you wince, good. Now you know the real size of the task, and you can size the budget to it instead of guessing a percentage.

Step 4: Apply your blended CAC

  • Jobs needed: 267
  • Blended CAC (from your channel table): say $700
  • Acquisition budget needed: 267 × $700 = $186,900
  • As a percent of target revenue: $186,900 / $3,200,000 = 5.8%

If that percentage lands inside the sane band for your stage (it does, comfortably), your plan is internally consistent. If the percentage comes out at 22%, your CAC is too high or your goal outruns your economics, and you need to fix CAC or lower the goal before you spend a dollar.

Step 5: Split it across channels and add a buffer

Apply your channel split to the acquisition budget, separate marketing from sales, and add a 10% to 15% buffer for the test budget and the things that always cost more than planned. Then break it into months, weighted for your season; a hail-and-storm-aware roofer front-loads spend ahead of and during the season rather than spreading it flat.

A filled-in example

Line Annual % of $3.2M target
Foundation (web, SEO, reviews) $30,000 0.9%
Digital demand capture $55,000 1.7%
Targeted outbound (mail, canvass program) $50,000 1.6%
Referral & repeat $18,000 0.6%
Test budget $14,000 0.4%
Marketing subtotal $167,000 5.2%
Sales (rep pay, commissions, sales mgmt) $190,000 5.9%
Total acquisition spend $357,000 11.1%

This is the moment the percentages finally mean something. Marketing alone is a healthy 5.2%. Add sales and you are at 11.1% of revenue on the full cost of growth, which is reasonable for a company pushing 33% growth. If you were holding flat instead of growing a third, you would trim the test budget and some demand-capture spend and land lower.

How to know if you are overspending or starving growth

Three gauges tell you almost everything.

Gauge 1: CAC trend over time

Plot your blended CAC month over month. If it is stable or falling as you spend more, your channels are healthy and you can keep scaling. If CAC is rising as you add budget, you are hitting diminishing returns: you have saturated a channel and the next dollar is buying worse customers. That is the signal to shift money to a different channel, not to keep feeding the saturated one. Rising CAC at flat spend is a different warning, it means the market or a platform shifted under you, and you need to investigate before it gets worse.

Gauge 2: Payback period

How long until a customer's gross profit covers the cost to acquire them? In roofing, where most residential jobs are paid within weeks of completion, payback is usually fast, you collect the job before the marketing invoice is even due. If you find your payback stretching, it usually means CAC has crept up relative to job value, or you are selling a lot of low-ticket repairs that do not carry their acquisition cost. Repairs often do not pay back as cleanly as replacements, which is fine if they feed future replacement work and reviews, but you should know that is the trade you are making.

Gauge 3: The share-of-channel rule

If any single channel is producing more than ~40% of your jobs, you are exposed. It might be working beautifully right now, and that is exactly when complacency is dangerous. Use a strong primary channel to fund the diversification that protects you when it inevitably changes.

Signs you are overspending

  • Total acquisition spend over 15% of revenue and you are not a sub-$1M company buying scale
  • CAC rising while spend rises (diminishing returns) and you keep feeding it anyway
  • A large "agency retainer" line you cannot tie to a single tracked job
  • Paying for leads and channels you have never measured a CAC on

Signs you are starving growth

  • Phone goes quiet for stretches and you have no demand-generation engine, only referrals and hope
  • You are sitting on a CRM full of old estimates and past customers you never re-engage (paid-for demand you are leaving on the table)
  • A channel returns 5x or 6x in gross profit and you are not scaling it because the monthly number "feels like a lot"
  • You under-invest the moment revenue dips, cutting marketing exactly when you most need pipeline, which deepens the dip

That last one is the classic roofing death spiral: revenue softens, owner panics and cuts marketing, pipeline dries up two months later, revenue drops further, repeat. Marketing is the one cost you should be most careful about cutting in a slow stretch, because it is what ends the slow stretch.

Budgeting around the season

Roofing revenue is not flat across the year, and your budget should not be either. Most residential markets see demand concentrate in the warmer months, with a hard quiet stretch in deep winter in northern climates. There are two schools of thought on how to spend against that curve, and both can be right depending on your capacity.

If your crews are the bottleneck in peak season, front-load spend ahead of the rush so your pipeline is full when crews come available, then ease off paid demand once you are booked out, because paying to generate leads you cannot service for six weeks just buys cancellations and bad reviews. If your crews have slack, the opposite play wins: spend counter-seasonally, lean into the slower months when competitors have pulled back and lead costs soften, and keep your team busy on repairs and the occasional off-season replacement. The wrong move, the one most roofers default to, is spreading the budget evenly across twelve months regardless of capacity or competition, which overspends in the quiet stretch and underspends right when demand is there to capture.

For storm-exposed roofers there is a third layer: a pre-built, ready-to-fire outbound push that sits dormant until an event hits your footprint. The budget for it is reserved, not spent monthly, and it deploys in the narrow window after a storm when reaching the right homes fast matters most. Building that machine in advance, the target list, the mail piece, the canvassing routes, the documentation workflow, is itself a budget decision, and it is far cheaper to assemble in the calm than to improvise in the chaos.

Common ways roofers waste marketing money

From the field, the recurring leaks, roughly in order of how much money they cost:

  1. Buying the same shared lead as three competitors. You pay for a lead, so do three other roofers, and now you are in a price-shopping knife fight on the homeowner's porch. High cost per lead, low close rate, terrible CAC. Owned demand beats rented demand every time.
  2. Spending evenly across every home instead of the right homes. Covered above. Mailing and knocking new roofs is pure burn. Aim the spend before you optimize it.
  3. Slow speed-to-lead. A lead contacted in five minutes converts dramatically better than one contacted in an hour. Every minute of delay quietly raises your CAC because you paid for a lead you then let go cold. This is free money most roofers leave on the floor.
  4. No tracking, so no idea which channel works. If you cannot produce a CAC per channel, you are flying blind and almost certainly overpaying in at least one place. Tracking is cheap; ignorance is expensive.
  5. Letting the CRM rot. Every past customer and dead estimate is demand you already paid to acquire. Roofers who never reactivate that list are throwing away the cheapest jobs available to them, far cheaper than any new-customer channel.
  6. Agency retainers with no attribution. Paying a flat monthly fee to a vendor who cannot show you jobs produced is how budgets bloat invisibly. Demand attribution or demand a different vendor.
  7. Cutting brand entirely to chase only direct response. The opposite mistake. If nobody in your market recognizes your name, every channel works harder and costs more. A baseline of local brand presence lowers the cost of everything else.

Putting it together: three example budgets

To make the framework concrete, here are three roofers at different stages, each correct for where they are.

The $600K hustler

  • Goal: reach $1M, prove a repeatable channel
  • Budget: 16% of revenue ($96K) heavy on owner-led sales, canvassing, and a tightly targeted mail program; minimal brand spend
  • Why high: no brand, no flywheel, paying tuition to find the channel that works. Spends a disproportionate share on targeting so the limited budget hits due homes only.

The $4M grower

  • Goal: reach $5.5M without CAC blowing up
  • Budget: ~11% total (~5% marketing, ~6% sales), diversified across digital, mail, canvassing, and a real referral engine; a strict 8% test budget
  • Why balanced: has a brand and a flywheel, knows its CAC per channel, scales the winners and protects against single-channel risk.

The $15M leader

  • Goal: defend share, grow modestly
  • Budget: ~6% total; brand and referrals do heavy lifting, low CAC, marketing mostly maintains the machine and funds the next market
  • Why lean: name recognition, a deep referral flywheel, and crews booked out mean each dollar has less to do.

Same question, three right answers. That is why "how much should a roofing company spend on marketing" can only ever be answered with your own numbers in hand.

The one-page summary

  • Healthy total acquisition spend (marketing + sales) runs 5% to 15% of revenue, falling as you grow; mature retail roofers cluster near 8% to 10% all-in, with marketing alone often 5% to 8%.
  • Percent of revenue is a backstop, not a budgeting method. Size the budget off CAC and gross profit per job, then check it against the percentage band.
  • Keep CAC under roughly 20% to 30% of gross profit per job per channel; build a CAC-per-channel table and live in it.
  • Separate marketing from sales. A high blended CAC with low close rate is a sales problem; do not solve it with more marketing.
  • Diversify. No channel over ~40% of jobs. Always run a 5% to 10% test budget.
  • The biggest hidden line item is spend aimed at homes that will never buy. Fixing the targeting under every channel beats optimizing any single channel.
  • For storm work, stay strictly on the document-and-estimate side: inspect, photograph, write an accurate estimate, hand it to the homeowner. Never negotiate or handle the claim, interpret coverage, promise a payout, erase a deductible, or advertise a free roof.

Get your average job value, gross margin, close rate, cost per lead, and CAC on one page, and the budget question stops being a guess. If you want the targeting layer underneath all of it, so your mail, your routes, and your old customer list point at the roofs that are actually due, that is the specific problem RoofPredict was built to solve. See what scanning your own area surfaces at roofpredict.com, and aim every marketing dollar at the homes that can actually convert.

FAQ

How much should a roofing company spend on marketing as a percentage of revenue?

Most healthy roofing companies spend 5% to 15% of total revenue on marketing and sales combined, with mature retail roofers typically clustering around 8% to 10% all-in. The percentage falls as you grow: a sub-$500K startup may spend 10% to 20% to buy its first repeatable channel, while a $10M+ market leader can grow on 4% to 8% because brand and referrals do the heavy lifting. Marketing alone (excluding sales costs like rep pay and commissions) often runs 5% to 8% for established companies.

Should I budget by percentage of revenue or by customer acquisition cost?

Use both, but let CAC drive the decisions. Percent of revenue is a useful backstop and sanity check, but it is a lagging top-down number that sizes this year's growth to last year's results. Customer acquisition cost (CAC) versus gross profit per job tells you the return on each marketing dollar, so the budget sizes itself: if a channel returns several dollars of gross profit per dollar spent and you can scale it, you feed it until the return drops. Then check the resulting total against the percentage band to make sure it is sane for your stage.

What is a good customer acquisition cost for a roofing company?

It depends entirely on your job value and margin, which is why the raw dollar figure is meaningless on its own. A useful rule of thumb is to keep CAC under roughly 20% to 30% of gross profit per job. If your average job carries $4,200 in gross profit, a CAC of $667 (about 16%) is strong and worth scaling, while $1,000+ (24%+) is workable but a signal to find a better channel. Build a CAC-per-channel table and compare every source against gross profit, not against each other in isolation.

How do I split my roofing marketing budget across channels?

A defensible starting split for a growth-stage retail roofer is roughly 15-20% foundation (website, local SEO, reviews, Google Business Profile), 25-35% digital demand capture (search ads, Local Services Ads, retargeting), 25-35% targeted outbound (direct mail, canvassing, list-based outreach), 10-15% referral and repeat, and 5-10% test budget for one new channel per quarter. Then tune the split using your own CAC-per-channel numbers, and never let a single channel exceed about 40% of your jobs, so one platform change or dry storm season cannot wipe you out.

Why is my marketing budget so high but I am still not growing?

The most common cause is that a sales-conversion problem is being mistaken for a marketing problem. If your blended CAC is high because your close rate is low, pouring more money into marketing just feeds more leads into a leaky funnel. Separate your marketing spend (demand generation) from your sales spend (conversion). If marketing efficiency is fine but close rate is poor, the fix is sales training, faster speed-to-lead, and better qualification, not more ad spend. The second common cause is spending evenly across homes that will never buy instead of targeting roofs that are actually due.

How much should a new or small roofing company spend on marketing?

A sub-$500K roofer is usually right to spend a higher share, often 10% to 20% of revenue, because you have no brand recognition and no referral flywheel to coast on, so you are essentially paying tuition to find your first repeatable channel. Concentrate that spend on the lowest-CAC opportunities first, referrals and past-customer reactivation, then on tightly targeted outbound that hits only homes likely to be due, since a small budget cannot afford to be sprayed across an entire neighborhood including new roofs.

Are bought roofing leads worth the money?

Sometimes, but run the CAC math before committing. Shared leads are sold to multiple roofers at once, so you arrive on a porch competing against three other companies, which crushes your close rate and inflates your effective CAC even when the per-lead price looks cheap. A lead at $75 that closes at 21% can cost you more per job than a lead at $150 that closes at 37%. Owned demand, your own targeting, your CRM, and referrals, almost always beats rented, resold demand on cost per acquisition.

How does targeting which roofs are due affect my marketing budget?

It is the largest hidden lever in most budgets. When you mail a whole neighborhood or knock a whole street, a large share of the spend hits new and recently re-roofed homes that cannot convert for a decade or more, and that waste is buried inside every channel rather than showing up as a line item. Tightening which homes you target, by roof-age range and the storm history modeled on each roof, lowers your effective cost per acquisition without spending an extra dollar. This is the layer RoofPredict adds underneath your existing channels: it ranks which roofs are actually due so your mail, routes, and customer list point at homes that can convert. Roof age comes back as a range and storm impact as odds, so it tells you where to aim, not what you will find on the ladder.

Can I advertise that homeowners get a free roof or no-deductible storm work?

No. Advertising a free roof, or promising that an insurance deductible will be waived, absorbed, or covered, crosses into territory regulators treat as deceptive and, combined with negotiating the claim, as unlicensed public adjusting in most states. It can cost you your license and trigger complaints. Keep your storm marketing on the safe side of the line: inspect the roof, document damage with photos, and write an accurate repair estimate aligned to standard carrier pricing, then hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. Market the thoroughness of your documentation and the quality of your scope, never a payout, approval, or deductible outcome you cannot promise.

Should I cut marketing when revenue slows down?

Be very careful here, because cutting marketing during a slow stretch is the classic roofing death spiral: revenue softens, the owner panics and cuts marketing, pipeline dries up a couple of months later, revenue drops further, and the cycle repeats. Marketing is the engine that ends the slowdown, so it is often the worst cost to cut first. If you must trim during a downturn, cut the experimental test budget and any unmeasured agency retainers before you touch the channels with a proven CAC, and lean hard on your cheapest demand, referrals and CRM reactivation, to keep the phone ringing.

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. NRCA Roofing Industry Resources and Market Datanrca.net
  2. U.S. Census Bureau - Annual Survey of Construction & New Residential Constructioncensus.gov
  3. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  4. Insurance Institute for Business & Home Safety (IBHS) - Hail and Roofing Researchibhs.org
  5. NOAA National Centers for Environmental Information - Storm Events Databasencdc.noaa.gov
  6. NOAA Storm Prediction Center - Severe Weather Climatologyspc.noaa.gov
  7. Federal Trade Commission - Advertising and Marketing Guidance for Businessesftc.gov
  8. Texas Department of Insurance - Public Insurance Adjuster Licensingtdi.texas.gov
  9. National Association of Insurance Commissioners - Public Adjustersnaic.org
  10. International Code Council - International Residential Code (IRC)iccsafe.org
  11. U.S. Small Business Administration - Marketing and Sales Guidancesba.gov
  12. Internal Revenue Service - Deducting Business Advertising Expenses (Publication 535)irs.gov
  13. Google Business Profile Help - Local Visibility for Service Businessessupport.google.com
  14. RoofPredictroofpredict.com

Related Articles