Marketing · Jan 2026

Call tracking and form tracking: know which marketing actually pays.

“The customer said they found us online” is not attribution. The two tools that fix it, the one-page scorecard that turns data into budget decisions, and the setup mistake that can quietly damage your local rankings.

Quick test: pull up your last ten jobs. For each one, can you say — with evidence, not a hunch — whether it came from Google search, Google Ads, Facebook, a referral, or a truck wrap?

If you're like most small business owners we talk to, the honest answer is "the customer said they found us online." That's not an answer. "Online" could mean your $1,500/month ad budget or a free Google Business Profile listing. Those two things deserve very different budgets next quarter, and right now you can't tell them apart.

Worse: if you pay a marketing company, the channel getting credit is usually whatever channel they sell. An SEO shop will tell you SEO is working. An ads agency will show you a dashboard full of "conversions" that includes people who clicked your phone number and hung up after two rings. Nobody's lying, exactly. But nobody's accountable either, because the tracking isn't set up to make them accountable.

This post covers the two tools that fix it — call tracking and form tracking — plus the one-page scorecard that turns the data into budget decisions, and the setup mistake that can quietly damage your local rankings.

Call tracking: dynamic number insertion, explained plainly

For most local service businesses, the phone is where money happens. A typical Keller plumber might get 70–80% of new jobs by phone and the rest through a website form. So if you're only tracking form fills, you're grading your marketing on the smallest slice of it.

Call tracking works like this: you buy a small pool of local phone numbers through a call tracking platform (CallRail, WhatConverts, and CallTrackingMetrics are the common ones — plans typically start around $45–$50/month). All of them forward to your real business line. Then a snippet on your website does something called dynamic number insertion (DNI): it swaps the displayed phone number based on how the visitor arrived.

  • Visitor comes from a Google ad → sees tracking number A
  • Visitor comes from organic Google search → sees tracking number B
  • Visitor types your URL directly (often a referral or repeat customer) → sees tracking number C

When the phone rings, the platform logs which number was dialed, and now every call has a source attached. Most platforms also record calls (with the required disclosure), which gives you a second win: you can hear whether calls are actual leads or spam, solicitors, and existing customers. That distinction matters — an ad campaign that drives 40 calls sounds great until you listen and find 12 are qualified.

One rule that surprises people: the number on your website changes per visitor, but your real number stays your real number. Nothing about your main line changes. Which brings us to the part most setups get wrong.

The local SEO pitfall: don't put tracking numbers where Google reads them

Google builds trust in your business partly through NAP consistency — your Name, Address, and Phone number matching across your website, your Google Business Profile, Yelp, directories, and everywhere else you're listed. Local SEO practitioners have treated citation consistency as a ranking input for years (it shows up consistently in Whitespark's annual Local Search Ranking Factors survey of local SEO professionals).

Here's how call tracking breaks that if you're careless: someone pastes a raw tracking number into their Google Business Profile, or into the site's footer HTML, or into a directory listing. Now Google sees three different phone numbers for one business, and your listing consistency erodes. Later, the business cancels the tracking service, the number gets recycled, and customers calling from an old directory listing reach a stranger — or a competitor.

The safe setup:

  1. Your real number stays the "primary" number everywhere — website source code, schema markup, directories.
  2. DNI swaps the number in the browser only, after the page loads. Google's own guidance for Google Business Profile explicitly accommodates this: if you use a tracking number on your profile, set the tracking number as primary and your real number as an "additional" number, so the real one still counts for consistency.
  3. Never hard-code tracking numbers into citations, print materials with long shelf lives, or anywhere you can't easily update.

Done this way, call tracking and local SEO coexist fine. Done sloppily, you're trading measurement for rankings — a bad trade.

Form tracking: tag the source, not just the submission

Forms are easier, and most businesses still get it wrong. Your form tool almost certainly tells you that someone submitted. What you need is where they came from, attached to each individual lead.

Two pieces:

  1. UTM parameters on everything you pay for or post. Every ad, every email, every social link gets tagged (utm_source=google, utm_medium=cpc, utm_campaign=water-heaters-jan). Google's free Campaign URL Builder does this in ten seconds per link. No tags means every paid click shows up in your analytics mixed in with free traffic.
  2. Hidden fields on the form that capture the source and ride along with the submission. When "Mike, needs a panel upgrade" lands in your inbox, the email itself says Source: google / organic / service-area page. Most form plugins and tools (Gravity Forms, HubSpot forms, even basic setups with a few lines of script) support this.

Now your CRM — or honestly, a spreadsheet — has a source column on every lead. That's the whole trick.

The one-page monthly scorecard

Data you don't look at is just a subscription fee. Once a month, fill out one page — five columns, one row per channel:

ChannelLeads (calls + forms)Qualified leadsJobs wonRevenue
Google organic
Google Ads
Google Business Profile
Facebook/Instagram
Referral / direct

Add one number at the bottom of each column: what you spent on that channel. Now you can compute the only metric that matters — cost per job won, by channel — and the conversation changes completely. Instead of "is marketing working?" you're asking "Ads produced jobs at $310 each and organic at $95 each; do we shift budget, or is Ads reaching people organic can't?" That's a real business decision. Illustrative numbers, but that's the shape of the conversation every month.

Thirty minutes. Twelve times a year. It will settle more arguments with vendors than any dashboard they show you.

How West Fork approaches this

Tracking is the first thing we set up on any marketing engagement, not the last — because we'd rather be judged on jobs won than on traffic charts. That means DNI with an SEO-safe number configuration, source tagging on every form, and a monthly one-page scorecard in plain English. If a channel we're running isn't paying for itself, the scorecard says so, and we adjust. That's the deal.

Takeaways

  • "They found us online" is not attribution. Track calls and forms by source, or you're budgeting on vibes.
  • Call tracking with DNI (~$45–50/month to start) tells you which channel made the phone ring — and call recordings tell you which calls were real leads.
  • Protect your NAP: real number in your site code and citations; tracking numbers swapped in-browser only; follow Google's primary/additional number setup on your Business Profile.
  • Tag every link you control with UTMs, and pass the source into your forms via hidden fields.
  • Run the one-page scorecard monthly. Cost per job won, by channel, is the number that should drive next month's budget — not clicks, not impressions, not whatever your vendor's dashboard highlights.

Set this up once, and every marketing conversation you have from then on starts from evidence.


The takeaway

“Found us online” isn't attributiontrack calls and forms by source, or you're budgeting on vibes
Call tracking with DNI~$45–50/month tells you which channel actually made the phone ring
Protect your NAPreal number in your site code and citations; tracking numbers swap in-browser only
Run the scorecard monthlycost per job won, by channel, is the number that should drive next month's budget

Want tracking set up correctly the first time — DNI, SEO-safe number configuration, and a monthly scorecard in plain English? That's the first thing we build on any marketing engagement.

Fixed quote within 48 hours — no obligation.