Skip to main content
Call trackingReference

Call tracking attribution guide

Dynamic number insertion swaps the displayed phone number per visitor so a call can be tied to the session that produced it. That gives you the source. It doesn't give you quality — every call counts the same, including wrong numbers and thirty-second hangups — so the second half of the work is deciding what qualifies and sending only those back to the platforms. The failure that undermines everything is a hard-coded number somewhere insertion can't reach.

Free30 minutesNo obligation

Call tracking · what breaks

Where teams get this wrong — Call tracking

  1. 01

    A hard-coded number in a header image or footer

    Insertion can't swap it, and those calls arrive with no source.

  2. 02

    Every call counted equally

    A wrong number and a booked job teach bidding the same thing.

  3. 03

    Capturing the click ID at the call instead of the visit

    By then the session context is gone.

Call tracking · the fix

What a correct implementation looks like — Call tracking

  • Insertion on every template

    Including images, sticky bars and structured data.

  • Click ID captured at the visit

    And stored against the call record.

  • A qualification rule agreed

    Duration or a recorded outcome.

  • Only qualified calls uploaded

    Rather than every ring.

Call tracking · architecture

How the pieces fit — Call tracking

Five components. The first is where most implementations fail and the last is where most of them stop early.

  1. 1

    Dynamic number insertion

    Swaps the displayed number per visitor so the call carries a source. Must cover every template.

  2. 2

    Number pools

    Enough numbers that concurrent visitors don't collide. Too small a pool produces wrong attribution silently.

  3. 3

    Click-to-call events

    A tel: link tap on mobile. Cheap, immediate, and usually missing entirely.

  4. 4

    Click ID capture

    At the visit, stored against the call record. The precondition for offline import.

  5. 5

    Qualification

    Duration threshold, or better, a recorded outcome from whoever answered.

  6. 6

    Offline upload

    Qualified calls sent back as conversions so bidding optimizes toward real work.

Call tracking · diagnose

Common mistakes and how to validate each — Call tracking

Ordered by how often we find them. Each one has a specific check rather than a general instruction to be careful.

  1. 01

    Numbers in images

    Search your templates. A number rendered in a header graphic can never be swapped.

  2. 02

    Structured data carrying a tracked number

    Keep the canonical number in schema and business listings; swap only the on-page display.

  3. 03

    Pool too small

    Check for collisions at peak traffic. A shared number across concurrent visitors attributes wrongly and silently.

  4. 04

    Organic and paid sharing a number

    Then neither channel can be evaluated.

  5. 05

    Every call uploaded

    Wrong numbers and sales calls dilute the signal bidding learns from.

Call tracking · prove

How to prove your implementation is right — Call tracking

Against your own records and a live payload, not against a preview screen.

Source of truth

call records joined to a recorded outcome

  • Number insertion confirmed on every template, including images and the sticky bar.
  • Click-to-call events confirmed firing on a real mobile device.
  • A live test call attributed to the correct campaign.
  • Click ID present on the call record.
  • Only qualified calls uploaded, with the rule documented.
  • Checked on a live conversion, not in preview mode.
  • Reconciled over a fully closed window, matched per record.
  • Re-checked 30 days later.

Call tracking · free audit

What we check in the free audit

  • Numbers in images
  • Structured data carrying a tracked number
  • Pool too small
  • Organic and paid sharing a number
  • Every call uploaded

Checked against

call records joined to a recorded outcome

Get my free conversion tracking audit

Free30 minutesNo obligation

Call tracking · when not to buy

What this reference deliberately leaves out — Call tracking

Stated openly, because a reference that's silent about its own gaps is the dangerous kind.

  • Call recording and its consent requirements vary by jurisdiction and are outside our scope. Take advice.
  • Specific call platform configuration differs per vendor and changes.
  • Pool sizing depends on your concurrent traffic and can't be specified generically — test at peak.
  • Vendor documentation is the authority, not this page. Where the two disagree, the vendor is right and we'd like to know so we can correct it.
  • Parameter names and behaviour change. Anything here is accurate as we last verified it; verify against the current documentation before you rely on it for a build.

Call tracking · what we deliver

The checklist — Call tracking

  • Every template checked for hard-coded numbers

    Header, footer, images, schema, sticky mobile bar.

  • Click-to-call events on every tel: link

    Verified on a real mobile device.

  • Organic and paid separated

    Different numbers or different pools.

  • The click ID stored against the call record

    Captured at the visit.

  • Qualification rule documented

    Before anything is uploaded.

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

Repairs and verifies your existing browser-side setup against this reference, on a live conversion.

  • Implementation checked against the spec
  • Verified on a live conversion
  • Reconciled against your own records
  • Written handover
Have mine checked

1st-party server-side

Recommended

$800One-time fee · most popular

Money events sent from your own records through a first-party container on your subdomain, built to this specification.

  • First-party server container on your own subdomain
  • Events from your records, not the browser
  • Deduplicated on a shared event ID at every destination
  • First-party cookies beyond Safari's 7-day cap
  • 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Have it built properly

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid channel server-side plus the offline loop, documented to this standard.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop
  • Refunds and cancellations corrected wherever each platform allows it
  • Monitoring so the next break surfaces in days
Get the full stack

FAQ

Call tracking questions, answered

Not if the canonical number stays in your Google Business Profile, structured data and citations, with insertion swapping only the on-page display.

Free · 30 min

Attribute the calls that turn into work

Free30 minutesNo obligation