For a direct-response advertiser, the phone is the scoreboard. A spot airs, the call center lights up, and somebody has to decide which of last week's hundreds of airings deserve the credit — and next week's budget.
That decision is harder than it looks. Calls are the response most likely to be mis-counted, because the tools most advertisers use to track them depend on the caller doing something specific, and most callers do not. This guide explains why, and how to attribute calls to individual TV and radio airings in a way that holds up.
The usual tools, and why they undercount
Most call-driven advertisers already track response in one or more of these ways:
- A dedicated phone number per campaign, station or creative
- A vanity URL or promo code read on air
- An offer code the caller is asked to give
- A "how did you hear about us?" question from the agent or in a dropdown
All of them are useful, and none of them should be switched off. But each one relies on the customer cooperating, and in practice many don't. Viewers look up your company and call the number on your website instead of the one on screen. They forget the code. They answer "TV" or "Google" or pick whatever option is listed first. The result is a count that is consistently too low, and low by a different amount on every station — which is worse than a count that is simply low, because it quietly distorts the ranking of your stations.
So when a statistical attribution report does not match your 800-number report, that is expected. They are two different measurements of the same airings, and the self-reported one only sees the callers who followed instructions.
How statistical call attribution works
Statistical attribution does not depend on the caller doing anything. It uses two records you already have: when each spot aired, and when each call came in.
What goes in
- Your postlogs — the record of every airing: time, station, market, creative.
- Your call data, usually from the call-tracking provider you already use, with a timestamp for every call and, where available, the caller's market.
- Optionally, read-only access to Google Analytics 4, so web response from the same airings can be measured alongside calls.
What happens to it
The method is the same one used for any linear TV or radio response:
- Build a baseline of how many calls you normally get — by day of week, hour and minute — from months of your own history, accounting for spots that aired in the past.
- Find the rise above that baseline after each airing. The attributed calls for a spot are the calls in its response window minus the calls the baseline expected anyway.
- Let the window fit the data. The response window ends when call volume returns to normal, rather than after a fixed number of minutes.
- Share credit when two airings land close together, instead of counting the same calls twice.
- Measure local airings against local calls where the data includes the caller's market, so a busy night in one city is not credited to a spot in another.
Notice what is not in that list: the phone number. Because matching is done on time and market, a dedicated number per station is not required. If you have them, keep them — they are a useful cross-check. But you do not need to print a different number on every station's creative for the attribution to work.
Calls and web visits: measure both, separately
Almost every direct-response spot drives some people to call and others to the website. If you only measure calls, you undercount the spot. If you add the two together with an assumed ratio, you build a guess into the answer.
The cleaner approach is to attribute each response on its own data, with its own baseline and its own response window — calls from the call data, sessions and conversions from GA4 — and report them side by side. You can then see, for example, that one station produces mostly calls while another produces mostly web orders, and value each accordingly.
What the report shows
The output is your postlog with new columns alongside every airing: incremental calls, incremental web response, and cost per call and cost per response for that spot. From there it can be cut by station, network, program, daypart, day of week, hour, creative and market.
That is what makes it actionable. The weekly question stops being "did TV work?" and becomes:
- Which stations and dayparts delivered calls at a cost we are happy with?
- Which ones delivered almost nothing for the money?
- Which creative drives calls, and which drives web traffic?
Then you do the obvious thing with the answer: move budget away from what is not producing calls and toward what is.
Radio works the same way
Everything above applies to radio, including live reads. As long as there is a record of when the read or spot aired and in which market, it is measured with the same method as television. Local radio is where measuring against local call volume matters most.
Common questions
Do I need a different phone number for every station?
No. Attribution is based on when and where calls arrive relative to airings. Dedicated numbers are a helpful cross-check, not a requirement.
Will your call counts match my call center's reports?
Total calls will, because they come from the same data. What will not match is how those calls are credited to stations, because self-reported sources only capture the callers who used the number, code or answer you expected.
What if my call data is in a different system from my web data?
That is normal. Call data usually comes from the call-tracking provider and web data from GA4. Each is attributed on its own and reported together.
How much volume do I need?
Enough that a spot's response stands out from normal call volume. Steady baseline call traffic and spots of roughly $100 and up give the clearest results.
Getting started
Quality Analytics has attributed linear TV and radio response — calls, web visits and orders — for advertisers and agencies since 2014. Give us access to your call-tracking data and your postlogs, plus read-only GA4 if you want web response too, and we will return your first report the next business day. We run up to a month of your airings before you pay anything, and plans start at $399 a month, month-to-month. Book a demo to see it on your own data.