Attribution

How do I track where my leads come from?

Analytics stops at the edge of your website. Knowing which marketing produced a customer means capturing the source at the moment somebody makes contact and keeping it on the record.

A tracking plan from enquiry to CRMPhone calls, web forms and live chats all feed into one tagged event carrying the source, campaign and landing page, which is then written into the CRM alongside the enquiry, its owner and its outcome.EVERY ENQUIRY ARRIVES WITH ITS SOURCE ATTACHEDPHONE CALLWEB FORMLIVE CHATTAGGED EVENTSOURCECAMPAIGNLANDING PAGEYOUR CRMENQUIRYSOURCEOWNEROUTCOMEWITHOUT THIS, REPORTING IS GUESSING WHERE THE WORK CAME FROM.
A tracking plan from enquiry to CRM
In short

How do I track where my leads come from?

You capture the source at the moment the lead is created and store it on the lead record: a tracking number with dynamic number insertion for calls, hidden fields on every form that record the first and last touch, and a CRM field that keeps both after the enquiry becomes a customer.

Analytics on its own cannot do this, because it measures sessions on your website and stops at the point somebody picks up the phone.

Expect a picture that is directionally right rather than exact, because consent choices, shared devices, private browsing and AI assistants that send visitors with no referrer all break clean attribution.

The structure

Three layers, and most businesses only have one

Call tracking, form tracking and the CRM record are not three products competing for the same job. They are three layers of one question, and a gap in any of them breaks the answer.

Layer one is the website. Analytics knows a visit arrived from organic search, from a Google ad, from a Facebook post or from somewhere it could not identify. That is genuinely useful and it is where most businesses stop.

Layer two is the moment of contact. A call, a form, a chat, a booking. This is where the source has to be attached to a person, because after this point the browser is out of the picture and no amount of later analysis can recover what the browser knew.

Layer three is what happened next. Did that enquiry become a booked appointment? Did it become revenue? Without layer three you can tell which channel produces the most enquiries and still have no idea which produces the most customers, and those two rankings are frequently different. Channels that generate cheap enquiries often generate the worst ones.

The build

The setup, in the order that works

Each step depends on the one before it. Doing them out of order is how businesses end up with a call tracking subscription and no way to tell what it proved.

  1. Define what counts as a lead, in writing

    One sentence, agreed by whoever answers the phone and whoever pays for the marketing. A supplier calling about invoices is not a lead. A recruiter filling in the contact form is not a lead. If the definition lives only in somebody's head, the numbers will never reconcile.

  2. Put hidden source fields on every form

    Five fields, populated by script and invisible to the visitor: first touch source, last touch source, landing page, campaign, and the page the form sat on. They arrive in the enquiry email and in the CRM, and they cost nothing per month.

  3. Tag every link you control with UTM parameters

    Email links, social posts, printed QR codes, partner listings. Use utm_source, utm_medium and utm_campaign consistently and write the convention down. Inconsistent casing alone will split one campaign into four rows in your reports.

See the remaining steps: The setup, in the order that works4 more stepsHide the remaining steps: The setup, in the order that works
  1. Add call tracking with dynamic number insertion

    The tracking number is swapped in by script for website visitors only, so your real number stays in the page source, in your structured data and on your listings. Route several numbers if you want to separate paid search from organic, and keep offline media on its own number.

  2. Pass the source into the CRM and keep it

    This is the step that gets skipped. The source has to survive the enquiry becoming a contact, then an appointment, then an invoice. If it is only in the notification email, it is gone the moment somebody replies to that email.

  3. Mark key events and feed them back to the ad platforms

    In GA4, mark the real outcomes as key events. Link Google Ads so those events flow back, because a campaign optimising towards form fills of any quality will faithfully buy you more of the wrong ones.

  4. Reconcile monthly against actual bookings

    Sit the tracked lead count next to the number of people who actually came in. They will not match. The gap is the thing worth discussing, and it usually shrinks fast once somebody looks at it every month.

Seven steps, most of them one-off. The recurring cost is the call tracking subscription and twenty minutes a month on the reconciliation.

Calls

How a phone call becomes attributable without wrecking your listings

A call is the hardest lead to attribute and usually the most valuable one, particularly in healthcare, legal and home services where people want to speak to somebody before they commit. The mechanism is straightforward once you see it: you own a pool of tracking numbers that forward to your real line, and a script decides which number a given visitor sees based on how they arrived.

Dynamic number insertion is the part that keeps this safe. Your real number stays in the page source, in your schema markup and on every directory listing and profile. Only the rendered number on screen changes, and only for visitors the script can classify. Somebody who arrived from a paid ad sees one number, somebody from organic search sees another, and both reach the same phone.

Read the full breakdown: How a phone call becomes attributable without wrecking your listings2 more paragraphsHide the full breakdown: How a phone call becomes attributable without wrecking your listings

That distinction matters because name, address and phone consistency across listings is a real ranking consideration in local search. Swapping the number on your Google Business Profile to a tracking number is a different and much riskier act than swapping the number displayed on your own website, and it is not what dynamic number insertion does.

Two practical additions. Record calls only where the law and your consent process allow it, which in a healthcare setting means checking carefully rather than assuming. And tag the outcome of the call, not just the fact of it, because a channel that produces plenty of calls and few bookings is a channel that is costing you staff time as well as money.

The new blind spot

Recommendations that arrive without a trail

A growing share of the buying journey now happens inside assistants and summaries that your site never sees.

How an AI assistant builds its answerA chat panel where someone asks which business to use nearby, and the assistant replies with a short shortlist. Three arrows run back from the answer to the sources it read: the website, the map profile and the reviews.AI ASSISTANTWHO SHOULD I USE NEAR ME?BASED ON WHAT I CAN READ ABOUT THEMYOUR BUSINESSHOURS, SERVICES AND REVIEWS ALL MATCHANOTHER OPTIONFEWER DETAILS PUBLISHEDANOTHER OPTIONDETAILS DISAGREE BETWEEN SITESWHAT IT READSYOUR WEBSITESERVICES · AREAS · HOURSYOUR MAP PROFILENAME · ADDRESS · PHONEYOUR REVIEWSWHAT CUSTOMERS WROTEIT CAN ONLY REPEAT WHAT YOU HAVE ALREADY PUBLISHED.
Somebody asks an assistant who to see, gets three names, and looks one of them up by name later. Nothing in that path has to reach your analytics.

Some AI surfaces pass a referrer you can identify in your reports. Others do not, particularly inside apps and in-app browsers. And often there is no click at all: the person reads the recommendation, remembers a name, and searches for it on their phone the following day.

That arrives in your reports as branded organic search or as Direct, which is why a rising Direct channel is not automatically a tracking fault. Sometimes it is the shadow of demand you created somewhere you cannot measure.

The practical response is not to invent a metric. It is to watch branded search volume in Search Console, ask on the intake form or at the front desk how somebody heard about you, and accept that the two imperfect signals together are more honest than one confident dashboard.

Why this is growing

AI is already inside the local buying journey

BrightLocal's 2026 Local Consumer Review Survey, which questioned 1,002 US adults, measured how far generative AI has moved into local business discovery.

45%of consumers use ChatGPT or other generative AI tools for local business recommendations
40%of consumers trust AI platforms for business recommendations

SourceBrightLocal, Local Consumer Review Survey 2026 (1,002 US consumers)

Neither number is a reason to panic about tracking. Both are reasons to keep asking new customers how they found you, because a meaningful share of that journey does not produce a measurable click.

Failure modes

What quietly breaks lead source tracking

Every one of these is common, and every one produces confident numbers that are wrong rather than obviously missing data.

  • A payment provider or booking system sending visitors back to your site, so it appears as the referrer on your best leads. Add it to the unwanted referrals list.
  • A form that posts to a third party page, losing the hidden fields in the handover.
  • Consent banners blocking measurement for a share of visitors, which is a legal requirement rather than a bug and still leaves a hole in the data.
  • The same campaign tagged three different ways, splitting one row into three.
  • Somebody phoning the number on a business card, a vehicle or a review, which no website tracking will ever see.
  • A long decision cycle, where the first touch happened before the tracking cookie expired and the last touch is all that survives.
  • Staff overwriting the source field in the CRM with how the conversation felt rather than what the record said.

None of these are fatal. They are the reason lead source data should be read as a strong indication rather than as an audited account.

The payoff

What you do once you actually know

The point of all this plumbing is a single decision made better than it would otherwise be.

Where a monthly budget goesA single bar split into five bands of work: foundation, content, local signals, paid media and reporting. Each band is labelled underneath with what it pays for. The widths are illustrative rather than quoted.A MONTHLY BUDGET, BROKEN INTO WORKILLUSTRATIVE SPLITFOUNDATIONSITE AND TRACKINGCONTENTPAGES AND GUIDESLOCAL SIGNALSPROFILES AND REVIEWSPAID MEDIAADS AND TESTSREPORTINGREPORTS AND CALLSSHARES VARY BY GOAL, MARKET AND STAGE. NOTHING HERE IS A QUOTE.
When cost per booked job is visible by channel, the budget conversation stops being about opinions and starts being about arithmetic.

The usual first discovery is unglamorous: one campaign is producing most of the cost and almost none of the bookings, and it has been doing so for months. Turning it off funds everything else.

The second discovery is usually that a channel everybody dismissed is quietly producing steady, high quality work. Reviews and the Google Business Profile often sit in this category, because their leads arrive as calls and calls are the least measured thing in most businesses.

Move money gradually and in one direction at a time, then wait long enough to see the effect. Changing three things at once produces a result you cannot attribute, which is exactly the problem you just spent a month fixing.

Want to see where your enquiries actually come from?

We set up call, form and CRM tracking as one system, so the source survives all the way to booked work.

Questions

Straight answers.

Will call tracking hurt my local SEO?

Not if it is implemented with dynamic number insertion, where the tracking number is swapped in on screen for website visitors while your real number stays in the page source, the structured data and every listing.

The risk comes from changing the number on your Google Business Profile and directory listings, which is a different action entirely.

What is the difference between first touch and last touch?

First touch is how somebody found you originally. Last touch is what they did immediately before enquiring. They are often different: a blog post found in search, then a branded search two weeks later.

Capture both. Reporting only last touch systematically under-credits everything that creates awareness, which usually means content, reviews and social.

Do I need a CRM for this?

You need somewhere the source survives after the enquiry. For a small practice a well-structured spreadsheet maintained by the front desk can be enough at first.

What does not work is leaving the source only in notification emails, because it disappears the moment somebody replies rather than logging it.

Why does Direct traffic keep growing?

Direct is not a source, it is a bucket for visits whose source could not be determined. It fills up with app links, in-app browsers, some AI surfaces, untagged email links and people typing your name.

If it is large and growing, check your tagging first. If tagging is clean, some of it is real demand you created elsewhere.

Is asking on the intake form still worth it?

Yes, and it is more useful than it used to be. A short open question at the front desk or on the form catches word of mouth, printed material and AI recommendations that no tracking script will ever record.

Treat it as a second, independent reading rather than as the truth, because people genuinely misremember how they found you.

How accurate should I expect this to be?

Good enough to decide with, not good enough to audit. A well-built setup will usually explain most enquiries by source, and anybody promising complete cross-device, consent-proof attribution is describing a product that does not exist.

Next step

Talk to the team

A short call, a look at how the business currently shows up, and a straight answer on what we would do first.