Skip to content
Esc
navigateopen⌘Jpreview
On this page

Tag calls with their marketing attribution

Carry the marketing source behind a tracked visit onto the call itself, using pool tags and conditional tag rules, so campaign performance is readable in call reporting.

A tracked visit knows where it came from. A call record, on its own, does not. Tags are the bridge: you decide which marketing details deserve a label, and every call that arrives through a tracking number picks up those labels automatically — so the call log, its filters, and its exports can be read by campaign instead of by phone number.

Two panels on Settings > Phone Numbers > Dynamic Numbers do this work. Pool Tags labels every call the pool handles. Tag Rules labels calls conditionally, based on what the visit’s marketing details actually said.

Prerequisites

  • An active tracking pool with numbers in it, and the snippet installed. See Configure dynamic number insertion.
  • The tags you want to apply, already created under Settings > Call Analysis > Tags. A tag has to exist before a pool or rule can point at it, and a tag set to Inactive is never applied to new calls.
  • A role that can manage call data — the same access that lets you create and edit tags. New rule is offered to anyone who can open the page, but saving is refused without that access.

How a visit’s source is decided

Before any rule runs, each visit is reduced to a marketing source and a marketing medium. The first rule below that fits wins:

The visit arrived with Source Medium
A Google Ads click identifier google cpc
A Meta click identifier facebook paid_social
A Microsoft Ads click identifier bing cpc
utm_source in the page URL the utm_source value the utm_medium value, or (none)
A referring link from a known search engine the engine name organic
Any other referring link the referring site’s host referral
Nothing identifying (direct) (none)

Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, and Ecosia are recognized as search engines.

A click identifier outranks campaign parameters, so an ad click reports as paid even when the landing page URL also carries UTM values. The raw UTM values are still recorded and can still be matched by a rule — the derived source and medium are a summary, not a replacement.

Tag every call the pool handles

Use Pool Tags for a label that is true of the whole channel, such as Website or Call Tracking.

  1. Choose a tag in Add a default tag… and select Add.
  2. The tag appears as a chip. Remove it with the ✕ on the chip.

Pool tags apply to calls that arrive on a pool number and can be tied back to the pool. They are not conditional — nothing about the visit is inspected.

Create a tag rule

Use Tag Rules when the label depends on the campaign: Google Ads, Spring Promo, Facebook Lead.

  1. Select New rule.
  2. Choose the attribution field to test.
  3. Choose the condition, and enter the value it should match.
  4. Choose the tag to apply.
  5. Set a priority and save.

Edit or delete a rule from its row. Deleting asks for confirmation and takes effect on calls from that point forward.

Fields you can match on

Field What it holds
Marketing source The derived source from the table above
Marketing medium The derived medium from the table above
UTM source The raw utm_source value from the visit’s URL
UTM medium The raw utm_medium value
UTM campaign The raw utm_campaign value
UTM term The raw utm_term value
UTM content The raw utm_content value
Google click ID The click identifier Google Ads appends
Meta click ID The click identifier Meta ads append

Microsoft Ads clicks have no field of their own — match Marketing source equal to bing instead.

Conditions

Condition Matches when
equals The field is exactly the value
contains The value appears anywhere in the field
starts with The field begins with the value
is present The field has any value at all — the value box disappears for this

Matching ignores letter case, so Google and google behave the same on both sides.

How several rules interact

Rules are listed highest priority first and are evaluated in that order, but priority does not stop the rest from being considered: every rule whose condition matches contributes its tag. Two rules pointing at the same tag put it on the call once. Use priority to keep a long list readable and ordered by importance, not as an exclusive if-else.

Pool tags and rule tags combine, as do tags attached to the number, extension, call group, or assistant the call reached. A call carries each distinct tag once.

When tags land, and on which calls

Tags are attached as the call arrives, from the rules and pool tags in force at that moment. Changing a rule, adding a pool tag, or retiring a tag affects calls from then on and never rewrites calls already recorded — which is what makes historical reporting stable, and why a rule added today will not explain last week’s numbers.

A call is tied to a visit through the tracking number the visitor was shown. If a caller who was tracked earlier calls a pool number again after their session has ended, the system falls back to the marketing details of their most recent tracked call. When neither applies — an expired session and no earlier tracked call from that number — the call arrives with no pool or rule tags.

Where the results show up

  • Call Log shows a tags column and filters by tag, so a campaign becomes a one-click segment, and exports carry each call’s tags. Tags keep the name and color they had when the call happened.
  • Recent Sessions & Attributes on the Dynamic Numbers page shows the visit side of the same story: source, medium, campaign, and the number the visitor was shown.
  • Top Traffic Sources ranks the sources of visits that turned into calls.
  • The Insights pages inherit whatever your tags make filterable, so a consistent tag vocabulary is what makes campaign comparisons possible there.

Expected result

A call from a tracked visit arrives in Call Log carrying the pool’s default tags plus a tag for every rule its marketing details matched, and filtering the call log by that tag returns the calls that campaign produced.

Troubleshooting

  • New rule will not save: Saving a rule needs a role that can manage call data. The button is visible to read-only users, but the save is refused.
  • A rule matches nothing: Check the field. A campaign link that sets utm_campaign does not populate UTM source, and a derived Marketing source of google is not the same string as a utm_source of Google Ads. Confirm what real visits carry under Recent Sessions & Attributes first, then write the rule against that.
  • The tag picker is empty: No tags exist on this phone system yet. Create them on the Tags page first.
  • A tag stopped appearing on new calls: The tag may have been set to Inactive. Inactive tags stay on calls that already carry them but are never applied again.
  • A tracked call has no tags at all: The call could not be tied back to a visit — most often a session that had already expired, a caller with no earlier tracked call, or a number that was removed from the pool. Calls to the fallback number are never attributed.
  • Older calls did not pick up a new rule: Tagging happens when a call arrives. Rules are not applied retroactively.