A roofing marketing budget only works when you know what each dollar is supposed to buy. SEO, Local Services Ads and Google Ads charge differently, move on different clocks and fill different jobs. This guide shows how to allocate spend across the three without inventing a universal percentage, and how to judge the mix by cost per signed roof.
For the full roofing growth system, see our roofing marketing agency page. Channel detail lives on roofing SEO, Google Ads for roofers and Google Ads vs Local Services Ads for roofers. Unit economics sit in what marketing should cost per booked roofing job.
Start from jobs, not channels
Before you split a roofing marketing budget, write down:
- How many signed roofs you can staff this month
- Average contribution after materials and labor for repair vs replacement
- How many qualified leads it usually takes to sign one roof
- How fast your team answers and follows estimates
If that math is missing, fix tracking before you move money between SEO, LSA and Ads.
What each channel is for
Local Services Ads
Pay per valid lead when eligible and verified. Strong for ready to call local demand. You control job types and areas more than keywords. Reviews, response speed and profile quality affect ranking and lead cost. Screening takes time before leads run.
Google Ads (Search)
Pay per click. Best when you need keyword control, replacement intent, specific roof types or towns LSA cannot aim at precisely. Needs negatives, presence targeting, landing pages and call tracking. Spend stops when the budget stops.
SEO
No media fee per click. Builds owned pages, profile strength and organic Map Pack support over months. Early months are mostly work. Later months can lower blended acquisition cost if you maintain the assets. See roofing SEO.
A practical way to fund the mix
There is no honest fixed split for every roofer. A useful order of operations:
- Fund LSA first to a level that can actually spend in your towns, if you are verified and have enough reviews to compete.
- Put remaining paid budget into Search for replacements, materials you install and growth towns, with separate campaigns you can raise in storm weeks.
- Keep SEO funded every month as an owned program, not leftover change. Thin SEO that pauses every storm season never compounds.
When the total paid pot is small, do not starve three channels at once. One paid channel done well plus basic GBP and service pages beats three underfunded experiments.
SF Web Tech packages that include ongoing SEO start at $2,000/month (Lead and Local Growth) or $3,500/month (Local Authority). Lead Launch is $1,500/month for paid acquisition without an ongoing SEO program. Advertising is separate, starting at $50/day. Details on pricing.
Compare channels on one number
Do not compare an LSA lead to an Ads click. Bring both to cost per signed roof:
- LSA: media spend ÷ charged leads = cost per lead; then spend ÷ signed roofs
- Search: media spend ÷ calls and forms from those clicks = cost per lead; then spend ÷ signed roofs
- SEO: management fee (and related site costs) over a period ÷ signed roofs attributable to organic, once attribution is honest
Move money only toward a channel that is both cheaper per signed roof and able to spend more. If LSA is not exhausting its budget, more money will not buy more leads.
Storm season and quiet months
Raise the total before you obsess over the split. After hail or wind, both paid channels get busier. Keep LSA service areas honest; chasing a storm two counties over can buy leads you cannot serve. Use a separate Search campaign with its own cap for temporary storm geography.
In quiet months, shift Search toward inspections, maintenance and planned replacements. Keep SEO publishing and review velocity going so the next peak starts from a stronger profile.
What not to copy from the internet
Published cost per lead tables vary by market and year. Treat them as other people’s samples, not your forecast. Build the roofing marketing budget from your close rate, job mix and capacity. If both paid channels lose money per signed roof, the split is not the first problem: answer speed, estimate follow up and job targeting usually are.
Worked example without fake benchmarks
Suppose you can staff eight signed roofs next month and your close rate from qualified lead to signature is one in four. You need about 32 qualified leads that match the jobs you want. That target is yours, not an industry average.
Now assign channels by job type:
- LSA for local repair and general roofer near me demand you can answer quickly
- Search Ads for replacement and metal or flat roof keywords you want more of
- SEO for service pages, storm education and review velocity that keep working after the month ends
Review the month with three columns only: spend, qualified leads, signed roofs. If Search signed two replacements at an acceptable cost and LSA signed repairs you did not want, tighten LSA job types before you cut Search. If SEO produced few inquiries this month, do not abandon it after 30 days; check whether the pages and profile work actually shipped.
Shared leads and directories
Roofing marketing budgets often leak into shared lead platforms. Price those separately from SEO, LSA and Ads. Shared leads can fill a calendar and still destroy margin when three contractors bid the same homeowner. Compare them with the same cost per signed roof math, including close rate, not cost per contact.
Ownership and month to month reality
SEO fees buy assets you keep when the engagement is set up correctly: pages, content and tracking foundations. Ads and LSA stop when spend stops. A roofing marketing budget that is 100 percent paid forever is a choice, not a law. Many companies keep a paid floor for speed and grow the SEO share as organic inquiries become measurable. SF Web Tech packages are month to month; advertising remains separate. See pricing for Lead Launch at $1,500, Lead and Local Growth at $2,000 and Local Authority at $3,500.
Questions to ask before you lock next month’s numbers
- Which signed roofs came from LSA, Search, organic, referral and shared leads last quarter?
- Which of those jobs did we actually want more of?
- Can LSA spend more in our towns, or is it already capped by market and reviews?
- Are Search campaigns limited by budget on replacement terms?
- Did we ship the SEO pages and review work we paid for?
- What is our max cost per signed roof before the job stops making sense?
Answer those before you copy a percentage from a blog chart.
Next step
Bring last quarter’s spend, leads, signatures and crew capacity. We will map a written mix against the roofing marketing agency program and the packages on pricing.
Sources and further reading
- Google Local Services Ads: getting started
Lead-based billing, eligibility and verification for Local Services Ads. Does not set a contractor's cost per signed job.
Source checked .
- Google Ads: average daily budgets
Platform budget and spending mechanics referenced for Search Ads, not a trade-specific CPC or lead-cost forecast.
Source checked .
- Google Ads: advanced location options
Presence targeting for Search campaigns and the limits of geographic targeting accuracy.
Source checked .
- Google Ads: negative keywords
Negative keyword behavior used to keep Search spend on replacement and growth-town intent.
Source checked .
- Google Search: SEO Starter Guide
The owned-page and content fundamentals behind the SEO channel description. Roofing examples are SF Web Tech recommendations.
Source checked .
