Why Your Contractor Website Gets Traffic But No Calls
Traffic doesn't mean much if nobody calls. Here's the six-step check to find where your site loses the customer, from the phone number to the missed call.

Your analytics say people are finding you. Two hundred visits last month, maybe more, and the phone sat quiet. So you start to wonder if the traffic is fake, or if the guy who built the site oversold you, or if you need to spend more on ads to get the volume up.
Usually none of that is the problem. Traffic means the SEO worked — someone looked for a plumber or an HVAC company in your town and landed on you. A contractor website that gets traffic but no calls usually has one of two gaps: the first few seconds on the page, or the stretch after someone sends a message and nobody calls them back.
There are six common places that handoff breaks. Walk them in order and you'll know which one is yours.
Why your contractor website gets traffic but no calls
A visit is a person with a broken water heater standing in your doorway. What happens in the next ten seconds decides whether you ever hear from them. That stretch — from the moment the page loads to the moment someone in your office actually talks to them — is the handoff, and it's where the money goes missing.
Check it in this order. Each step is cheaper and faster to fix than the one after it, and each one rules out the next.
- The phone number. Can a person on a phone tap it and be calling you, without typing anything?
- Load speed. Does the page come up on a weak signal, or does it sit there blank?
- The form. Are you asking a stranger for more than they're willing to hand over?
- Where the form goes. Does anybody see it the same day?
- The call back. Somebody calls while the crew is on a roof and nobody picks up. Then what?
- Service area. Is it obvious, on the page they landed on, that you cover their town?
Most owners get to number three or four and find their leak. A few find two at once.
Judge the site on what happens to a missed form and a missed call. Those two events are the whole test.
Can someone tap your phone number and call you in one move?
Pick up your own phone. Open your site the way a customer would, from a search result, not from a bookmark. Tap the number. If you're not hearing a dial tone in one move, you found a leak.
Three things break this. The first is a number that's typed as plain text. It looks fine on a desktop screen and does nothing on a phone. It needs to be a click-to-call link, which is a small bit of code your web person can add in a few minutes.
The second is a number stuck inside an image or a PDF. Logos with the phone number baked into the graphic are common on older trade sites. Nobody can tap a picture. Nobody is going to copy it out by hand either.
The third is a header that collapses on mobile. The number sits behind a menu button, or it shrinks off the edge of the screen, or the sticky bar covers it. A visitor on a phone should see the number without scrolling and without tapping anything first.
Check it on an actual phone, not by shrinking your browser window. The two don't always behave the same. And check the contact page, the service pages and the homepage separately, because they often use different templates.
Load speed on a weak signal decides whether they wait
A homeowner standing in a flooded basement is not on your office wifi. Neither is the property manager checking three contractors from a parking lot. On a weak mobile signal, a page that feels quick at your desk can take long enough that the visitor backs out and taps the next result.
Three things usually cause it. Big photos that were never resized, so the browser downloads a print-quality image of a rooftop unit to show a thumbnail. Autoplay video in the header, which starts pulling data before any text appears. And page builders that load stacks of scripts and fonts a plain trade site never needed.
Run your homepage through Google's PageSpeed Insights and read the mobile tab, not the desktop one. It will name the heaviest files. Then take your phone off wifi, walk somewhere with one or two bars, and load the site yourself. Time it. If you get bored, a stranger already left.
Fixing load speed is mostly subtraction. Compress the photos. Kill the video. Drop the slider nobody clicks. Site speed work does not need to be a redesign, and it should not turn into one.
The point of the work is simple: the phone number and the form have to be on screen before the visitor's patience runs out.
Your quote form is asking a stranger for too much
A person who found you ten seconds ago will not tell you the age of their furnace, their budget range, and whether they own or rent. They haven't decided they trust you yet. Every extra field is another chance to close the tab.
Name, phone, and one line about the problem. That's what a stranger will give. If you need the address to price the job, ask for the zip code and get the rest on the call back. Drop-downs for "how did you hear about us" belong in your intake process, not on the first screen.
Two other things quietly kill a quote form. Required fields the visitor can't answer, like a model number they'd have to go outside to read. And a form that rejects a phone number typed with dashes instead of parentheses, then clears everything they already entered.
Open your own site on your phone tonight and fill out the contact form as if you were a homeowner with a leak. Count the taps. Count the times you have to think before typing. That's your conversion path, and most of it is friction you added yourself.
If the form asks more than you'd ask in the first thirty seconds of a phone call, cut it down.
Your CTA is a dead end if nobody reads the submissions
A contact form is a promise that somebody reads it. Plenty of them go nowhere.
The usual culprits: the notification email points at an address the owner set up years ago and stopped opening. Or it goes to an office manager who left. Or the form plugin sends from a server the email host doesn't trust, so every submission drops straight into spam. Nobody finds out until a customer calls annoyed, says they filled out the form last week, and nobody called back.
Test it yourself this week. Fill out your own form with a real message — put your own name in it so you know what you're looking at. Then check every place it should show up: the inbox, the spam folder, the CRM, the text alert if you have one. If it doesn't arrive within a couple of minutes, your CTA is a dead end no matter how good the button looks.
Then do it again next month. Hosts change settings, plugins update, staff leave. This is the kind of thing that breaks quietly and stays broken.
Better yet, have the form fire a text to a phone somebody is already holding.
The biggest leak in your funnel is the missed call
The phone rings at 2:40 on a Tuesday. You're on a roof with a meter in your hand. It rings out, goes to voicemail, and the caller hangs up before the greeting finishes. Then they go back to the search results and tap the next name.
That caller was not a bad lead. They found your site, read enough to trust you, and tapped your phone number. The CTA worked. The handoff didn't.
Voicemail doesn't fix this. Most people won't leave one, and the ones who do have already called two other shops by the time you listen.
What works is a text that goes out on its own the moment the call is missed. Something plain: you've got their number, you're on a job, you'll call back, and what do they need. Now the conversation is open, and they can answer while you finish the flashing. That's missed-call text back, and it's the single automation we'd turn on first for any shop where the owner is in the truck half the day.
The same gap shows up after the visit. A quote goes out, nobody follows up, and it sits. Quote follow-up sends the nudges on a schedule so the office doesn't have to remember who hasn't answered.
You don't have to take our word for either one. We'll run a live demo of any of our six automations on a sales call, using a real phone, so you can watch the text land before you decide anything.
Are you missing the trust signals that tell someone you cover their area?
Somebody two towns over reads your page, likes what they see, and then stops. They can't tell if you drive that far. So they close the tab and try the next shop, because calling to ask feels like a waste of both your time.
Border towns are where this costs the most. A visitor in the middle of your territory assumes you cover them. A visitor near the edge needs to be told.
Name the towns. Not "the greater metro area" — the actual town names, on the homepage and on every service page, in text a person can read without hunting. If you charge a trip fee past a certain line, say that too. It's better to lose the call you were going to lose anyway than to leave everyone guessing.
The other trust signals do similar work. A local phone number instead of a toll-free one. A license number. Photos of your own trucks and your own crew, not stock images of somebody else's van. Reviews that mention the town by name.
Pull up your homepage on your phone right now and see how long it takes to find a town name.
Are your calls coming from your map listing instead of your homepage?
A lot of the people who hire you never see your homepage. They search "plumber near me," tap the call button in the map result, and that's the whole trip. Your website was never in it.
That matters for diagnosis. If your Google Business Profile has an old phone number, the wrong hours, or a service area that doesn't match where you actually work, calls die there and your traffic report never shows it. The site looks fine because the site wasn't the problem.
Check the listing the way a stranger would. Search your trade plus your town on a phone you're not signed in on. Does the number that shows up ring your office? Do the hours match what you actually do? Is the "call" button there at all?
Then check your call log against the profile's own call data in the Business Profile dashboard. If most of your calls start on the map, fix the listing first. The homepage can wait a week.
Judge the site by what happens to a missed call or form, not by the traffic report
Analytics will tell you a hundred people landed on your service page last month. It won't tell you that twelve of them tapped the number, got voicemail on a Tuesday afternoon, and called the next shop on the list. Both things are true at once. The traffic is right, the intent is right, and the handoff is broken.
So change what you look at. Pick last month and count three numbers by hand: how many form submissions came in, how many inbound calls hit your phone, and how many of those got answered or called back the same day. That last one is the honest measure. The conversion rate that matters isn't visitors-to-pageviews, it's stranger-to-booked-job, and the biggest leaks in that funnel sit after the click, where no report is watching.
Walk the fault tree in order when the numbers look bad. Tappable number, load speed, form length, where the form lands, what happens to a missed call, whether the visitor can tell you cover their street. Fix the cheapest one first.
Then build a floor under the whole thing. A missed call that sends a text back on its own, and a quote that follows up without anyone remembering, catch the leads that slip past every other fix. We'll run either one live on a call so you can watch the recovery happen instead of taking our word for it.
Common questions owners ask about traffic with no calls
Why does my contractor website get traffic but no calls?
Almost always because something between the click and the phone is broken. The number isn't tappable, so the visitor has to memorize it. The page is still loading when they give up. The form wants six fields from someone who hasn't decided yet. Or the form works fine and lands in an inbox nobody opens until Friday. Traffic is proof people found you. It says nothing about what happened next.
Why don't contractors call people back?
Not because they don't want the work. The call comes in at 10:40 while the crew is on a roof and both hands are busy. By the time anyone checks the phone it's four hours later, and the customer already booked whoever answered. Nobody decided to ignore that lead. The day just ran them over.
Why do clicks stop converting even though nothing changed on my site?
Something usually did change, just not on the page. A form notification started going to spam. The office manager who used to check voicemail at noon now has a different route. Or your service area was never clear and a slower season made that matter. Walk the same fault tree and test each step yourself, from your own phone, like a stranger would.
We'll show you the missed-call text back and the quote follow-up running live, so you can see where a lost lead gets caught.
Happy to walk your site with you on a New Project Consultation.
