Calls & leads · How-to
Call tracking for contractors: find out which marketing makes the phone ring
Ask every new caller where they found you, write the answer on the job, and give each paid source its own phone number that rings your normal line. Once a month, put calls, booked jobs, revenue and spend for each source in one sheet and divide spend by booked jobs. That cost per booked job tells you what to keep and what to cut.
Step 1: Ask every caller, and write the answer down
Before you buy anything, fix the question you already ask. Most shops say “how did you hear about us?” on some calls, get “Google, I think,” and never write it anywhere. (This page is the measuring piece of our calls and leads guide.)
Three rules make the question useful:
- Ask at the end, not the start. Help the caller first. Once the visit is on the calendar they’re relaxed and will give you a real answer instead of a guess.
- Offer choices. “Google” covers your Business Profile, your website, an ad and a review site. Name the options so the caller can pick one.
- Write it in the same place as the job. A “lead source” field in your job software, a column in your call log, or a line on the paper ticket. If it isn’t attached to the job, you can’t tie it to revenue later.
Script: “You’re all set for Thursday morning. One quick question so I know what’s working: how did you find us? Was it Google Maps, our website, a postcard, Facebook, one of our trucks, or did someone send you?”
Follow-up when they say “Google”: “Did you click on us in the map with the reviews, or on our website?”
Put the question in your phone script so whoever answers asks it the same way. Asking alone has a known weakness: people remember the last thing they saw, not the first. A homeowner who saw your truck for a year and then searched your name will say “Google.” That’s why the next step adds numbers that can’t forget.
Step 2: Give each marketing source its own phone number
A tracking number is just an extra phone number that rings your normal phone. Because only one piece of marketing shows it, every call to it came from that piece. Call-tracking services rent you local numbers, forward them to your cell or office line, and log every call. Many can also play a short “whisper” like “call from postcard” before you pick up.
You don’t need a number for everything. Start with the five sources most home-service shops spend money or effort on:
| Source | Where the number goes | Watch out for |
|---|---|---|
| Google Business Profile | Primary phone field; your main number moves to an additional phone field | Keep the main number on the profile (see the local SEO section below) |
| Website | Header and contact page, or swapped in by a script for certain visitors | Your normal number should stay in the page code |
| Trucks and yard signs | The wrap, door magnets, job-site signs | Wraps last for years; never cancel this number |
| Postcards and door hangers | One number per mailing or per neighborhood | Cards sit in kitchen drawers; calls trickle in for months |
| Facebook and Instagram | Your ads and the phone button on your page | Messages and form leads need their own count, too |
A few habits keep the numbers trustworthy:
- Use local numbers, not toll-free. Google’s profile rules ask for a local number instead of a central call-center line whenever possible, and say the number must be under the business’s direct control [3]. Buy the numbers in your own account, not your marketing agency’s.
- Point every number at the same phone, so nothing about how calls get answered changes. If you need help with that part, see how to forward business calls.
- Keep numbers you’ve printed. A plumber who cancels the number on last spring’s door hangers loses the calls those hangers still bring in.
- Name each number in the tracking dashboard the way you’ll read it later: “Postcard – Oct – Highland Park,” not “Number 4.”
- Tag calls that aren’t leads: existing customers, vendors, robocalls. Otherwise a source looks busier than it is. Our guide on stopping spam calls helps here.
What Google Business Profile tells you on its own
Your profile has a Performance page. On a computer, open your Business Profile, click Performance, pick a date range, and apply it [1]. Two numbers matter for a contractor:
- Calls. Google defines this as the number of times someone clicked the call button on your profile [1]. It counts taps, not conversations. A tap that hits voicemail, a wrong tap, and a booked furnace replacement all count the same.
- Website clicks. The number of times people clicked the website link on your profile [1]. Some of those people call from your site, which the Calls number never sees.
Google used to show a list of calls in the profile. That’s gone: Google says the chat and call history features stopped being available on July 31, 2024 [2]. So the profile tells you how many people tapped call, but not who called, how long they talked, or whether it was a customer you already had.
Check the Calls number once a month and write it next to the calls your tracking number logged. If Google says 60 taps and your tracking number shows 41 real calls, the gap is wrong taps, hang-ups and calls nobody answered. A big gap is a sign you’re missing calls; the missed-call text back guide covers the cheapest fix.
Tracking numbers without hurting your local SEO
Google, Yelp, Angi, the BBB and dozens of directories all list your business name, address and phone number, called NAP. Local SEO people work hard to keep those listings identical, so search engines are confident they’re all the same business. Scattered phone numbers can undo that.
The two big local SEO shops give the same fix. Whitespark’s Darren Shaw recommends putting the tracking number in the profile’s primary phone field and the real business number in the first additional phone field, so your other listings still match the profile [6]. BrightLocal says the same thing and warns against having different numbers on different listings [7]. In practice:
- Directories, Yelp, Angi, BBB, the chamber of commerce: your one main number, everywhere.
- Google Business Profile: tracking number as primary, main number as additional.
- Website: your main number in the page itself, with a tracking number swapped in only for visitors from sources you’re measuring.
Dynamic number insertion, in plain words
Dynamic number insertion (DNI) is a small script on your website. When a visitor arrives, it checks where they came from: a Google ad, a Facebook ad, your Business Profile link, a search. Then it swaps the phone number on the page to the one assigned to that source. Search engines and directories still read your normal number in the page code; the visitor sees the tracking number. When they call, you know which source sent them to the site.
Google Ads has its own version. Its website call tracking uses Google forwarding numbers that replace your number on your site, at no charge, for people who reached the site by clicking one of your ads [4]. You add the Google tag and a snippet to your site, and you choose how long a call must last to count as a conversion [4]. Set that bar high enough that a quick “do you do gutters?” hang-up doesn’t count, then feed the ad system real leads instead of noise.
A small shop doesn’t need DNI on day one. A roofer with one website and a Business Profile can get most of the answer with two static numbers and the question from Step 1. Add DNI when you’re paying for more than one kind of online ad and need to know which one is pulling.
Tag the website link in your profile
Website analytics usually lumps Business Profile visitors in with everyone else from Google search. A UTM tag, a few words added to the end of a link, tells Google Analytics where the click came from. Google’s own help page lists the main ones: utm_source for the referrer, utm_medium for the type of marketing, and utm_campaign for the specific promotion [5].
Edit the website field in your Business Profile to something like this:
Profile website link: https://www.yourcompany.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp-listing
Use the same idea everywhere you control a link:
QR code on a postcard: https://www.yourcompany.com/fall-tuneup?utm_source=postcard&utm_medium=direct-mail&utm_campaign=fall-2026
Keep everything lowercase. Google notes that tag values are case sensitive, so google and Google show up as two different sources [5]. Keep a list of your tags so next year’s postcard uses the same spelling.
Recording calls: get consent first
Most call-tracking tools can record calls. Recordings are great for training a new office person and for settling “you said Tuesday” disputes. They also come with legal rules.
Federal law allows recording a phone call when at least one person on the call consents [8]. Some states go further and require every party to agree. A legal guide from The Journalist’s Resource lists California, Connecticut, Florida, Illinois, Maryland, Massachusetts, Montana, Nevada, New Hampshire, Pennsylvania and Washington, plus Hawaii in some situations, and advises getting everyone’s consent when a call crosses state lines [8]. State laws change, so check yours, or ask your attorney, before you turn recording on.
The simple answer for a contractor is to announce the recording on every call, every time. Most tracking tools let you play a short message before the call connects.
Recording notice: “Thanks for calling Northside Heating and Air. This call may be recorded so we can get your details right.”
Keep it under ten seconds, and if you won’t listen to recordings, leave them off.
The monthly spreadsheet: calls, jobs, revenue, cost
All of the above feeds one sheet you fill in during the first week of each month. One row per source, six columns:
- Calls. New-customer calls only, from the tracking number log plus the answers to your “how did you find us” question.
- Booked jobs. Calls that turned into a paid visit or a signed estimate. Pull this from your job software or invoices by lead source.
- Booking rate. Booked jobs divided by calls.
- Revenue. What those booked jobs billed.
- Spend. What the source cost that month: ad spend, printing and postage, the tracking number itself. For a truck wrap, spread the cost over the months you expect it to last.
- Cost per booked job. Spend divided by booked jobs. This is the number you make decisions with.
Worked example (made-up numbers for illustration, not industry averages): a six-truck HVAC and plumbing shop in October.
| Source | Calls | Booked | Rate | Revenue | Spend | Cost per booked job |
|---|---|---|---|---|---|---|
| Google Business Profile | 42 | 14 | 33% | $9,800 | $0 | $0 (your time only) |
| Website (search + Google Ads) | 28 | 8 | 29% | $6,400 | $600 | $75 |
| Postcards (2 mailings) | 9 | 3 | 33% | $2,700 | $1,100 | $367 |
| Facebook ads | 11 | 2 | 18% | $1,100 | $500 | $250 |
| Trucks and yard signs | 5 | 2 | 40% | $1,900 | $100 | $50 |
| Referrals and repeat | 18 | 10 | 56% | $8,200 | $0 | $0 |
| Total | 113 | 39 | 35% | $30,100 | $2,300 | $59 |
How to read it, using the example:
- Facebook brought calls but few jobs. Eleven calls, two bookings. Before cutting it, listen to a few of those calls. Maybe the ad promised a price the office couldn’t match; our guide on answering price questions covers that.
- Postcards look expensive but paid. $367 per booked job against about $900 average revenue per job from that source. Run it for three months before judging; the cards keep working after the month ends.
- Booking rate is a phone problem, not a marketing problem. If one source books well and another doesn’t, look at the marketing. If every source books poorly, look at how calls are answered and how fast you call back. See how to book more jobs from phone calls.
In a seasonal trade, one storm month or cold snap swamps everything. Look at three-month totals, and compare the same month year over year once you can.
Common questions
Want every caller asked the same question?
If you can’t pick up every call, Outfitter’s Front Desk can answer the ones you miss. It says it’s an AI assistant, asks the questions you give it (including how the caller found you), flags urgent calls, and texts and emails you each message so the answer lands with the job. It suggests a time for you to confirm and costs 35¢ a minute from a prepaid balance, with no monthly fee or contract.
See how Front Desk worksSources and how we compared
Google features and definitions come from Google’s own Business Profile, Google Ads and Google Analytics help pages; local SEO advice comes from Whitespark and BrightLocal; recording-consent rules come from a published legal guide; all were opened October 4, 2026, and the spreadsheet figures are an invented example.
- Google Business Profile Help: Understand your Business Profile performance & insights
- Google Business Profile Help: Changes to Google Business Profile chat and call history
- Google Business Profile Help: Guidelines for representing your business on Google
- Google Ads Help: Track calls to a phone number on a website
- Google Analytics Help: URL builders — collect campaign data with custom URLs
- Whitespark: Can you use a call tracking number in Google My Business? (Darren Shaw) — October 2024; local SEO vendor
- BrightLocal: Local citations — frequently asked questions — updated October 2025; local SEO vendor
- The Journalist’s Resource: Recording phone calls and conversations — legal guide — last modified December 2020; check current state law
Last updated October 4, 2026. Prices change; if something here is out of date, call or text (507) 628-0400 and we’ll fix it.