Skip to content

How attribution works

Attribution is how Call Tracking links a phone call to the website visit that led to it. This page explains what is captured, how numbers are assigned, and how a call is matched to a session, so you can explain any result to a client.

What a session captures

The tracking script starts a session the first time a visitor loads a page with the script. The session records:

  • The landing page: the full URL of the first page viewed, including any query string.
  • The referrer: the page that linked to the landing page, if the browser sent one.
  • UTM parameters from the landing URL: utm_source, utm_medium, utm_campaign, utm_term, utm_content and related tags.
  • Click IDs from the landing URL: gclid, gbraid and wbraid from Google Ads, fbclid from Meta, msclkid from Microsoft Ads. A click ID that appears on a later page in the same session is captured too.
  • The last page viewed, updated on every page view.
  • The browser's user agent, and any Google Analytics _ga cookies, for session stitching in Google Analytics 4.
  • An approximate location derived from the visitor's connection.

A session continues across pages and browser tabs, and ends after 30 minutes without activity. The script doesn't capture form input, page content or the visitor's phone number.

How numbers are assigned

For each number pool whose rules apply to the page, Call Tracking assigns the session a number that isn't in use by another visitor. The assignment lasts while the visitor is on the site and expires shortly after they leave. The visitor keeps the same number for the whole session, so the number they write down or tap is the one that is assigned to them.

When every number in the pool is already assigned, a number has to be shared. This is pool exhaustion, and it is the main cause of lower confidence. See Size a number pool.

How a call is matched to a session

When a call reaches a tracking number, Call Tracking looks at the sessions that held that number at the moment the call started:

  • No session held the number: the call has no attribution. The visitor may have dialled a number they saw earlier, or the script wasn't running when they saw it.
  • One session held the number: the call is attributed to it with High confidence.
  • Several sessions held the number: Call Tracking compares the caller's location, supplied by the carrier, with each session's location. If that singles out one session, the call is attributed to it with Medium confidence. Otherwise the best candidate is chosen with Low confidence, and the other candidates are kept as alternatives.

Before any of that, Call Tracking checks whether the same caller has called the same tracking number in the last 7 days. If so, and the earlier call was attributed, the new call inherits its attribution. See Attribution confidence and reason flags.

What is recorded on the call

The matched session's landing page, last page, referrer, source, medium, campaign, term, content, channel and location are copied onto the tracked call, along with the confidence level and the reasons for the match. Source, medium and campaign are worked out from the landing page, so a session that started from a Google Ads click and later browsed organically still counts as a paid visit. See Sources, mediums, campaigns and channels.

Static numbers

Calls to a static tracking number don't have a session. Their campaign, medium, source and content come from the number's settings, and they have no confidence level. See Add a static tracking number.

What's next