Why attribution can be missing or ambiguous¶
Attribution depends on the script running, the visitor calling the number they were shown, and the pool being large enough. This page lists the common reasons a call has no attribution or missing campaign data, and what to do about each.
The call shows no attribution¶
| Cause | How to recognise it | What to do |
|---|---|---|
| The caller dialled a number they saw earlier | The call is more than a few minutes after any session held the number. Common for numbers written down, saved in a phone, or shown in cached search results. If another visitor holds the number by then, the call is matched to them instead; see A call is attributed to the wrong session. | Nothing. This is a limit of any dynamic number system. Keep pools stable rather than churning numbers. |
| A consent tool or ad blocker stopped the script | Other visitors are attributed; this visitor's browser never sent a request to ctjs.au. |
Decide whether the script should fire before consent. See Install with Google Tag Manager. |
| The script isn't on the page the visitor used | Some pages swap the number and others don't. | Check the install on every page and in every template. See Tracking numbers don't show on your website in the Help Center. |
| The site was paused | The overview shows a paused banner. | Resume the site. |
Having trouble? See A call shows no attribution in the Help Center.
The call is attributed but campaign fields are empty¶
| Cause | What to do |
|---|---|
The visitor arrived directly or from a bookmark. Source is (direct). |
Nothing. Direct visits have no campaign. |
| The ad URL had no UTM parameters and no click ID. | Turn on auto-tagging in Google Ads and add UTM parameters to other platforms. See Sources, mediums, campaigns and channels. |
| A redirect dropped the query string before the landing page loaded. | Fix the redirect to pass parameters through, or point the ad at the final URL. |
| You tested by typing the URL rather than clicking an ad. | Click a real ad, or add test UTM parameters to the URL. |
The confidence is Medium or Low¶
The pool didn't have enough free numbers, so the number was shared between visitors. A shared number gives Low rather than Medium confidence when the carrier didn't supply the caller's location or a session had no location. See Attribution confidence and reason flags and Size a number pool.
A call is attributed to the wrong session¶
- Shared devices or offices. Several people behind one office connection share a location, so location can't separate their sessions.
- Repeat calls. A call from the same phone to the same number within 7 days of an attributed call inherits the most recent attributed call's attribution, even if the caller visited from a different campaign this time.
- Pool exhaustion. When numbers are reused, the most recent or closest session is chosen and can be wrong. The alternatives are listed in the Session comparison on the call.
- Late calls. A visitor's hold on their number lapses about 2 minutes after they leave or go idle, and the number can then go to another visitor. If they call it later, from a tab left open or a number they noted down, the result depends on whether that has happened. If another visitor holds the number when the call starts, the call is matched to that visitor, at the usual confidence, and can be credited to the wrong visitor. If no one holds the number, the call has no attribution, unless it's a repeat call (above). Adding numbers to the pool makes reassignment less likely.
Conversions are missing in Google Ads or Meta Ads¶
Those integrations need a click ID on the session, a connected call, and the minimum duration to be met. See Integrations overview.
How to explain this to clients¶
Attribution links a call to a session with evidence and states how certain it is. When the evidence is incomplete, the call still appears in the log with whatever was captured; it isn't dropped or guessed. Share the reason flags and the session comparison when a client questions a result.