What SEO costs and what you're actually buying
Local SEO for a contractor is sold as a monthly retainer, not a per-click fee. You're paying for the work: Google Business Profile management, on-page and technical fixes, review generation, citation cleanup, and content that builds topical authority for your trade and service area. There's no ad exchange bidding your price up mid-month. The retainer is the retainer.
What varies is scope. A single-location contractor competing in a mid-size metro needs a different lift than a multi-location outfit competing in three counties. The work compounds: cluster pages, backlinks, and review volume built in month 6 are still working in month 18 with no new spend required to keep them ranking. That's the fundamental difference between SEO and paid channels: the asset stays after you stop paying for that specific piece of work, though ongoing maintenance keeps it from decaying.
The tradeoff is time. SEO is not a light switch. Competitive terms in a real market ("roofer near me," "emergency plumber [city]") typically take 4-9 months to move into page-one territory, longer in oversaturated metros or hyper-competitive trades like roofing and HVAC. If you need calls this week, SEO alone is the wrong tool. If you're building a lead pipeline for the next three to five years of the business, it's the channel with the best long-run cost per lead of the four.
- Retainer-based, flat monthly cost, no per-click bidding
- Builds a compounding asset: pages, links, and reviews keep working after the work is done
- 4-9 months typical timeline for competitive terms to gain real traction
- Best long-term cost per lead once rankings hold, worst channel for immediate volume
- Requires an active website to attach the work to (see the website section below)
Contractors who ask us to "just do SEO" on a five-year-old, unmaintained site are often really asking us to fix the site first. SEO work on a broken foundation is money spent twice.
What Google Ads and Local Services Ads actually cost per lead
Paid search is the opposite cost structure from SEO: no flat fee for the traffic itself, just an auction. You set a budget, Google auctions your ad against competitors bidding on the same keywords, and you pay per click (Google Ads/PPC) or per qualified lead (Local Services Ads). The trade determines the price floor almost entirely.
Emergency and high-ticket trades (restoration, HVAC replacement, roofing, foundation repair) sit at the expensive end of the auction because the value of a single closed job is high and every competitor in the metro knows it. Lower-ticket, recurring-need trades (lawn care, pest control, handyman) tend to run cheaper per click but need more volume to hit the same revenue. There is no flat national number that means anything here: your actual cost per click and cost per lead is set by who else in your specific city is bidding on your specific trade, this week.
| Channel | Cost model | Speed to leads | What stops when spend stops |
|---|---|---|---|
| Google Ads (PPC) | Cost per click, auction-priced | Immediate (same day) | Everything. Traffic goes to zero. |
| Local Services Ads | Cost per lead, pay only for contact | Immediate once verified/backed | Everything. Lead flow goes to zero. |
The advantage of both is speed and control. You can turn a campaign on this afternoon and have the phone ring by evening. You can also turn it off instantly, which makes it a useful lever when a crew has open capacity next week and you need volume now. The catch is the auction never sleeps: your cost per lead can drift up as competitors increase their own budgets, with no ceiling and no compounding benefit once the campaign pauses. Ads are a rented channel, not an owned one.
Local Services Ads carries an added requirement most contractors underestimate at first: the Google Guarantee background check and bond process, which adds setup time before the first lead can come in. Budget for that lead time separately from your ad spend budget.
What a contractor website costs (and why it's mostly one-time)
A website is the outlier of the four channels because most of its cost lands once, at the build, rather than recurring every month. After launch, ongoing costs shrink to hosting, a domain, and occasional maintenance or content updates, none of which resembles an ad budget or a full SEO retainer.
What separates a cheap build from a working one is what's underneath the design. A site that loads in under 2 seconds, is built mobile-first (most contractor searches happen on a phone in a driveway or job site), and is structured so SEO and AI-search citation work actually has clean pages to attach to, is doing real marketing work. A slow template site with stock photography and no structured content is a digital business card: it exists, but it isn't generating anything on its own.
This is the channel most likely to get skipped or underfunded, and it's the one that quietly taxes every other channel when it's wrong. Paid traffic landing on a slow, generic site converts worse, so your cost per lead from ads goes up. SEO content built on a shaky technical foundation ranks slower and less durably. A contractor who spends on ads and SEO but never fixes the site is paying a hidden tax on every dollar in the other two lines.
- Mostly a one-time build cost, not a recurring monthly line item
- Ongoing cost after launch is hosting/maintenance only, a small fraction of the build price
- Under 2 seconds load time is the baseline, not a premium feature
- The site is the landing point for every other channel: weak site, weak return everywhere else
- No WordPress plugin stack to patch and rebuild every 18 months when done hand-coded
If you're deciding where limited budget goes first, the website usually isn't optional even when it feels like the least urgent line. Every dollar spent on ads or SEO before the site is fixed is a dollar working at a discount.
What social media marketing costs, and where it actually fits
Social for a contractor splits into two very different cost structures that get lumped together and shouldn't be. Organic content, before/after job photos, crew posts, review shares, costs time or a content-production retainer, but no media spend. Boosted or paid social ads cost media spend on top of that, priced by audience size and competition, similar in structure to paid search but usually cheaper per click since fewer contractors bid there.
The honest read: social rarely produces the direct "someone searched and called" lead the way Local Services Ads or a ranked map pack listing does. Its real job is trust-building and proof. A homeowner who found you through a Google search or a neighbor's referral will often check your social profiles before calling, looking for recent job photos, real reviews, and signs you're an active, established business. Social is a credibility layer sitting underneath the channels that actually generate the search or the click, not usually the lead source itself.
For most trades, social is the channel to fund last and lightly, not first and heavily, unless the trade is visually driven (landscaping, remodeling, custom builds, pool work) where photo and video proof carries real weight in the buying decision. A roofer posting three job-completion photos a month is doing enough. A design-build remodeler skipping social entirely is leaving a genuinely persuasive proof channel unused.
- Organic: time/content-retainer cost, no media spend, builds trust and proof
- Paid/boosted: media spend on top, auction-priced but typically cheaper than search ads
- Rarely the direct lead source; usually the credibility check before the call
- Higher priority for visually-driven trades, lower priority for emergency/commodity trades
- Fund it after SEO, ads, and the website are solid, not instead of them
How the four channels compare on payback speed and channel decay
The real decision isn't "which channel is cheapest," it's "which channel keeps a lead flowing after I stop actively paying for that specific piece of work." That's the line that separates owned assets from rented traffic, and it's the single most useful lens for a contractor with a fixed monthly marketing budget deciding where the next dollar goes.
| Channel | Payback speed | What happens if you pause spend | Best used for |
|---|---|---|---|
| Website | Immediate (it's live) but compounds with SEO over time | Site stays up, keeps converting whatever traffic arrives | Foundation for every other channel |
| Google Ads / LSA | Same day to same week | Lead flow stops immediately | Filling calendar gaps, launching in a new area fast |
| SEO | 4-9 months for competitive terms | Rankings hold for a while, then slowly decay without upkeep | Building a durable, lower-cost-per-lead pipeline for years 2-5 |
| Social | Ongoing, slow trust-build; boosted spend stops same-day | Organic proof stays visible; paid reach stops | Supporting trust for leads generated elsewhere |
Most established contractors who call us aren't choosing one channel exclusively. They're sequencing: fix the website first because it's the landing point for everything else, run ads to keep the pipeline full while SEO climbs, and let SEO take over more of the lead-volume load as it matures, at which point the ad budget can often shrink without the phone going quiet. Social rides alongside all of it as the proof layer, not the engine.
The mistake we see most often is a contractor funding ads heavily for a year, seeing a decent cost per lead, and never starting SEO because "the ads are working." They are, until the budget gets cut in a slow month and the pipeline goes to zero overnight because nothing was ever built to replace it.
Which channel should you fund first if the budget is tight?
If you can only fund one thing this quarter, fund the website first, provided it's genuinely broken, slow, or years out of date. A site that loads in under 2 seconds and is structured cleanly costs once and improves the return on every dollar spent afterward on ads, SEO, or social. Skipping this step to chase a cheaper-looking monthly retainer elsewhere is the most common budget mistake we see from established contractors who've outgrown their original build.
If the website is already solid, the next dollar depends on your timeline. Need leads in the next 30 days because a crew has open capacity or it's a slow season? Fund Google Ads or Local Services Ads and accept the per-lead cost as the price of speed. Building for the next 2-3 years and can tolerate a slower ramp? Start SEO now, because the 4-9 month runway means the earlier you start, the earlier it starts paying you back at a lower cost per lead than ads will ever hit in most trades.
Social almost never earns the first dollar unless your trade is one where visual proof is the actual sales argument (custom builds, landscaping design, pool and outdoor living). For most trades it's the fourth channel funded, once the other three are doing their job.
- Broken or slow website: fix it first, before anything else, regardless of trade
- Need leads in 30 days: fund Google Ads / Local Services Ads
- Building for the next 2-5 years: start SEO now, the clock only gets longer the more you wait
- Visually-driven trade: social moves up the priority list
- All four eventually, sequenced, not all four at once on a thin budget spread too wide