There is no single right number, but a roofing company should separate fixed costs it owns, like a website and SEO, from variable costs it rents, like paid ads and shared leads. Owned channels keep working when you stop paying for clicks, so they deserve a steady monthly budget.
Roofing marketing budgets swing wildly because the trade is seasonal and storm driven. A company might spend very little in a quiet winter and then pour money into ads after a hail event. That pattern makes sense for paid ads, which you can turn up and down, but it does not work for search visibility. Rankings and AI mentions are built slowly over months and do not appear overnight when the storm hits. That is why the companies that look busiest after every storm usually did their search work months earlier.
A useful way to plan is to split the budget into two buckets. The first is the foundation you own: a fast website with real service pages, a fully built Google Business Profile, a review system and ongoing content. That bucket should be steady every month. The second is rented attention: Google Ads, Local Services Ads, Facebook campaigns and lead services like Angi. That bucket can flex with the season and your crew capacity. Keeping the two buckets separate on paper makes it much easier to see which spending builds value and which only buys this month's calls.
The mistake we see most is a roofer spending heavily on shared leads with no foundation underneath, so every quiet month means starting from zero. Track results by cost per signed job, not cost per lead, because a cheap lead that never closes still costs you an estimator's afternoon. Revisit the numbers each quarter and move money toward whatever is producing signed contracts. Our plan covers the foundation for a $750 website build and $399 a month, month to month, which leaves the rest of your budget free for ads when you actually want more volume.
Send the site over. We will tell you what is broken, what you could rank for, and whether AI search knows you exist. No charge and no pitch deck.