Skip to main content

Should a Roofer Spend $15K on a Website? A Real ROI Breakdown

A roofer in Ohio called me last spring. He was weighing two quotes. One agency at $15,000 for a custom WordPress build. One DIY route on Wix for about $2,000 all-in (template, images, hours…

A roofer in Ohio called me last spring. He was weighing two quotes. One agency at $15,000 for a custom WordPress build. One DIY route on Wix for about $2,000 all-in (template, images, hours of his wife’s Saturdays). His exact question was, “Am I nuts to spend $15K on a website?”

I love this question because the honest answer is: it depends. And “it depends” is an annoying answer. So let’s actually do the math.

What I’m going to walk you through is unit economics. Meaning: what does a website earn you per year, at each price point, for a hypothetical mid-sized residential roofer. I’m going to use industry-average numbers from sources I can point at, not folklore. I’ll flag the places where the only honest move is a range or a shrug.

Ready? Grab coffee.

The hypothetical

Say you’re a roofer in Columbus, Ohio. Residential-focused. Maybe ten years in business. Four crews. You do about $2M a year in revenue. Good reviews, decent word-of-mouth, but you want to stop being at the mercy of referrals and actually grow. You want to book jobs from your website.

First, some context on the market. The US roofing contractors industry is projected to generate $76.4B in revenue in 2025 per IBISWorld (source). So this is a real industry with real dollars. And the SBA’s long-standing rule of thumb is that businesses under $5M should allocate 7 to 8% of revenue to marketing. For your $2M roofer, that’s $140K to $160K annually across all marketing.

The website is a piece of that budget, not the whole thing.

The conversion math (and this is where most people get it wrong)

Here’s the step most contractors skip. They think of a website as a one-time cost. A thing you buy. A logo, but bigger. That’s the wrong frame.

A website is a machine. It takes traffic in and pushes leads out. The question isn’t “what does the machine cost.” The question is “what does the machine produce per month, and how long until it pays for itself?”

To do that math, we need four numbers:

  • Monthly traffic (how many humans visit)
  • Conversion rate (what % become a lead)
  • Close rate (what % of leads become a job)
  • Average ticket (what a job is worth)

Multiply those together and you get monthly revenue from the website. Then compare to the cost.

Monthly traffic

For a mid-sized residential roofer in a metro like Columbus with decent SEO and some paid search spend, let’s say 1,500 website visits per month. That’s a reasonable midpoint. Some roofers are at 300. Some are at 8,000. 1,500 is boringly believable.

Conversion rate

Here’s where we have actual data. LocaliQ’s 2025 Search Advertising Benchmarks for Home Services analyzed 3,211 US campaigns between April 2024 and March 2025. Across all home-services categories, the average conversion rate was 7.33%. But within home services, Roofing & Gutters came in at 3.70%, one of the lower-converting categories, trailing things like Cleaning (17.65%) and Handyman (13.45%) (source).

Why is roofing lower? Because the buying cycle is longer and the ticket is bigger. People don’t buy a new roof the way they book a cleaning service. They research. They get three quotes. They sleep on it.

So for our math, 3.70% conversion rate from website traffic to lead.

Close rate

And here’s where I have to be honest. The close-rate numbers that circulate in roofing (typically something like “20 to 40%”) do not trace back to a primary-source study I can cite. They’re folklore. They might be right. They might be too high. I genuinely don’t know, and anyone who claims a specific national close rate for roofing is quoting vibes.

So what I’ll do is give you a range. For a decent residential roofer with reasonable sales process, something between 20% and 40% feels defensible based on practitioner conversation, but I am explicitly not citing that as a statistic. It’s a planning range.

Let’s use 25% for the middle of our math.

Average ticket

Here too, a range. Angi and HomeAdvisor publish overlapping-but-different figures for asphalt-shingle roof replacement on a single-family home, generally in the $5,000 to $13,000 band depending on materials, square footage, and region. There is no single national “average roofing project value” that I can cite without misleading you. Different houses, different roofs, different prices.

For our hypothetical, let’s use $8,500 per job as a reasonable residential average. You can substitute your own number.

Let’s run the numbers

Okay. Hypothetical roofer, 1,500 monthly visits.

  • 1,500 visits × 3.70% conversion rate = 55.5 leads per month
  • 55.5 leads × 25% close rate = 13.9 jobs per month
  • 13.9 jobs × $8,500 average ticket = $118,150 per month in website-driven revenue

Now. You know your cost of goods. Roofing material and labor is not free. Your gross margin on a typical residential replacement is probably 25 to 35%. Let’s say 30% to stay conservative. That’s about $35,445 per month in gross profit from the site.

Okay. That’s the “machine.” Now let’s price it.

Option A: $0 (word-of-mouth only, no website or a dead one)

You’re not actually at zero, because you probably have some website. But let’s say it’s a neglected five-year-old build that generates a handful of leads a year. Traffic is basically 100 visits a month, most of it people searching your business name, and conversion is dogshit because the site is old.

  • 100 visits × 1% conversion (beat up old site) = 1 lead/month
  • 1 lead × 25% close × $8,500 = ~$2,125/month, or ~$25,500/year

Gross profit: roughly $7,650/year from the website. You’re surviving on referrals and luck. If your phone stops ringing tomorrow, you have no backstop.

ROI: Genuinely hard to measure, because “cost” is zero but so is productivity. The real cost is the opportunity cost. Every month your site isn’t producing is another month you’re dependent on referrals. That risk has a price, and it’s not zero.

Option B: $2,000 DIY on Wix or Squarespace

Template, stock photos, a contact form. Maybe 40 hours of your time plus 20 hours of your spouse’s. Add a monthly Wix Premium plan at roughly $300/year.

A DIY build on a decent template can get you to respectable-looking. It’ll load reasonably fast on the template defaults. It won’t have custom lead capture flows, won’t have a proper CRM integration, won’t have SEO depth, and you’ll be stuck on the platform’s limitations. But it’ll work.

For traffic, DIY tends to struggle because the SEO ceiling is lower. Let’s assume 600 monthly visits.

  • 600 visits × 3.70% = 22 leads/month
  • 22 × 25% close × $8,500 = $46,750/month
  • Gross profit at 30%: $14,025/month, or $168,300/year

Year 1 cost: $2,000 + $300 hosting + maybe $500 in ads setup = ~$2,800. Year 1 gross profit from site: $168,300. Payback window on site cost: under a week. Seriously.

Wait, that seems crazy. It does. But the math is the math, and this is why even a mediocre website can return multiples of its cost.

The catch: this assumes the traffic shows up. If you’re not already running ads or ranking organically, your 600-visits-a-month becomes 60, and your $46K/month becomes $4,600. Traffic is the input. The website is the conversion layer. You need both. If you need traffic too, that’s paid ads and SEO on top.

Option C: $15,000 custom WordPress build

Now the interesting question. Is the $15K custom site actually three times the machine that the $2K DIY site is? Because that’s what it needs to be for the price to make sense. Let’s see.

A proper custom build typically gets you:

  • Better conversion rate. Custom hero offers, stronger messaging, proper CTAs, real form UX, integrated CRM. Moving from 3.70% (the paid benchmark, and a reasonable directional number for a DIY site) to something in the 5 to 7% range for a well-built site isn’t aggressive.
  • Better speed. Deloitte and Google’s Milliseconds Make Millions study showed a 0.1-second mobile speed improvement drove a 21.6% lift in lead-gen form submissions (source). DIY platforms run slower because of their overhead. A custom WordPress site on proper hosting can be seconds faster.
  • Higher SEO ceiling. Open-source, extensible schema, real content architecture. Over 12 to 24 months, this shows up as traffic growth.
  • Lower per-lead cost because the close side gets easier. Better proof, better trust elements, warmer leads by the time they call.

Let’s recalculate. Assume 1,500 monthly visits (the custom site can attract more traffic over time through better SEO, and you’re likely running paid on top):

  • 1,500 visits × 5.5% conversion = 82.5 leads/month
  • 82.5 × 25% close × $8,500 = $175,312/month
  • Gross profit at 30%: $52,594/month, or $631,125/year

Year 1 cost: $15,000 build + ~$1,800/year hosting and maintenance = ~$16,800. Payback on site build: about 10 days at the projected lead volume.

Is the DIY site generating $168K gross and the custom generating $631K gross? In the same market, with the same traffic? That’s a $463K/year delta. Which is why, when the math works, the $15K build is not an expensive site. It’s a cheap business-development hire that never quits.

The honest caveats: all of these numbers assume traffic shows up. All of them assume your close rate holds. All of them assume the $8,500 ticket is roughly right for your market. Swap in your real numbers and run it. The formula is the same even if the inputs change.

And a custom site has hidden benefits that don’t show up in a spreadsheet. You own it. You can move hosts. You can extend it. You can integrate a proper CRM and run automated lead nurture so you stop losing the 60% of leads who aren’t ready to buy today.

What about roofing’s higher CPL?

Worth flagging. LocaliQ’s 2025 benchmark shows Roofing & Gutters has an average cost-per-lead of $228.15 through paid search, versus $127.74 for AC Installation & Repair and $129.02 for Plumbing. Roofing’s CPC is also $10.70, and home-services CPL rose 10.51% year-over-year vs. 5.13% across all industries (source).

What that tells you: paid traffic is getting more expensive for roofers, faster than for other industries. Which means the ROI on squeezing more conversions out of the traffic you already have (i.e. the website) keeps going up every year. A 1-point conversion rate improvement was worth X dollars in 2022. It’s worth 10% more in 2025.

The website is the leverage point. The ad traffic is getting more expensive. Your site has to pull more weight. A better website is, functionally, a 20% reduction in your effective CPL without changing your ad spend a dollar.

So should you spend $15K?

Honest answer, three scenarios:

  1. You’re under $500K annual revenue and have no ad budget yet. Start with a $2K DIY build or a cheaper template-based build. Don’t spend $15K on a website if you don’t have the traffic to fill it. Buy traffic first, upgrade the site once the machine has volume. The ROI on a $15K site at 200 visits a month is terrible.
  2. You’re $1M to $5M and running ads or have decent SEO. $15K on the website is almost always the right call, and the payback math above shows why. The conversion-rate lift alone pays for the build inside 30 days of normal operation. The ownership, speed, and SEO benefits compound for years.
  3. You’re $5M+ or you’re trying to scale fast. You should probably be spending more than $15K. A real lead machine with tight CRM integration, custom calculator, service-area landing pages, and conversion-rate optimization lives in the $25K to $60K range and earns every dollar. At your volume, even small conversion improvements compound into big money.

The worst outcome isn’t “I spent too much.” The worst outcome is “I spent $2K on something I was going to outgrow in 18 months, then had to spend $15K anyway, and lost 18 months of compound growth in the process.” Rebuilds are always more expensive than builds.

How to gut-check any quote

Before you approve any website quote, ask three questions:

  • Who owns it? On WordPress on your own hosting, you do. On Wix or Squarespace, they do.
  • What happens when I want to leave? Can you migrate? Can you export? Can you take your SEO work with you?
  • What’s the conversion rate target? A builder who doesn’t have an answer hasn’t thought about your business. A builder who says “at least 5% for roofing” has.

If you want to see our approach to this, we lay it out on the how it works page, and our portfolio has finished examples from actual contractor builds. If you’re still torn between DIY and custom, read our honest comparison of Wix, Squarespace, and WordPress. And if you suspect your current site is the problem, here are the five reasons websites don’t generate calls.

You built a real roofing business. You didn’t get to $2M by being sentimental about expenses. Treat your website the same way: a line item that either produces revenue or it doesn’t. Run the numbers. The ones that pencil out are the ones that pencil out. The ones that don’t, don’t.

Want this applied to your business?

We'll build you a free custom homepage design in 24 hours. No pitch, no pressure. Just a clear picture of what's possible.

Get a free design