The only number that decides it: cost per booked job
Most contractors judge Google Ads by the wrong number. The dashboard shows impressions, clicks, and cost-per-click, and none of those pay your crew. The number that decides whether paid is worth it is cost-per-booked-job: what you spent divided by the jobs you actually put on the schedule. Everything upstream of that is vanity.
Walk the chain the way a booked job actually happens. A homeowner searches, sees your ad, and clicks. That click cost you money whether or not anything else happens. Some clicks call, some fill a form, some bounce. Of the calls, some are real jobs and some are wrong numbers, tire-kickers, or your service area's edge. Of the real ones, some book and some ghost. Only the ones that book count. So the honest formula stacks up like this:
- Cost per click: what you pay to get someone onto your page.
- Cost per lead: total spend divided by real calls and forms (not clicks).
- Cost per booked job: total spend divided by jobs actually scheduled.
Here is why the gap matters. Say a click costs you a certain amount, and it takes several clicks to earn one real call, and you book one job for every three or four real calls. By the time you reach a booked job, you have stacked all of that up. A cheap-looking click can hide an expensive booked job, and an expensive-looking click can hide a cheap one if your intake is sharp. The click price told you almost nothing about the number that actually pays your crew.
The rule is simple: paid is worth it when cost-per-booked-job sits well under the profit on that job. Not the revenue, the profit. If a job nets you four figures and it cost you a couple hundred dollars in ad spend to book it, that is a machine you want running. If it cost you nearly what you keep, you are working for Google. Get this one number, honestly, before you decide anything. We cover the input side of it in depth in our Google Ads cost guide.
When Google Ads are worth it for a contractor
Paid earns its keep for a specific kind of shop. Not everyone, and not always. Here is the profile where the math tends to work, so you can check yourself against it honestly.
Your average job clears real profit. Trades with four-figure-plus tickets (roofing, HVAC replacement, remodeling, full electrical or plumbing jobs) have the margin to absorb an expensive click and still come out ahead. When one booked job pays for the ten that did not book and leaves profit on top, the account works. Thin-ticket, one-off service calls have a much harder time.
You answer the phone. This is the one owners underrate. A missed call on a paid lead is money set on fire twice: you paid for the click and you lost the job. Shops that book paid leads well have someone who picks up during business hours, calls back fast after hours, and does not let a $100 lead go to voicemail. If your intake leaks, fix that before you spend, or paid will just expose the leak at a dollar a click.
You need leads on a switch, not next quarter. This is the honest case for paid over the durable channels. If next month looks thin, or you run a seasonal trade and need the phone ringing the week the season turns, ads are the only lever that moves that fast. SEO and AI-search visibility are worth building, but they land in months, not days. Paid buys you this week.
A quick self-check before you fund an account:
| Question | Paid likely worth it | Paid likely wastes money |
|---|---|---|
| Profit per job | Four figures or more | Thin, one-off tickets |
| Who answers calls | Live, fast callbacks | Voicemail, slow, missed |
| Timeline | Need leads this week | Can wait a season |
| What you track | Booked jobs | Clicks and impressions |
If you land on the left column across the board, paid is very likely worth it and you should fund it with confidence. If you are on the right, spend the money fixing intake or building a durable channel first, then come back to paid once the leaks are sealed and the ticket can carry the click.
When Google Ads are NOT worth it (and we will tell you so)
We say no to bad fits, because a paid account that loses money is worse than no account: it costs you cash and sours you on a channel that might have worked once the leaks were fixed. Here are the cases where we tell a contractor to hold off.
Your intake is broken. If calls go to voicemail during the day, if nobody calls back for hours, if the person answering cannot book a job, then every ad dollar buys a lead that dies on your side of the phone. No bidding strategy fixes a shop that does not answer. Ads do not create the leak, they just make you pay a click price to discover it. Fix intake first.
Your ticket is too thin to absorb the click. Some trades and some service types carry click prices that a small one-off job simply cannot pay for. If the profit on a typical job barely clears what it costs to book it, the account runs at break-even or worse the moment anything goes sideways. Paid rewards margin. Without margin, it just moves your money to Google.
You want to set it and forget it. A contractor account that nobody tends bleeds. Broad keywords pull in wrong-intent searches (people wanting DIY, wanting jobs, wanting parts, wanting a different trade), and without negative keywords you pay for all of it. Budget burns before noon on the days that matter. Paid is not a slow cooker. If you cannot tend it or pay someone who will, it is not worth it yet.
You are judging it by the wrong number. If you plan to look at cost-per-click and impressions and call it good or bad on that, you will make the wrong call either way. A shop that never measures booked jobs cannot tell a working account from a broken one, and usually pauses the good one and feeds the bad one.
None of these is permanent. Every one is fixable, and most are cheaper to fix than a month of wasted spend. The point of naming them is so you spend money on the thing that is actually holding you back, not on clicks that expose it.
Local Services Ads: often the better paid dollar first
Before you fund a Search campaign, look at Local Services Ads (LSA), the pay-per-lead units that sit at the very top of the page with the green Google Guaranteed badge. For a lot of contractors, this is the paid dollar that pays off first, and it changes the answer to "is paid worth it."
The mechanics are different from Search Ads in a way that favors a small shop. Search Ads charge you per click, whether or not the click ever calls. LSA charge you per lead: a real call or message from a homeowner in your area for a service you offer. You are not paying to be seen and you are not paying for a curious click that bounces. You pay when someone actually reaches out. For a contractor watching cost-per-booked-job, paying per lead instead of per click cuts out a whole layer of waste.
Two things gate LSA, and both are worth knowing before you count on it:
- Screening. Google Guaranteed requires background and license checks and insurance verification before your badge goes live. That screening is a barrier, which is exactly why it is worth clearing: it thins the field of who can show up above you.
- Availability. LSA is live for many home-service trades in many markets, but not every trade in every place yet. Where it is available, it usually deserves first look. Where it is not, Search Ads carry the load.
The badge itself does work an ad cannot. A homeowner comparing three names at the top of the page trusts the one Google has vouched for and backed with a guarantee. That trust lifts your booking rate on the same lead, which pulls cost-per-booked-job down further. For most contractors we run paid for, the honest sequence is LSA first where it is available, Search Ads to fill the gaps and the terms LSA does not cover. We break the two down side by side in our LSA vs Google Ads guide.
The mistakes that make paid look worthless
Plenty of contractors have tried Google Ads, lost money, and concluded paid does not work. Usually paid worked fine and the account did not. These are the leaks that make a channel with real ROI look like a scam, in rough order of how much money they waste.
No negative keywords. This is the biggest quiet drain. Without a negative list, your ads show for searches you never want to pay for: DIY how-tos, people hunting jobs at your company, parts and supply shoppers, the wrong trade entirely, other cities. Every one is a paid click that could never have booked. A tended account blocks these; an untended one funds them all day.
Ads pointing at your homepage. A homepage asks a hot lead to go hunting for the one thing they searched. A landing page built for that ad, one service, one area, phone number huge, one obvious next step, books the click that a homepage lets bounce. Same spend, very different cost-per-booked-job, because the page decides whether the click you already paid for turns into a call.
No call tracking, so nobody knows what worked. If you cannot tell which calls came from ads, you cannot compute cost-per-booked-job, which means you are flying blind and will eventually cut the wrong thing. Call-only and call-extension campaigns, pointed at the phone with tracking on, tell you the truth. Guesswork does not.
Broad match with no leash. Broad keywords let Google spend your budget on loosely related searches. For a contractor with a specific service and area, that is money spent on the wrong intent before the right searchers ever see you. Tighter match types and a real negative list keep the budget aimed at people who can actually hire you.
Chasing the cheapest click instead of the best lead. The cheap click is often cheap because the intent is weak. A more expensive click from a homeowner with an emergency and a checkbook can carry a lower cost-per-booked-job than a bargain click that never calls. Optimize for booked jobs, not for the price of attention.
Fix these five and the same account that looked worthless starts looking like the best-spent money in the shop. The channel was never the problem.
Paid alongside SEO and AI search, not instead of it
The last piece of "is it worth it" is not paid versus free, it is where paid fits. Run right, Google Ads are the fast money that keeps this month full while slower, cheaper-to-hold channels get built underneath. Run wrong, paid becomes the only thing holding up your calendar, and you can never turn it off.
Here is the honest frame. Paid is rent: instant, effective, and gone the day you stop paying. Organic ranking and AI-search visibility (getting named when a homeowner asks ChatGPT or reads a Google AI Overview) take months to earn but keep working after the spend stops. Those durable channels live in other silos and we do not re-teach them here, but the point for a paid decision is this: ads are worth it partly because they buy you the runway to build the things that let you eventually rent less.
A workable order for an established shop:
- Run a paid floor now (LSA first where available, Search to fill gaps) so the calendar never goes dry.
- Use the ad data as a fast, honest read on which services and areas actually convert.
- Point the durable channels at the winners paid just proved out.
- As you start showing up organically and in AI answers on a term, trim paid spend there and aim it at the next gap.
That is the mature use of paid, and it is why the answer to "is it worth it" is rarely a flat yes or no. Worth it for what, and for how long? As a switch you flip to fill next month, for a shop with margin and a phone that gets answered, yes, clearly. As the permanent and only source of every lead you will ever get, that is the treadmill, and the goal is to spend paid dollars in a way that gets you off it. If you want the plain-numbers version for your shop, that is exactly what a strategy call is for.