Calls Tracking does one job properly: connect a phone call back to the ad that caused it, and tell your ad platform about it.
Knowing which click produced which call — not guessing from a shared number.
Each visitor is leased their own tracking number for the length of their visit, so the call that follows maps to one specific session.
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.
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.
fbclid, plus the _fbc and _fbp cookiesgclid, Microsoft msclkid, TikTok ttclid, LinkedIn li_fat_idIf 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.
Not every ring is a lead. Rules decide what counts before anything is uploaded.
Each campaign scores its own calls, so a plumber and a law firm are not held to the same bar.
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.
Every call is recorded and playable straight from the Calls page, so a disputed lead takes seconds to settle. Transcripts are planned for v2.
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.
The part that actually changes your cost per lead.
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.
action_source: phone_callEach call shows whether its conversion was accepted — SENT, PENDING or failed with the reason. Silent upload failures are how attribution quietly rots.
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.
Access tokens encrypted at rest. Disconnecting an integration deletes the credential and stops delivery immediately.