Which marketing channel brings customers is answered by two records rather than by an attribution model: what the customer tells you when you ask, and what the click carries with it. Each record is blind to something the other sees, and the honest output is a monthly count of new customers by channel with the unknowns still showing.
Nothing below needs new software or an analyst: one question asked the same way in two places, a tagging convention you keep, a call record most owners never build, and one page a month. Every platform fact here comes from Google's own documentation, as of September 2026.
Why an attribution model is the wrong instrument at your volume
An attribution model splits credit for one sale across several touches, and at forty or eighty new customers a month that split moves on one or two people. The percentage it produces looks precise and is not. The decision the model exists to inform, keep this channel or cut it, needs a gap wider than that noise.
Enterprise attribution earns its keep on thousands of conversions a month, where a two-point shift is real. On forty, one referral in the wrong bucket moves a channel further than that. The useful question is not which model to adopt, but which records you can capture and what each cannot see.
The two records an owner can actually capture
There are two, and everything else is derived from them. The ask is self-reported: the customer names what brought them, at the moment of first contact. The tag is machine-captured: the click arrives carrying where it came from. The ask sees the world offline. The tag sees only people who clicked.
That is why you run both. A neighbor's recommendation never touches an analytics property, and a paid click that becomes a call two days later is rarely named correctly by a customer who remembers searching.
What the tag sees, and the bucket where it gives up
The tag sees one thing: what the browser carried on arrival. Google's Analytics documentation describes a session as direct when no information about the referral source is available, or when the referring source has been configured to be ignored. As of September 2026, that bucket takes every untagged link, pasted URL and app-to-browser handoff.
Campaign parameters are how you stop feeding it. Google's URL builder documentation says adding UTM campaign parameters to the destination URLs used in referral links and ad campaigns is what lets you see which campaigns refer traffic, naming utm_source, utm_medium, utm_campaign and utm_id among them. The discipline matters more than the tool.
- Decide the vocabulary once and write it down. Two spellings of one source become two rows, and nobody notices for months.
- Tag everything you control that is not a search engine: the email footer, the QR code on the invoice, the mailer, the directory profile, the social bio.
- Do not hand-tag Google Ads URLs. Google's help on manual and auto-tagging says that when both are used together, the traffic-classification dimensions use the auto-tagged values, so your manual labels stop being what the report reads.
- Tag the destination, not the shortener. A redirect that drops the parameters produces a clean-looking direct visit.
What the ask sees, and how to keep it from becoming a text box
The ask is the only record that sees a referral, a van, a sign or a conversation. It works when it is one question, worded identically wherever first contact happens, answered from a short fixed list rather than typed. It stops working when the booking form and the person on the phone offer different options, because the counts no longer add.
Write the options the way a customer speaks, keep them under ten, and make the field required before anything can be scheduled. Ask how they found you, not which marketing they saw: people answer the first question and guess at the second. Read the free-text entries monthly and fold the repeats into the list.
The phone is a third record, and most owners never build it
For a service business the sale usually happens on a call, and a call is invisible to a website report unless somebody instruments it. Google Ads call reporting is one way in: as of September 2026, Google's documentation says that with call reporting on, a forwarding number is assigned to the ad, and Google Ads records call duration, start time and whether the call connected.
The same documentation describes a phone snippet that replaces a number on your website with a forwarding number, which is how a click that becomes a call stays attached to the click. Leave the number your customers already have alone: it sits on your invoices, your Business Profile and every directory that copied it, and a partial swap costs months of chasing the mismatch.
The one page you actually need each month
One page, six rows, counts rather than percentages. It answers the only question a budget turns on: what a new customer cost, by channel, this month and across the last three. Build it from your invoices rather than a platform dashboard, because a platform counts the leads it produced and you are counting customers you kept.
| Row on the page | What goes in it | Where the number comes from | What it is for |
|---|---|---|---|
| New customers this month | One whole number, not sessions or leads | Your invoices or your booking system | The denominator every row divides into |
| By channel, one line each | Counts, never percentages | The ask, checked against the tag where both exist | Ranking channels against each other |
| Unknown | Every customer the ask missed | The total minus the channel lines | The honesty check: a large unknown means the field is not enforced |
| Spend by channel | What you paid that month | Ad invoices and the retainer, split by what each bought | Turning counts into a cost |
| Cost per new customer, by channel | Spend divided by that line's customers | The two rows above | The one number a budget decision turns on |
| Rolling three months | The same lines across a quarter | The last three of these pages | One month is too small to act on; a quarter usually is not |
Keep the unknown line, and size a new channel before you chase it
Never spread the unknown count across the channels you can see. Allocating it assumes the customers you failed to record behave like the ones you did, and that is the assumption most likely to be wrong: word of mouth and repeat work are what a hurried booking skips. A visible unknown is an instrument, a hidden one is a story.
The same discipline settles arguments about whichever channel is being discussed this quarter. On AI assistants, the clearest published figure comes from one agency's own client data. "Last year, I looked at one of our biggest multi-location clients and concluded that Chat GPT's traffic was 0.1% of Google," writes Joy Hawkins of Sterling Sky in a June 2026 report. This year, she writes, it is up to 2% of that client's traffic from Google. That is one agency's client set rather than a census, and the report says so.
The instruction it supports is the one this page keeps making: a channel worth a budget line should show up in your own count first.
What this looks like when it runs
When it runs, the measurement is a by-product of systems built anyway. A booking system that asks the source question as a required field captures the ask without anyone remembering to. A missed-call text-back answers the call that rang out and logs it, so whatever produced it stops disappearing into the unknown line.
Those capabilities run in production for Charlotte businesses. The booking system behind this site's discovery-call page calculates real availability and confirms automatically; the online booking and repair-status software Quick Auto NC runs its bays on is ours, as is the website for Carolina Sky Painting. Systems that write records are what make next quarter's version of this question answerable.
Sources
- Google Analytics Help, "[GA4] Understand (direct) / (none) traffic" - A session is processed as direct traffic when no information about the referral source is available, or when the referring source or search term has been configured to be ignored. Read via search result summary on September 26, 2026; support.google.com is blocked to direct fetches from this environment.
- Google Analytics Help, "URL builders: Collect campaign data with custom URLs" - Adding UTM campaign parameters to the destination URLs used in referral links and ad campaigns is what lets you view which campaigns refer traffic; the parameters include utm_source, utm_medium, utm_campaign and utm_id. Read via search result summary on September 26, 2026.
- Google Analytics Help, "Traffic-source dimensions, manual tagging, and auto-tagging" - When manual tagging and auto-tagging are used together, the source, medium and other traffic-classification dimensions use the auto-tagged values. Read via search result summary on September 26, 2026.
- Google Ads Help, "About call reporting" - With call reporting turned on, a Google forwarding number is assigned to the ad, and Google Ads tracks details including call duration, call start time and whether the call was connected. Read via search result summary on September 26, 2026.
- Google Ads Help, "Set up tracking calls to a phone number on a website" - The phone snippet replaces a phone number on your website with a Google forwarding number so you can see how effectively ads lead to phone calls from the site. Read via search result summary on September 26, 2026.
- Sterling Sky, "The State of Local SEO in 2026" - Published June 26, 2026, author Joy Hawkins. ChatGPT traffic for one large multi-location client rose from 0.1% of Google to 2%. Sterling Sky's own client data, not an industry census. Verified source library file, fetched September 4, 2026.