ES Studios

Local SEO vs Google LSA vs PPC for Contractors: Cost Per Booked Job Compared

Thomas Hassett, Local SEO Practitioner at ES StudiosByLocal SEO PractitionerPublished

Every contractor we onboard asks the same question in the first call: "Should I just run Google ads instead of paying for SEO?" The honest answer is that it depends on your average ticket, how new your business is, and whether you already rank anywhere. These three channels — Local SEO (the map pack and organic listings), Google Local Services Ads (LSA, the "Google Guaranteed" badges up top), and traditional PPC (the text ads below them) — do not compete on price. They compete on cost per booked job, and that number moves wildly by trade.

This is the section most agencies leave out of their pitch because it makes SEO look slow. We are going to put the real numbers in writing anyway. Across the home-service accounts we track, the gap between a $95 drain-clearing call and a $14,000 roof means the "right" channel for a plumber is the wrong channel for a roofer. This page is the money math.

The channel-by-channel decision tree sits inside local SEO for home service contractors, and the shorter answer to the question most owners are really asking is in is local SEO worth it for contractors. If you want our own numbers rather than a framework, they are on the pricing page, and the organic side of the comparison is expanded in how to get more leads from Google.

The only number that matters: cost per booked job, not cost per click

Cost per click and cost per lead are vanity numbers. A $6 click means nothing if nine of ten callers are tire-kickers. The metric we manage every account to is cost per booked job — total channel spend divided by jobs that actually got scheduled on the calendar. That single number reprices every channel.

Here is what we actually see across the accounts we track, in rough ranges (US metros, 2025-2026). LSA: $25-$90 per booked job for high-volume trades like drain, HVAC tune-ups, and locksmith work, climbing to $150-$400 for roofing and remodeling where lead prices are steep and the dispute rate is higher. PPC (regular Google search ads): usually 20-40% more expensive per booked job than LSA in the same market, because you pay per click regardless of intent and you compete against the LSA block sitting above you. Local SEO: the per-job cost starts ugly — often $300+ in months one through four when you are paying a retainer against almost no ranked traffic — then collapses. By month nine on a healthy account, a $1,200/month retainer against 30-40 booked jobs from the map pack lands under $40 per job, and unlike the paid channels it does not reset to zero when you stop spending for a week.

The trap is comparing month-two SEO to month-two LSA. SEO is a curve; paid is a flat line. Judge them at the same point on the timeline they will actually run — 12 months — not on the day you sign up.

When LSA wins: brand-new, no rankings, and you need the phone to ring this week

If you incorporated four months ago, have eleven reviews, and rank on page three for everything, SEO cannot save you this quarter — the map pack rewards proximity, review velocity, and profile age you simply do not have yet. This is exactly the situation LSA was built for. You pass Google's license-and-insurance screening, set a weekly budget, and you are sitting above the organic results by Friday. There is no six-month ranking curve to climb.

The practitioner detail nobody mentions: LSA charges per lead, not per click, and you can dispute leads that were spam, wrong-service, or out-of-area. On the accounts we run, disputing aggressively — every wrong-number and every "do you also do X" that you don't do — knocks 15-25% off the effective cost per booked job. Agencies that never dispute are quietly overpaying by a quarter. We also see LSA reward responsiveness: answer the call within a few rings and Google feeds you more leads. Let calls go to voicemail and your volume dries up inside two weeks, budget untouched.

The catch with LSA is the ceiling. In most metros there are only a handful of LSA slots, and once you have maxed your local lead volume, throwing more budget at it does nothing — the leads simply are not there to buy. That is the moment LSA stops scaling and SEO has to carry the growth.

When SEO wins: it compounds, LSA and PPC do not

Paid channels are a faucet. Turn the money off and the leads stop the same day — we have watched a client pause LSA for a two-week vacation and come back to a dead phone and a learning-phase reset. SEO is the opposite: the map-pack ranking, the reviews, and the service-area pages you built in month three are still producing booked jobs in month eighteen whether or not you logged in.

Two things compound that paid cannot buy. First, reviews and profile age: every month you operate, your Google Business Profile gets older and your review count climbs, and both are ranking inputs that money cannot shortcut. Second, content and citations stack — a service page that ranks for "emergency water heater replacement [city]" keeps ranking, and it pulls in the exact high-intent searcher who converts at 2-3x the rate of a display-ad click. Across our accounts, organic map-pack leads book at a noticeably higher rate than paid leads for the same service, because someone who scrolled past the ads and picked you from the map has already half-decided.

The number that makes the case: at steady state, a mature local-SEO program routinely runs at a lower cost per booked job than LSA in the same market, and every additional job after you have covered the retainer is close to free. Paid never gets there — job number 400 costs the same as job number 1.

Map it to your ticket: the trade economics that decide the channel

The channel decision is really a ticket decision. Low-ticket, high-frequency trades — drain cleaning, lock rekeys, appliance repair, service-call HVAC — live and die on volume, and at a $95-$300 ticket you cannot absorb a $200 lead. These trades need the cheapest booked-job cost you can find, which early on is LSA and long-term is SEO. PPC is usually the loser here: too expensive per click to make the math work on a small ticket.

High-ticket, low-frequency trades — roofing, kitchen and bath remodels, full HVAC system replacements, foundation work — flip the logic. At a $9,000-$30,000 ticket, a $350 lead is trivial. Here every channel is affordable, so you run all three at once, because you cannot afford to miss a single searcher when one closed job pays for the entire month of ad spend. For a roofer, the smart play is LSA and PPC for immediate coverage while SEO builds underneath, because a single organic job in month ten pays back a year of retainer.

Mid-ticket trades — electrical panel work, water heater installs, landscaping projects at $1,500-$6,000 — are where the blended model shines: LSA and light PPC to keep the calendar full while SEO matures, then dial paid back as organic takes over the top spots. The rule we run by: the lower your ticket, the more you need SEO's near-free steady-state cost; the higher your ticket, the more you can afford to run everything and let SEO be the long-term margin play.

The blended play we actually run, and how the mix shifts over 12 months

We almost never run one channel in isolation. For a typical established-but-under-ranked contractor, the mix we deploy looks like this. Months 1-3: LSA carries 70-80% of budget for immediate cash flow, SEO retainer runs in the background building profile signals, PPC only if the ticket is high enough to justify it. Months 4-8: SEO starts landing map-pack positions, so we hold LSA steady but stop increasing it and let organic pick up the incremental volume. Months 9-12: organic is producing the cheapest jobs on the account, LSA becomes a top-up for overflow demand, and total blended cost per booked job drops meaningfully versus running paid alone.

The mistake we see contractors make on their own is treating this as an either/or and killing SEO in month three because "the ads work and SEO isn't doing anything yet." That is cancelling the compounding channel right before it compounds — and then paying flat-line paid pricing forever. The paid channels buy you time; SEO buys you the margin. You want both working, with the ratio shifting from paid-heavy to organic-heavy as the calendar matures.

One warning from the field: do not let an agency sell you SEO as a replacement for paid in a brand-new business, and do not let a PPC shop tell you SEO is dead. Both are protecting their own product. The right answer is sequencing — and the sequence depends entirely on your ticket and how long you have been in business.

This is one piece of the bigger picture. For the complete playbook, read our main guide: Contractor Local SEO.

FAQ

Frequently Asked Questions

Is local SEO or Google PPC cheaper for contractors?

At steady state, local SEO is almost always cheaper per booked job — a mature program often lands under $40 per job while PPC stays in the $80-$400 range depending on trade, because you pay per click forever. But in months one through four, PPC and LSA are far cheaper than SEO, which is still building. The honest answer is that SEO is more expensive early and much cheaper late; judge them over 12 months, not one.

Should a brand-new contractor with no rankings do SEO or LSA first?

LSA first, almost every time. If your Google Business Profile is young and you have few reviews, SEO cannot rank you this quarter — the map pack rewards profile age and review velocity you don't have yet. LSA puts you above the organic results by the end of the week. Run SEO in the background from day one so it is ready to take over in months six through nine, but let LSA pay the bills first.

What is a good cost per booked job for home-service ads?

It depends entirely on ticket. For high-volume, low-ticket trades like drain or locksmith, we target $25-$90 per booked job on LSA. For high-ticket trades like roofing or remodeling, $150-$400 per booked job is still profitable because one job can be worth $10,000+. The real test is your job-to-lead close rate and your average ticket, not a universal benchmark.

Does SEO really stop making sense for high-ticket trades like roofing?

No — it makes even more sense, it just is not urgent. At a $15,000 ticket, a $350 paid lead is trivial, so you can run LSA and PPC immediately without waiting for SEO. But a single organic map-pack job in month ten pays back a full year of retainer, so SEO is pure margin for high-ticket trades. Run all three at once and let SEO be the long-term profit lever.

Why do my LSA leads dry up even though I still have budget left?

Two common causes we see: you stopped answering calls fast enough, or you stopped disputing bad leads. LSA rewards responsiveness — miss calls and Google throttles your lead flow within two weeks regardless of budget. Separately, in most metros there is a hard ceiling on how many local LSA leads exist, so extra budget cannot buy leads that aren't there. That ceiling is exactly when SEO has to carry your growth.

Can I just replace paid ads with SEO once I rank?

Partly. Once organic is producing the cheapest jobs on your account, you can dial LSA and PPC down to overflow-only and save real money. But we rarely recommend killing paid entirely — LSA gives you instant coverage on days demand spikes and protects you if a Google update shakes your rankings. The mature play is organic-heavy with a paid top-up, not organic-only.

See where you rank right now

Free local SEO audit — GBP, reviews, and your map rankings. No sales call.

Get your free audit