Contractor marketing in Salt Lake City and the valley
Salt Lake County is where most of my client work happens. It’s also the hardest place in Utah to buy a lead cheap. The county had 1,185,238 people at the 2020 census. That’s a lot of water heaters, roofs and furnaces, and a lot of contractors fighting over them.
Contractor marketing in Salt Lake City isn’t about being everywhere. It’s about winning the part of the valley where your best jobs are, and answering the phone when they call.
01
Why the valley is a crowded place to buy leads
You’re not just up against the shop down the street. You’re up against everyone on the Wasatch Front who does what you do. A few numbers from people who track this:
- One data company counts 944 active HVAC companies in Utah, 86% of them single-location shops.
- The same company tracks about 450 active roofing companies in Utah.
- One handyman marketplace lists more than 2,000 active pros in Salt Lake City alone.
- The leader in Utah HVAC has 32,858 reviews across its locations.
Those are statewide and marketplace numbers, not a count of your exact competitors. But they show the shape of it. A small shop isn’t going to out-review that this year. You win on your own zip codes, on the jobs you actually want, and on speed.
02
Local Services Ads and the map: what decides who gets the call
Two things decide a lot of who gets the call in the valley: Local Services Ads (the ones with the Google Verified badge, formerly Google Guaranteed) and the map.
Local Services Ads. Google says it ranks these on your bid and your profile quality: rating, number of reviews, response time and photos. It also says missed calls can hurt your responsiveness.
When I was plumbing in the field, I saw where companies were losing leads. A missed call is one of the easiest ways to lose one. In a market this crowded, it can also push your ad down for the next call. So before I spend a dollar on Local Services Ads, I want to know who answers the phone at 7:30 in the morning.
The map. Google says local results come down to relevance, distance and prominence. Distance means how far your business is from the person searching.
In a long valley, that matters. A shop in the southwest end has a harder time showing in the map for someone up on the east bench, however good its profile is. That’s what ads are for. Your Google Business Profile wins near home. Google Ads reach the jobs farther out that are worth the drive.
03
Sizing your service area on the Wasatch Front
Google lets a service-area business list up to 20 service areas, and says the area shouldn’t stretch more than about 2 hours of driving from your base.
Two hours from the valley is way more ground than you’d ever drive for a service call. Google allowing it doesn’t mean you should pay to advertise it. Here’s how I usually set it up:
- Core. Roughly a 20-minute drive from where your trucks start. Every service gets advertised here.
- Covered, not advertised. You’ll take the job, but you’re not paying for clicks there.
- By exception. Bigger jobs only, quoted with travel. Never advertised.
Rush hour changes all of this. A cross-valley drive at 5 p.m. can eat the whole margin on a small job. Your ad schedule should know that, even if your price sheet doesn’t.
04
East side, west side
The valley isn’t one customer. Drive from the older neighborhoods on the east side to the newer subdivisions in the southwest and the houses, the jobs and the people calling all change.
I don’t guess which side is better for you. I look at where your quoted jobs actually came from, then put the budget there. If your best work is remodels in older houses, I don’t want your money spent where most homes went up recently. If you do new construction, it’s the other way around.
05
Who I work with in the valley
A plumbing company in Salt Lake County. I rebuilt their website and run their Google Ads, aimed at the jobs they want: water heaters, new construction and remodel plumbing, not general service calls. Their ads run in Salt Lake County only, and I check which cities the quotes come from before widening anything.
A demolition contractor based in Salt Lake City. I handle their website, Google Ads, Google Business Profile and Local Services Ads, and I built their quote template.
Doing work in your trade? See plumbing, demolition, roofing or all trades.
Questions
Is Salt Lake too crowded for a small contractor to win online?
No, but you can’t win everywhere at once. Pick the part of the valley where your best jobs are, own it, and answer every call.
Should I list every city in the valley on my Google profile?
No. List the areas you actually want work from. Google’s limits are a ceiling, not a goal.
Do I need a separate page for every city I serve?
No. A page that swaps the city name and says nothing new is a doorway page, and Google calls that spam. Build a city page only when you have real work there to show.
How fast will I get leads?
I won’t give you a day count. Anyone who does is guessing. Ads can start bringing calls once they’re live and approved. SEO takes months, not weeks.
Next step
Start your 30-day pilot
One-time setup fee, paid up front and non-refundable. The 30 days start the day your ads go live. The monthly management fee starts at day 30 or your first qualified lead, whichever comes later. A qualified lead is a lead from my marketing that you send a quote to. Ad spend goes straight from you to Google or Meta. After that, it’s month-to-month with 30 days’ notice. Pricing depends on what your business needs: how pricing works.