Skip to main content

How Much Should Roofing Companies Spend on Marketing? A Percent-of-Revenue Playbook

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

Most roofing owners I talk to either spend nothing on marketing and pray the phone rings, or they spend a fortune chasing shared leads and can't tell you whether a single dollar of it worked. Both are guessing. The question they're really asking, once you strip away the noise, is simple: what percent of my revenue should go to marketing, and how do I spend it so it actually pays?

The honest answer is that there is no single magic percentage. A retail re-roof company in a calm metro and a storm-restoration crew chasing a hail swath three states over should not run the same budget. But there are defensible ranges, there are ways to set your own number instead of borrowing someone else's, and there is a clear way to tell whether the spend is working before you've burned a quarter of profit finding out.

What follows is the math, the benchmarks, the channel allocation, and the tracking discipline I'd hand a roofing owner who wants to grow without lighting cash on fire. We'll cover what the number should be at each stage of the business, how to split it across channels, how to read the metrics that actually matter, and where the common, expensive mistakes are hiding.

The short answer, then the nuance

For most established residential roofing companies, marketing spend lands somewhere between 5% and 10% of revenue. That's the range you'll see quoted across home-services and construction benchmarks, and it's a reasonable starting gravity. But the range is wide for a reason, and where you sit inside it (or outside it) depends on three things:

  1. Growth stage. A brand-new company buying its way into a market spends far more, proportionally, than a 20-year-old shop coasting on referrals and a known name.
  2. Revenue mix. Retail re-roofs, insurance/storm restoration, new construction, and commercial each have different acquisition economics. A commercial bid-work shop might spend almost nothing on "marketing" in the consumer sense and everything on relationships and estimators.
  3. What you count as marketing. This is where benchmarks fall apart. If one owner counts only Google Ads and another counts ads plus a full-time marketing hire, two trucks wrapped, a CRM subscription, and sponsorship of the local high school, they are not comparing the same number.

So before you anchor on a percentage, you have to define the denominator and the numerator. Let's do that, then build the budget from the ground up rather than top-down from a borrowed rule of thumb.

Define what counts as marketing spend

The percent-of-revenue number is meaningless until both sides of the fraction are pinned down. Roofers routinely under-report or over-report their marketing percentage by a factor of two simply because they draw the boundary in different places.

Here is a clean way to categorize it. I separate spend into three buckets, and I recommend you track them separately so you can reason about each one:

Bucket 1: Direct demand generation

Money spent to make the phone ring or the form submit. This is the part most people mean when they say "marketing budget."

  • Pay-per-click (Google Ads, Local Services Ads, Bing)
  • Paid social (Meta, sometimes TikTok or YouTube)
  • Purchased leads / shared lead platforms
  • Direct mail and door-hanger campaigns
  • Canvassing labor that exists purely to generate appointments
  • SEO and content production (agency or in-house)
  • Sponsorships, radio, billboards, local TV

Bucket 2: Marketing infrastructure and overhead

The scaffolding that makes Bucket 1 work but doesn't generate demand on its own.

  • Website hosting, design, and maintenance
  • CRM and marketing-automation software
  • Call tracking and lead-management tools
  • Marketing salaries (a marketing coordinator, a part-time strategist, a fractional CMO)
  • Branding, photography, video production, design assets
  • Vehicle wraps and signage

Bucket 3: Reputation and retention

Lower-cost, high-leverage spend aimed at the customers you already touched.

  • Review-generation tools and incentives
  • Referral program payouts
  • Customer follow-up and reactivation campaigns (warranty check-ins, maintenance reminders)
  • Branded leave-behinds and yard signs

Why split it this way? Because the right "percentage" looks very different depending on which buckets you include. A useful discipline: compute two numbers and report both internally.

  • Total marketing spend % = (Bucket 1 + Bucket 2 + Bucket 3) ÷ revenue
  • Working media % = Bucket 1 only ÷ revenue

The total tells you what marketing costs the business. The working-media number tells you how aggressively you're actually buying demand, which is the lever you pull to grow. When someone tells you "we spend 6%," your first question should be: total or working media? The gap between them is often 2-3 points.

How the right percentage changes by growth stage

This is the single most useful frame, and it's the one most rule-of-thumb articles skip. Marketing spend as a percent of revenue should track inversely with your brand equity and referral base. The less the market knows you, the more you pay to be known.

Stage 1: Startup / market entry (0-3 years, or new market)

Working media: 10-15%+ of revenue. Total marketing: 12-20%.

You have no referral flywheel, no review moat, and no name recognition. Every job is bought. This stage feels uncomfortable because the percentage is high and the profit is thin, but you are buying market position, not only jobs. The mistake here is under-spending and staying invisible for years. The opposite mistake is spending heavily on brand-building (billboards, sponsorships) before you have the operational capacity to fulfill the demand or the tracking to know what's working.

At this stage, concentrate almost entirely on high-intent, measurable channels: Local Services Ads, Google Search, and targeted direct mail or canvassing in neighborhoods where you can show recent work. Skip awareness plays until you have a referral base to amplify.

Stage 2: Growth (3-8 years, building reputation)

Working media: 6-10% of revenue. Total marketing: 8-12%.

Reviews are accumulating, some jobs now come from referrals and repeat customers, and your name shows up in a few neighborhoods. You can start to dilute paid acquisition with earned demand. This is the stage to add SEO and content seriously (it compounds slowly, so start it before you need it), build a referral program, and invest in the infrastructure (CRM, call tracking) that lets you scale spend intelligently.

Stage 3: Established / market leader (8+ years, strong brand)

Working media: 3-6% of revenue. Total marketing: 5-8%.

A meaningful share of revenue now arrives through referral, repeat, reputation, and inbound search for your brand name. You're no longer buying every job. Spend shifts toward defending position, staying top-of-mind, and filling gaps when referral volume dips. Many strong regional shops sit at 4-6% total and grow steadily. The risk at this stage is complacency: cutting marketing to zero because "we don't need it" works right up until a competitor with a 12% budget moves into your territory.

A worked example across stages

Take a company at $2,000,000 in annual revenue.

Stage Total marketing % Annual marketing $ What it buys
Startup 15% $300,000 Heavy paid search, LSAs, mail, canvassing crew, basic CRM
Growth 10% $200,000 Balanced paid + SEO + referral program + marketing coordinator
Established 6% $120,000 Brand defense, retargeting, reputation, lighter paid

Notice the absolute dollars don't collapse as fast as the percentage suggests, because revenue is also growing. The startup at 15% of $2M and the established shop at 6% of $5M are spending similar real money. Percentage is a planning tool; dollars are what hit the market.

Retail vs. storm vs. commercial: same business, different math

The biggest source of bad budgeting advice is treating all roofing as one category. The acquisition economics are genuinely different.

Retail re-roofing (homeowner pays out of pocket)

Demand is steady but price-sensitive and slow. Homeowners deliberate, get multiple bids, and shop. Marketing here is a steady-state engine: search, reputation, and referral do most of the work, and you're optimizing cost per acquired job over months. Budget tends to sit in the middle of the ranges above.

Storm restoration (hail/wind, insurance-driven)

This is a different animal. Demand spikes after a storm and then evaporates. The companies that win storm work spend aggressively and fast in a narrow window: canvassing, geo-targeted ads, and direct mail concentrated on impacted neighborhoods. The economics can be excellent because a single storm can fill months of capacity, but the timing risk is brutal. Spend the wrong week or the wrong zip codes and you've paid retail prices to knock on doors with no damage.

Storm marketing also drags compliance baggage that retail doesn't. The temptation is to advertise around the insurance claim itself, and that's exactly where roofers get into trouble. We'll cover the safe framing in its own section because the legal line matters more than the budget line here.

Commercial / new construction

Largely relationship-driven and bid-driven. "Marketing" looks like estimators, trade relationships, association memberships, and a credible web presence that survives due diligence, not consumer demand-gen. Percentage of revenue spent on consumer-style marketing is usually low (often under 3%), with the real acquisition cost living in sales salaries and bid labor that most owners don't categorize as marketing at all.

If you run a mixed shop, budget each line of business separately and roll them up. A blended 7% can hide a retail division that's starving and a storm division that's overspending.

Build the budget bottom-up from CAC, not top-down from a percentage

A percentage is a sanity check, not a plan. The right way to set the number is to work backward from what a customer is worth and what it costs to get one. This is where most roofing companies have no idea what's actually happening, and where the real money is won or lost.

You need four numbers:

  1. Average job value (gross revenue per job). Pull it from your last 12 months. Say it's $14,000 for a residential re-roof.
  2. Gross margin per job. After materials and labor, what's left to cover overhead and profit? Say 30%, so $4,200 of gross profit per job.
  3. Customer acquisition cost (CAC). Total marketing spend in a period ÷ number of new customers acquired in that period. Say you spent $120,000 and closed 100 new jobs: CAC = $1,200.
  4. Close rate by channel. What fraction of leads from each source become signed jobs?

With those, you can reason cleanly. If a job throws off $4,200 in gross profit and costs $1,200 to acquire, your marketing efficiency ratio is 3.5:1 gross-profit-to-CAC. That's healthy for roofing. A common rough floor is that gross profit per job should be at least 3-4x your CAC; below that, you're working hard to subsidize lead vendors.

Now flip it to set the budget. If you want 200 new jobs next year and your blended CAC is $1,200, you need a working-media budget of roughly $240,000. On projected revenue of $2.8M, that's about 8.6% working media. The percentage falls out of the math instead of being imposed on it.

Worked CAC table by channel

Here's the kind of channel-level view every roofer should be able to produce. Numbers are illustrative; build yours from your own books.

Channel Spend Leads Close rate Jobs CAC Notes
Local Services Ads $30,000 250 28% 70 $429 High intent, pay-per-lead, Google-screened
Google Search (PPC) $40,000 320 18% 58 $690 Intent-rich but competitive bids
Shared/purchased leads $25,000 500 9% 45 $556 Cheap per lead, low close, sold to competitors too
Direct mail (targeted) $18,000 90 22% 20 $900 Slow, depends hard on list quality
Referral program $6,000 60 45% 27 $222 Best CAC, hardest to scale on command
SEO / content $20,000 140 24% 34 $588 Compounds; CAC drops over time

A few things jump out of a table like this, and they're the same things that jump out of most real roofers' data once they actually build it:

  • Referral and earned channels have the lowest CAC and the highest close rates. They're also the slowest to scale, which is exactly why you fund paid channels to grow.
  • Shared/purchased leads look cheap per lead and expensive per job. A $50 lead sold to five contractors with a 9% close rate is not cheap. CAC, not cost per lead, is the number that matters.
  • The list quality on direct mail is everything. A targeted mailer to the right roofs performs; a blanket mailer to a zip code burns money on roofs that were replaced two years ago.

That last point is where targeting data changes the equation, and it's worth its own section.

Spending less to get the same jobs: targeting beats volume

Most of the waste in a roofing marketing budget isn't in the channel choice. It's in spraying a good channel at the wrong addresses. Direct mail to a whole zip code, canvassing a neighborhood at random, buying leads with no signal about whether the roof is even near end of life, paying retail CPMs to reach homeowners whose roofs are five years old.

The cost-per-job math improves dramatically when you point the same spend at roofs that are actually due. Two roofs on the same street can be a decade apart in age. If you can concentrate mail, canvassing, and ad targeting on the homes whose roofs are aging out or were worn down by a recent storm, your close rate rises and your CAC falls without spending an extra dollar.

Where RoofPredict fits

This is the gap RoofPredict is built for. It tells roofing contractors which roofs are due, house by house: a roof-age range per address derived from aerial imagery, combined with storm physics modeled per individual roof, so you can rank doors, routes, and mailing lists by likelihood that the roof needs work. It's not a lead-buying service and it doesn't hand you homeowners; it enriches your own CRM or mailing list with roof-age and storm signals so your existing budget lands on the right houses.

What that does to the budget math is concrete. If a targeted direct-mail campaign converts at 22% on a generic list and you can lift the response by mailing only the roofs in the likely-due range, the same mail budget produces more jobs and your cost per job drops. The same logic applies to canvassing routes (send crews down streets ranked by due-likelihood instead of by geography) and to ad audiences (upload a list weighted toward aging and storm-worn roofs).

Be clear-eyed about the limits, because anyone selling you certainty is lying. Roof age comes back as a range, not a birth certificate; aerial imagery infers age, it doesn't read a permit. Storm modeling gives you odds that a given roof took damage, not proof that it did, and never a guarantee of an insurance outcome. The crew still has to knock, inspect, and document. What the data buys you is a better-ordered list, so the finite hours and dollars you have go to the doors most likely to convert. That's a budgeting lever, not a magic wand.

Channel-by-channel allocation guidance

With the framing in place, here's how I'd think about splitting a working-media budget. These are starting points to adjust against your own CAC data, not commandments.

Local Services Ads (Google Guaranteed)

For most residential roofers, this is the highest-intent, best-CAC paid channel available, and it should usually be funded first. You pay per lead, the leads are people actively searching for a roofer in your area, and the Google Guaranteed badge converts. Cap it only when you've saturated available volume. Typical share: 20-35% of working media.

Google Search (PPC)

Reliable intent, but bids in roofing are high and climbing. Tightly manage match types, negative keywords, and geo-targeting, and route calls through tracking. Don't let an agency run broad-match on "roof" and call it a strategy. Typical share: 20-30%.

SEO and content

The compounding channel. It's slow (expect 6-12 months before it pulls real weight) and it's the one owners cut first when cash is tight, which is exactly backward. Content that answers real buyer questions earns search traffic for years at a declining CAC. Start it in the growth stage before you need it. Typical share: 10-20%, weighted toward production early.

Lower intent than search, but excellent for retargeting (staying in front of people who visited your site) and for storm-response campaigns geo-fenced to impacted areas. Weak as a cold lead source for high-ticket re-roofs; strong as an amplifier. Typical share: 5-15%.

Direct mail and canvassing

Proven in roofing, especially storm work, and entirely dependent on list and route quality. Budget here is wasted or multiplied based on targeting. Typical share: 10-25% depending on whether you run a canvassing operation.

Purchased/shared leads

Use sparingly and watch CAC, not cost per lead. Useful to fill capacity gaps; dangerous as a primary engine because you're competing against the four other contractors who bought the same lead. Typical share: 0-15%, ideally trending down as your owned channels mature.

Referral and reputation

The cheapest jobs you'll ever buy. A structured referral program with a real incentive, plus disciplined review generation after every job, lowers your blended CAC more than any ad tweak. Underfund this and you leave the highest-margin growth on the table. Typical share: 5-10% of budget, enormous share of results.

The metrics that actually tell you if it's working

A budget without tracking is a donation. Here are the numbers to watch, in order of importance, and the discipline to make them trustworthy.

1. Customer acquisition cost (CAC), by channel

Total spend in a channel ÷ jobs closed from that channel. Compute it monthly. If you can't attribute jobs to channels, fix that before you spend another dollar. Call tracking numbers per channel and a "how did you hear about us" field that your sales team actually fills in are the minimum.

2. Marketing efficiency ratio (gross profit ÷ CAC)

For every dollar of CAC, how many dollars of gross profit come back? Aim for 3:1 or better at the job level. Below 2:1, the channel is probably losing you money once overhead is loaded in.

3. Cost per lead vs. cost per job

Track both, but make decisions on cost per job. The cheapest leads are routinely the most expensive jobs.

4. Close rate by channel and by rep

A channel's CAC is half lead cost and half close rate. A great lead source wasted by a weak follow-up process looks like a bad channel. Separate the two before you kill a channel.

5. Speed-to-lead

The single most controllable conversion lever. Leads contacted within five minutes close at dramatically higher rates than leads contacted an hour later. Slow response quietly doubles your effective CAC across every paid channel. Measure your median response time; if it's over ten minutes, that's your cheapest improvement.

6. Lifetime value and referral rate

A re-roof customer who sends you two neighbors is worth far more than the single job. If your average customer generates 0.5 referred jobs over time, your effective CAC is meaningfully lower than the raw number. Track referral rate so you can value your earned channels honestly.

A simple monthly marketing scorecard

Build this once and review it every month. It takes one page.

Metric This month Last month Trailing 3-mo avg Target
Total marketing spend
Working media spend
Marketing % of revenue
Leads (total + by channel)
Cost per lead
Close rate
Jobs closed
Blended CAC
Gross profit ÷ CAC
Median speed-to-lead

If you fill this in honestly for three months, you will know more about your marketing than 90% of your competitors know about theirs, and you'll stop arguing about percentages because you'll be reasoning about dollars and returns.

A step-by-step process to set next year's budget

Here's the workflow start to finish. Block half a day with your books open.

  1. Pull last 12 months of revenue and categorize it by source. Referral, repeat, paid search, mail, storm, commercial bid, etc. You're looking for what fraction of revenue is earned vs. bought.
  2. Compute current marketing spend, total and working media. Use the three-bucket framework. Don't skip the infrastructure and reputation buckets.
  3. Compute blended CAC and, where possible, CAC by channel. Spend ÷ new jobs.
  4. Compute gross margin per job and your gross-profit-to-CAC ratio. This tells you whether to spend more or fix efficiency first.
  5. Set a revenue goal for next year. Be specific about how much must come from new customers vs. repeat/referral.
  6. Translate the new-customer goal into jobs, then into budget via CAC. New jobs needed × blended CAC = working-media budget. Add the infrastructure and reputation buckets for total budget.
  7. Sanity-check against the percentage ranges for your stage. If your bottom-up number is 18% and you're an established shop, something's off; your CAC is probably too high or your close rate too low. If it's 3% and you're a startup, you're going to stay invisible.
  8. Allocate across channels using your CAC-by-channel data, funding the best-CAC scalable channels first.
  9. Set targets for the scorecard and commit to a monthly review.
  10. Reserve a test budget. Carve out 10-15% of working media for experiments (a new channel, a targeting overlay, a different mail list). Marketing that never tests slowly decays as channels saturate.

What "good" looks like at different revenue sizes

The percentage ranges hold across company sizes, but how you spend the money and where the constraints bite change as you grow. A quick tour, because a $500K roofer and an $8M roofer should not run the same playbook even at the same percentage.

Under $1M in revenue. You are almost certainly owner-led on sales, with no dedicated marketing person. The budget is small in dollars (maybe $50K-$120K), so concentration matters more than diversification. Pick two or three high-intent channels you can actually manage, get the tracking right from day one, and resist the urge to dabble in six things at once. The biggest lever at this size isn't a clever channel, it's speed-to-lead and close rate, because the owner is often the bottleneck. Many roofers at this size are better served fixing follow-up before adding spend.

$1M-$3M. This is where a marketing coordinator or fractional lead starts to pay for itself and where SEO and a referral program should already be running, not on the to-do list. You have enough volume to read channel CAC on trailing averages, and enough revenue that an extra point of marketing percentage funds a real growth push. The trap here is the owner still trying to run marketing on the side of a 60-hour operations week; the channels get neglected and decay.

$3M-$8M. Now you can support an in-house marketer plus specialist help, and the question shifts from "are we spending enough" to "is every dollar attributable and optimized." Process and tooling matter as much as budget. This is also the size where geographic or service-line expansion becomes the growth story, and each new market resets you to startup-stage marketing economics within that market even though the company overall is established.

$8M+. Brand starts doing real work, referral and repeat carry a large share of revenue, and the marketing percentage can settle into the lower end while absolute dollars stay large. The discipline that matters most is not letting success breed complacency, and treating expansion markets with the aggressive, measurable spend they actually need rather than assuming the established-market playbook transfers.

The through-line: percentage is roughly stable by stage, but the binding constraint moves from follow-up discipline (small) to attribution and process (mid) to brand and expansion strategy (large). Spend your management attention on whichever constraint is currently binding, not on the one a bigger company worries about.

Reading the numbers when your sample size is small

A fair objection to all this CAC math: a small roofer closing 120 jobs a year doesn't have enough volume to trust channel-level statistics. A direct-mail channel that produced 20 jobs last year could swing to 12 or 30 next year on noise alone. That's real, and pretending otherwise leads to whipsawing your budget on random variation.

A few disciplines keep you honest when the numbers are thin:

Use trailing averages, not single months. A three-month or six-month rolling CAC smooths out the lumpiness of roofing, where one good week distorts a month. Make decisions on the trend, not the data point.

Pool similar channels before judging them. If you run three different direct-mail drops, look at mail as a category first, then drill in only if the category warrants it. Slicing 120 jobs into eight channels and twelve months gives you cells too small to mean anything.

Separate signal from noise with a simple gut check. If a channel's CAC moves 10%, that's noise; ignore it. If it doubles or halves and stays there for two reporting periods, that's signal; act on it. Don't reallocate the whole budget over a 15% wobble.

Weight the controllable inputs. Even with small job counts, you can trust leading indicators that have bigger samples: number of leads, cost per lead, speed-to-lead, and appointment-set rate all accumulate faster than closed jobs. If cost per lead in a channel is climbing month over month, you don't need 50 closed jobs to know the channel is getting more expensive.

The point of tracking at low volume isn't statistical certainty. It's to catch the obvious wins and obvious bleeders, and to stop you from defending a channel out of habit when the data has clearly turned.

How seasonality and cash flow should shape the spend

Roofing revenue is seasonal in most markets, and a flat monthly marketing budget fights that seasonality instead of working with it. Two schools of thought, and the right one depends on your goal.

Spend into the season (harvest demand). Concentrate working media in your peak months so you capture the homeowners who are already in buying mode. This maximizes jobs per dollar in the short run because intent is highest when the weather turns and roofs leak. The risk is that everyone else is bidding the same auctions, so your cost per lead spikes exactly when you're spending most.

Spend against the season (build pipeline). Run steady or even elevated demand-gen in your slower months to fill the schedule when competitors have gone quiet and ad costs are lower. Re-roofs have a long deliberation window, so a homeowner you reach in February may sign in April. This smooths your revenue and often delivers a better cost per lead because the auctions are softer.

Most strong operators do a blend: a baseline of always-on, compounding spend (SEO, LSAs, reputation) running year-round, plus a flexible working-media layer that leans into the shoulder seasons to build pipeline and stays funded enough in peak to harvest it. What you want to avoid is the panic pattern: zero marketing all winter, then a frantic ad blitz in May when the backlog is already full and you're paying peak prices to generate leads you can't even service until July.

Cash flow ties into this. Marketing spend leads revenue by weeks or months, so a growing roofer is always funding next quarter's jobs out of this quarter's cash. Build that lag into your forecast. A rule of thumb: if you're scaling working media hard, expect to carry one to two months of acquisition cost before the resulting jobs collect, and make sure your line of credit or cash reserve covers it. Under-capitalized roofers stall their own growth by cutting marketing the moment cash tightens, which starves the pipeline and makes the next quarter worse.

In-house vs. agency vs. fractional: where the budget goes

A chunk of the infrastructure bucket is the question of who actually executes. Three models, with honest tradeoffs.

Agency. You pay a monthly retainer (or a percent of ad spend) plus the media. Good agencies bring expertise and tooling you can't build at your size, and they free you to run the business. The failure modes are well known: broad-match ad waste, vanity reporting that celebrates impressions instead of jobs, and a misalignment where the agency optimizes for spend (their cut grows with your budget) rather than your cost per job. If you use an agency, tie reporting to CAC and jobs, demand per-channel call tracking, and review the actual search-term and placement reports yourself.

In-house. A marketing coordinator or manager on payroll who owns the channels. This makes sense once your working media is large enough that an agency cut would exceed a salary, usually somewhere north of $15,000-$20,000 a month in media. In-house people understand your jobs and your market better and respond faster, but they can plateau without outside expertise and you carry the fixed cost in slow months.

Fractional / hybrid. A part-time strategist or fractional marketing lead who sets direction and oversees execution, while specialists (a PPC contractor, a content writer) or your coordinator handle the doing. For most growth-stage roofers this is the efficient answer: senior strategy without a senior salary, and flexibility to scale execution up and down.

Whichever model you choose, budget for it in the infrastructure bucket and judge it the same way you judge a channel: by what it does to your blended cost per job. An agency that drops your CAC by $200 across 150 jobs pays for itself many times over; one that just spends your money efficiently into expensive auctions does not.

Common, expensive mistakes

These are the patterns I see drain roofing marketing budgets, roughly in order of how much money they cost.

Optimizing cost per lead instead of cost per job

The headline mistake. A $40 shared lead with a 9% close rate costs you $444 per job before you've staffed the follow-up. A $200 LSA lead at 28% costs $714 but the customer is yours and didn't get sold to four competitors. Always decide on cost per job.

No attribution, so no learning

If you can't say which channel produced which job, every budget decision is a coin flip. Per-channel call tracking and a disciplined source field are non-negotiable. The cost of the tooling is trivial against the cost of flying blind.

Cutting SEO and brand when cash is tight

The compounding channels are the first cut and the slowest to rebuild. Cutting them in a slow month feels responsible and costs you a year of momentum. Trim paid media down to your best-CAC channels before you touch the compounders.

Spraying good channels at bad targets

The right channel pointed at the wrong addresses is waste with a respectable name. Mailing whole zip codes, canvassing by geography instead of by roof condition, buying ad reach against homeowners with new roofs. Targeting on roof age and storm exposure is where the same budget produces more jobs.

Slow lead response

You pay premium prices for leads and then let them sit for an hour. Speed-to-lead is the cheapest CAC improvement available and almost nobody measures it.

Over-spending on awareness before you can fulfill

Billboards and radio for a three-truck shop that can't service the demand is vanity. Buy measurable, high-intent demand until your capacity and reputation justify awareness plays.

Treating storm and retail as one budget

Blending the budgets hides which division is actually performing. Budget and measure them separately.

Storm and insurance marketing: stay on the right side of the line

If any part of your marketing touches storm restoration, the budget conversation comes with a compliance conversation, and getting it wrong is more expensive than any CAC mistake. The temptation in storm advertising is to market around the insurance claim. Don't.

Here's the safe framing, and it's worth teaching your whole sales and marketing team because the violations usually happen in casual ad copy and doorstep pitches, not in deliberate policy.

What a roofer can do: inspect the roof, document damage thoroughly with photos, prepare an accurate repair estimate (aligned to standard estimating practices), and state facts about the scope of your own work to the carrier. Your marketing can promote thorough inspection and documentation, and the quality of your workmanship.

What a roofer must not do (and must not imply in any ad, mailer, or script):

  • Negotiate, adjust, or "handle" the homeowner's claim for a fee. That's public adjusting, and it requires a license you don't have.
  • Interpret the policy or tell the homeowner what is or isn't covered.
  • Promise a specific payout, approval, or that the claim will go through.
  • Promise the deductible will be waived, absorbed, eaten, or made to disappear. This shows up constantly in storm ads and it's both illegal in most states and a fast way to lose your license and your reputation.
  • Advertise a "free roof."
  • Represent the homeowner against the insurer.

The compliant workflow is clean: you document thoroughly, you write an accurate repair estimate, and you hand it to the homeowner. The homeowner files their own claim. The insurer decides coverage. Your marketing sells your inspection rigor and your documentation quality, not a claim outcome.

This is also where roof-age and storm-exposure data earns its keep without crossing any line. Knowing which roofs in a storm path are most likely to have been worn down (by age) and most likely to have taken impact (by modeled storm physics) tells you which doors to knock and which roofs to inspect and document. That's pure targeting. It says nothing about coverage, promises no payout, and keeps your team focused on the document-and-estimate side where you're allowed to operate. Capture the storm opportunity; just answer it with documentation and accurate estimates, never with claim handling.

When in doubt, check your state's department of insurance rules on public adjusting and contractor conduct after a loss. The lines vary by state and the penalties are real.

Putting it together: a sample annual plan

Let's tie the whole thing into one concrete plan for a growth-stage residential roofer doing $3,000,000, targeting $3,600,000 next year, with a known blended CAC of about $900 and a gross margin of 28%.

Step 1 — New-customer goal. Of the $600K growth, assume $200K comes from referral/repeat (earned) and $400K must be bought. At a $14,000 average job, that's about 29 bought jobs of growth, on top of replacing churned/one-time customers. Say total new-customer jobs needed: 120.

Step 2 — Working-media budget. 120 jobs × $900 CAC = $108,000 working media. On $3.6M revenue, that's 3%. Low for a growth-stage shop, which tells you there's room to grow faster if capacity allows. Push it up: fund 160 new jobs at $900 = $144,000, or 4%.

Step 3 — Add infrastructure and reputation. CRM, call tracking, website, a part-time marketing coordinator, review and referral programs: say $90,000.

Step 4 — Total marketing. $144,000 + $90,000 = $234,000, or about 6.5% of $3.6M. Squarely in the growth-stage range, with most of the dollars in measurable working media.

Step 5 — Channel split of the $144,000 working media:

Channel Allocation Budget
Local Services Ads 28% $40,320
Google Search PPC 25% $36,000
SEO / content 17% $24,480
Targeted direct mail 15% $21,600
Paid social / retargeting 8% $11,520
Test budget 7% $10,080

Step 6 — Overlay targeting. Run the direct mail and any canvassing against roofs ranked by due-likelihood and storm exposure rather than by zip code, so the mail budget converts harder. Track the lift against a control.

Step 7 — Review monthly on the scorecard, reallocating toward whatever channel is delivering the best gross-profit-to-CAC, and protect the compounding channels even in slow months.

That's a real plan. The percentage (6.5% total, 4% working media) came out of the math, it's appropriate for the stage, every dollar is attributable, and the targeting overlay stretches the same budget further.

The bottom line

The percent-of-revenue question has a usable answer: roughly 5-10% total for most established roofers, more like 10-20% when you're new or entering a market, drifting toward 5-8% as your brand and referral base mature. But the percentage is a sanity check, not a strategy. Set the actual number bottom-up from what a customer is worth and what one costs to acquire, split it across channels by their real cost-per-job, point it at the roofs most likely to be due, and review the results every single month.

Do that and you stop guessing. You'll know which dollars work, you'll spend more on the ones that do, and you'll grow without the quarterly heart attack of wondering where the marketing money went. If you want the targeting half of that equation, RoofPredict can rank your routes and enrich your list with roof-age ranges and per-roof storm signals, so the budget you've worked out lands on the houses most likely to say yes. The number you spend matters; where you point it matters more.

FAQ

What percentage of revenue should a roofing company spend on marketing?

For most established residential roofers, 5-10% of revenue is a reasonable range. Newer companies or those entering a new market often spend 10-20% because they're buying market position, while well-established shops with strong referral bases can sit at 4-6%. Treat the percentage as a sanity check and set your real budget bottom-up from your customer acquisition cost.

Should I count software and salaries in my marketing budget?

Yes, but track them separately. Split spend into direct demand generation (ads, mail, leads), infrastructure (CRM, website, call tracking, marketing salaries), and reputation/retention (reviews, referral payouts). Report both a total marketing percentage and a working-media percentage that counts only demand generation, since that's the lever you pull to grow.

How do I calculate customer acquisition cost for a roofing company?

Divide total marketing spend in a period by the number of new customers acquired in that period. If you spent $120,000 and closed 100 new jobs, your blended CAC is $1,200. Calculate it by channel where you can, using per-channel call tracking and a source field your sales team fills in, so you can see which channels deliver the lowest cost per job.

Is cost per lead or cost per job the number I should optimize?

Cost per job, always. Cheap leads frequently produce expensive jobs. A $40 shared lead sold to several contractors with a 9% close rate can cost more per signed job than a $200 high-intent lead that closes at 28%. Decide budget allocation on CAC and gross-profit-to-CAC, not on the headline price per lead.

How much should storm-restoration roofers budget differently from retail?

Storm work concentrates spend in a narrow window after a hail or wind event: canvassing, geo-targeted ads, and direct mail focused on impacted neighborhoods. The economics can be strong because one storm fills months of capacity, but timing and targeting risk is high. Budget and measure storm and retail separately so a blended percentage doesn't hide an underperforming division.

What is a healthy marketing efficiency ratio for roofing?

Aim for at least 3:1 gross profit to CAC at the job level. If a job throws off $4,200 in gross profit and costs $1,200 to acquire, that's 3.5:1, which is healthy. Below roughly 2:1, the channel is likely losing money once overhead is loaded in, and you should fix close rate or targeting before spending more.

Can targeting data lower my marketing cost per job?

Yes. Most waste comes from pointing good channels at the wrong addresses, like mailing whole zip codes or canvassing by geography. Ranking mail, routes, and ad audiences by roof age and storm exposure concentrates the same budget on roofs likely to be due, which raises close rates and lowers cost per job. Roof age comes as a range and storm modeling gives odds, not guarantees, so crews still inspect and document.

Should I cut marketing during a slow season?

Trim carefully. Cut paid media down to your best cost-per-job channels first, and protect the compounding channels like SEO, content, referral, and reputation, since those are slow to rebuild and quietly drive your lowest-CAC jobs. Cutting the compounders in a slow month feels responsible but often costs a year of momentum.

What can a roofer say in storm marketing without breaking insurance rules?

Promote thorough inspection, documentation, and accurate repair estimates, and state facts about your own scope of work. Do not negotiate or handle the homeowner's claim, interpret coverage, promise a payout or approval, claim the deductible will be waived or absorbed, advertise a free roof, or represent the homeowner against the insurer. The homeowner files the claim and the insurer decides coverage. Check your state department of insurance rules on public adjusting.

How often should I review my roofing marketing budget?

Monthly. Maintain a one-page scorecard tracking spend, marketing percentage, leads, cost per lead, close rate, jobs, blended CAC, gross-profit-to-CAC, and median speed-to-lead. Reallocate toward whatever channel delivers the best gross-profit-to-CAC, and reserve 10-15% of working media for testing new channels and targeting approaches so your marketing doesn't decay as channels saturate.

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. National Roofing Contractors Association (NRCA)nrca.net
  2. Insurance Institute for Business & Home Safety (IBHS) — Roofing Resourcesibhs.org
  3. NOAA National Weather Service — Storm Prediction Centerspc.noaa.gov
  4. NOAA National Centers for Environmental Information — Storm Events Databasencdc.noaa.gov
  5. U.S. Small Business Administration — Marketing and Sales Guidancesba.gov
  6. U.S. Bureau of Labor Statistics — Roofers Occupational Outlookbls.gov
  7. U.S. Census Bureau — Construction Spendingcensus.gov
  8. Federal Trade Commission — Advertising and Marketing Basicsftc.gov
  9. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  10. National Association of Insurance Commissioners (NAIC) — Public Adjustersnaic.org
  11. International Code Council — International Residential Code (IRC)iccsafe.org
  12. Occupational Safety and Health Administration — Roofing Safetyosha.gov
  13. Google — Local Services Ads Helpsupport.google.com
  14. RoofPredictroofpredict.com

Related Articles