Google Ads can cost a roofer $300 to $600 per lead in most markets. That is a typical range, not a worst case. SEO starts slower but its cost per lead drops every month until it barely costs you anything at all.
Below, I'll run the head-to-head math for both channels at month 1, month 6, month 12, and month 24, so you can see exactly when each one wins and what to do about it.
Plug your current numbers into the lead cost comparison tool first, so you know your real cost per booked job before we start comparing.
Let's get into it.
Chapter 01
What Google Ads actually costs a roofing company
Here's the deal: roofing keywords are some of the most expensive clicks on Google. In the markets I've audited, "roof replacement" and "roofer near me" routinely run $25 to $100 per click, and the $50 midpoint is where most competitive metros land (typical market range).
Why so expensive? Because Google auctions every click, and roofing jobs are worth thousands. When ten roofers bid on the same homeowner, the price goes up. That's not a flaw in the system. That's the system.
So what does a click become? Run the math with me. At a $50 average click (midpoint of the typical range) and a 10 percent click-to-lead rate (illustrative: 1 in 10 visitors fills out the form), you're paying $500 per lead (worked example: $50 / 0.10).
Then the lead has to close. Paid search leads close at roughly 15 to 25 percent for most roofers. That is my professional read from industry patterns, not a published benchmark. At 20 percent, that $500 lead becomes a $2,500 booked job (worked example: $500 / 0.20).
Against a $12,000 roof at 40 percent gross margin, that's $4,800 in gross profit (locked agency example). Your ad spend just ate 52 percent of the profit on the job (worked example: $2,500 / $4,800). That works if you need jobs tomorrow. It doesn't work as a long-term plan.
Chapter 02
What SEO actually costs, and why the timeline matters
Now the other side. A real local SEO campaign for a roofing company runs $1,500 to $5,000 a month (typical market range; I break down every line item in my roofing SEO cost guide).
The catch everyone knows: SEO takes 4 to 8 months to hit its stride (working guideline, consistent with everything I've published). Months 1 through 3, you're paying and getting almost nothing back. That feels terrible. It's also completely normal.
But here's what happens after. Let's say you're spending $2,500 a month (midpoint of the range). By month 6 you're generating roughly 5 inbound leads a month (illustrative). That's $500 per lead (worked example: $2,500 / 5). Same as Google Ads.
By month 12, the rankings compound. Roughly 12 leads a month (illustrative) drops your cost to about $208 per lead (worked example: $2,500 / 12). Less than half the Ads number.
By month 24? Roughly 20 leads a month (illustrative) at the same $2,500 spend means $125 per lead (worked example: $2,500 / 20). And if you drop to maintenance spend of $1,000 a month, that falls to $50 per lead (worked example: $1,000 / 20).
Why? Because SEO builds an asset you own. Every review, every ranking, every page keeps working whether you pay this month or not. Google Ads rents you attention by the click. SEO buys you a position that keeps paying.
If SEO is new to you, my local SEO service page walks through what the work actually involves.
Chapter 03
The head-to-head table: cost per lead at month 1, 6, 12, and 24
Time for the honest comparison. Everything below is a worked example using the numbers from Chapters 1 and 2: $50 average CPC at 10 percent click-to-lead for Ads, $2,500 monthly SEO spend with compounding lead volume.
| Timeframe | Google Ads cost per lead | SEO cost per lead |
|---|---|---|
| Month 1 | $500 (typical range) | No meaningful leads yet |
| Month 6 | $500 (typical range) | ~$500 (5 leads/mo) |
| Month 12 | $500 (typical range) | ~$208 (12 leads/mo) |
| Month 24 | $500 (typical range) | ~$125 (20 leads/mo) |
Read that table carefully. Google Ads never gets cheaper. The auction doesn't reward loyalty. Your cost per lead in month 24 is the same as month 1, or worse if competitors bid up your keywords.
SEO gets cheaper every single month. The crossover point in this example lands around month 6. After that, the gap widens in SEO's favor and never closes.
But don't skip the fine print: those first 6 months of SEO are expensive and lonely. You paid $15,000 (worked example: $2,500 x 6) before the cost per lead matched Ads. Most roofers quit in month 3 because the math looks broken. The math isn't broken. The timeline is just longer than the patience.
Find your own crossover point
Plug your actual spend and lead volume into the Lead Cost Comparison tool and see where Ads and SEO cross for your business. Two minutes, no email required.
Compare Your Lead CostsChapter 04
The payback math: how many jobs each channel has to win
Cost per lead is only half the story. The question that matters is payback: how fast does each channel return more gross profit than it cost?
Take the locked example: $12,000 roof, 40 percent margin, $4,800 gross profit per job.
Google Ads at $2,500 acquisition cost per booked job (from Chapter 1): one job returns $2,300 in net gross profit after ad spend (worked example: $4,800 - $2,500). You need roughly one job to break even on a month of spend at two jobs a month (worked example). Fast payback, thin margin.
SEO at $2,500 a month: months 1 through 5, you're underwater. By month 6, cumulative spend is $15,000 (worked example). You're likely just starting to see organic jobs close. Not yet at payback, and that's normal. The real comparison is what happens next.
By month 24: $60,000 in total SEO spend (worked example: $2,500 x 24) against roughly 200 cumulative leads (illustrative). At a 25 percent close rate on organic leads (illustrative, organic leads close higher because they chose you), that's 50 jobs and $240,000 in gross profit (worked example: 50 x $4,800). Net: $180,000 ahead.
Same 24 months of Google Ads at the same job volume: $125,000 in ad spend (worked example: 50 jobs at $2,500 cost per booked job; at the 20% close rate from Chapter 1, that is 250 leads at $500 each) for the same $240,000 in gross profit. Net: $115,000 ahead.
The difference: $65,000 more profit from SEO over two years (worked example). That's not a rounding error. That's a truck, a crew, or a very good year.
Chapter 05
The faucet versus the well: why one stops and the other doesn't
Here's the mental model I use with every owner. Google Ads is a faucet. SEO is a well.
Turn on the faucet and water flows today. Turn it off and it stops instantly. There's no residual value. Every dollar you spent on clicks last year is gone. You own nothing.
Dig a well and it's slow, expensive work upfront. But once it's dug, water flows whether you're digging or not. Your rankings, your reviews, your content: they keep producing leads on months you spend less.
Why does this matter beyond the math? Because rented attention can be repriced at any time. Google raises minimum bids. A competitor with deeper pockets outbids you. An algorithm update shuffles the ad layout. Your cost per lead jumps 30 percent overnight and there's nothing you can do about it.
I ran the full 24-month comparison of renting attention versus owning it in my Angi versus own website breakdown. Different channel, same lesson: the renter pays forever and owns nothing. The owner builds an asset.
That doesn't make Ads bad. It makes Ads a tool with an expiration date on its economics. Use it for what it's good at: speed.
Chapter 06
The honest answer: most roofers need both, at different stages
So which one should you pick? Both. Just not in equal amounts, and not at the same time.
If you're a newer company or entering a new market, start heavy on Google Ads. You need jobs this month, not in month 8. Ads buys you revenue while SEO builds in the background. That's not wasteful. That's sequencing.
If you're established with steady referrals, tilt toward SEO. You can afford the 6-month ramp because the phone is already ringing. Every month you delay SEO is a month you push the crossover point further out.
Here's the starting split I recommend, adapted from my marketing budget framework:
New or growing (need jobs now): 60 percent Ads, 40 percent SEO. Ads keeps crews busy. SEO builds the exit ramp from ads.
Established (steady pipeline): 30 percent Ads, 70 percent SEO. Ads covers gaps and slow weeks. SEO does the heavy lifting.
Dominant locally (booked out): 10 percent Ads, 90 percent SEO. You're defending a position, not buying one.
Revisit the split every quarter. When your SEO cost per lead drops below your Ads cost per lead, shift budget toward SEO. That's the crossover moment from Chapter 3, and it's the most profitable decision in this entire post.
Run both channels through the lead cost comparison tool side by side and watch where your crossover lands.
Chapter 07
Three questions that pick your split in five minutes
Still not sure where to start? Answer these three questions honestly.
One: how fast do you need jobs? If crews are idle this month, that's an Ads answer. SEO can't help you in 30 days. Don't pretend it can.
Two: what's your cash position? SEO demands 6 months of spend before it pays back. If that $15,000 would break you, start with Ads, bank the profit, and fund SEO from winnings.
Three: how competitive is your market? In a wide-open market, SEO wins faster because there's less to outrank. In a saturated metro, Ads might be your only short-term play while SEO grinds for a year. Match the channel to the battlefield, not the hype.
Bottom line? Ads is the fastest way to buy a job. SEO is the cheapest way to own a pipeline. The roofer who understands both, and funds each at the right stage, pays less per lead every year while competitors keep paying the same auction price forever.
Want me to run your specific numbers? Get the website audit and I'll show you what your current cost per lead looks like against both channels. Or book a 30-minute audit call and we'll map the right split for your market.
Frequently asked questions
What is a good cost per lead from Google Ads for roofers?
Expect $300 to $600 per lead in most markets (typical market range). At $25 to $100 per click and a 10 percent click-to-lead rate, the math lands there fast. If you're paying far more, your landing page or targeting is leaking money.
How long until SEO's cost per lead beats Google Ads?
Around 6 months in a typical worked example: $2,500 monthly SEO spend generating 5 leads a month matches a $500 Ads cost per lead. After that, SEO pulls ahead every month. In easier markets it can happen by month 4; in saturated metros it can take 9 to 12 months.
Can I pause Google Ads once SEO starts working?
You can, but don't zero it out. Keep a small Ads budget running for competitive keywords, storm season surges, and slow weeks. A paused Ads account restarts in days; a paused SEO campaign takes months to recover. Never kill the channel that compounds.
Why are roofing keywords so expensive on Google Ads?
Because the jobs are worth thousands and every roofer in town is bidding on the same homeowner. Google's auction rewards the highest bidder, and roofing has one of the highest revenue-per-click ratios in local services. High ticket means high click prices in every industry.
Is Google Ads or SEO better for a new roofing company?
Google Ads, at first. You need jobs this month and SEO won't deliver for 4 to 8 months. But start SEO on day one anyway, even at a smaller budget, so the compounding starts while Ads pays the bills. The worst move is doing Ads for two years and having nothing to show for it when you stop.
What close rate should I expect from Google Ads leads versus SEO leads?
Paid search leads typically close at 15 to 25 percent (my professional judgment); the homeowner clicked an ad and is often shopping multiple roofers. Organic leads close higher, often 25 to 35 percent (my professional judgment), because they found you through research and chose you. Judge channels by cost per booked job, not cost per lead.
How do I track my true cost per lead for each channel?
Divide each channel's monthly spend by the leads it generated that month, then divide again by your close rate to get cost per booked job. Track them separately: blended averages hide which channel is actually working. The lead cost comparison tool does this math for you.
