Every feature earns its place

Calls Tracking does one job properly: connect a phone call back to the ad that caused it, and tell your ad platform about it.

Attribution

Knowing which click produced which call — not guessing from a shared number.

#Dynamic Number Insertion

Each visitor is leased their own tracking number for the length of their visit, so the call that follows maps to one specific session.

  • Numbers swap into any element you mark up
  • The lease is kept alive while the visitor reads
  • Released back to the pool afterwards, so you are not paying per number

Numbers in your own area code

Tracking numbers are bought to match the area code of the line you already advertise, so a caller sees the local number they expect rather than an out-of-town one they hesitate over.

  • US and Canada: numbers match your own area code automatically
  • UK, Ireland, Australia and New Zealand supported at country level
  • Bought and released for you — nothing to buy or configure yourself

Click identifiers captured

On arrival we capture the click ID your ad platform set, so the conversion we send back can be matched to the exact ad, ad set and campaign.

  • Meta fbclid, plus the _fbc and _fbp cookies
  • Google gclid, Microsoft msclkid, TikTok ttclid, LinkedIn li_fat_id
  • UTM parameters recorded alongside

Form binding

If a visitor submits a form with their number instead of calling, we bind it to the session — so a call back from that number still attributes correctly.

Qualification

Not every ring is a lead. Rules decide what counts before anything is uploaded.

Rules per campaign

Each campaign scores its own calls, so a plumber and a law firm are not held to the same bar.

  • Minimum duration — filter out wrong numbers and hang-ups
  • Unique caller window — count a repeat caller once, or every time
  • Allowed and excluded area codes — drop out-of-area and premium prefixes
  • Business hours only — ignore rings nobody was there to answer

Visible reasons

When a call does not qualify, the Calls page says exactly why — for example duration_below_min(12s<30s). No silent filtering, so you can tune the rules with evidence rather than instinct.

Recording

Every call is recorded and playable straight from the Calls page, so a disputed lead takes seconds to settle. Transcripts are planned for v2.

Call forwarding

Calls route to whichever number you nominate per campaign — a mobile, an office line, or a call centre — with no change to how your team answers.

Conversions

The part that actually changes your cost per lead.

Server-side uploads

Qualified calls are sent server-to-server to the platform matching that campaign's channel. No CSV exports, no manual imports, no pixel that can be blocked.

  • Meta — Conversions API, as a Lead event with action_source: phone_call
  • Google Ads, TikTok, Microsoft Ads and LinkedIn
  • Phone numbers SHA-256 hashed before they leave our servers

Delivery status you can see

Each call shows whether its conversion was accepted — SENT, PENDING or failed with the reason. Silent upload failures are how attribution quietly rots.

Webhooks

Every campaign can post its calls to your own endpoint, so the same data reaches your CRM, warehouse or Slack without waiting on us to build an integration.

Data handling

Access tokens encrypted at rest. Disconnecting an integration deletes the credential and stops delivery immediately.

Stop guessing which ads make the phone ring

Set up your first campaign in a few minutes.

Start free