For pay-per-call networks, publishers and buyers

    Pay-per-call tracking software built around the buyer, not the spreadsheet

    Give every traffic source its own tracking number, set each buyer up as a destination with caps and a weight, and let the call log do the reconciliation: which campaign, which buyer, how long, how it ended, and whether the caller had called before. Buyers get their own login; reports go out by email on a schedule.

    Free account · no subscription or contract · usage drawn from a prepaid wallet

    • A toll-free or local tracking number per source, publisher or ad group
    • Buyers as targets with concurrent, hourly, daily and total caps
    • Weights and priority tiers decide who gets the next call
    • Duplicate-caller rules with a look-back window in days
    • Recordings, live calls and a separate buyer portal
    • Signed webhooks, REST API, Zapier and native CRM sync

    Attribution

    The dialled number is the attribution

    Each campaign owns its numbers, so there is nothing to tag and nothing to reconcile afterwards: the call log row already says which source produced the call and which buyer took it.

    • Caller number, number dialled and the buyer it was forwarded to, on every row
    • Ring time, talk time and the outcome: completed, no answer, busy, failed or rejected
    • A repeat marker with the count of earlier calls from the same caller
    • Filters by outcome, date range, number and buyer; export to CSV or XLSX
    • Recordings next to the row when recording is switched on
    CallFlow call logs showing date, direction, caller, repeat-caller markers, the dialled tracking number, the buyer number and duration
    Call logs: the dialled tracking number and the buyer sit side by side, repeat callers are flagged with how many times they called before, and every row can be filtered and exported.

    How it fits together

    Sources on the left, buyers on the right, the call record at the end

    A campaign is the clearing house. It owns the tracking numbers, holds the duplicate rule and the ring settings, and distributes calls across the buyer targets within their caps.

    From tracking number to buyer to call recordDiagram of From tracking number to buyer to call record. Steps: Publisher A (833 number); Google Ads (888 number); Campaign: Final Expense (duplicate rule · ring time · queue); Buyer 1 · weight 50 (CC 6 · 120 per day); Buyer 2 · weight 30 (CC 4 · 80 per day); Overflow buyer · tier 2 (only when tier 1 is full); Call log + webhook (campaign, buyer, duration, outcome). Connections: Publisher A to Campaign: Final Expense; Google Ads to Campaign: Final Expense; Campaign: Final Expense to Buyer 1 · weight 50; Campaign: Final Expense to Buyer 2 · weight 30; Campaign: Final Expense to Overflow buyer · tier 2 (tier 1 full); Buyer 1 · weight 50 to Call log + webhook; Buyer 2 · weight 30 to Call log + webhook; Overflow buyer · tier 2 to Call log + webhook.tier 1 fullPublisher A833 numberGoogle Ads888 numberCampaign:Final Expenseduplicate rule · ring time · queueBuyer 1 · weight 50CC 6 · 120 per dayBuyer 2 · weight 30CC 4 · 80 per dayOverflow buyer· tier 2only when tier 1 is fullCall log + webhookcampaign, buyer, duration, outcome
    Illustrative exampleFrom tracking number to buyer to call record Illustrative example: each traffic source has its own number, buyers are targets with caps and weights, and every call ends as a log row with campaign, buyer, duration and outcome.Swipe sideways to see the whole diagram.
    1. 1

      Buy a number per source

      One toll-free or local number for each publisher, ad group or landing page. Search by prefix and digits; the number is live as soon as the order completes.

    2. 2

      Create the campaign

      Attach the numbers, choose sequential or simultaneous routing, set the ring time, and pick how repeat callers should be treated.

    3. 3

      Add buyers as targets

      Each buyer is a phone, SIP or browser destination with a weight, a priority tier, caps that reset automatically and opening hours.

    4. 4

      Reconcile from the log

      Dashboards split unique callers from repeats per campaign; the Automation page emails each buyer their own report daily.

    Buyer controls

    Every promise you make a buyer is a setting on their target

    Caps and weights are enforced by the router on every call, and the live count against each cap is visible on the targets page, so a buyer's 'you sent me too many' can be checked in seconds.

    Concurrent-call cap

    The most calls a buyer can be on at once. The router counts live legs, so a buyer with four lines never receives a fifth call that would ring out.

    Hourly, daily and total caps

    Daily caps reset at the start of each business day, hourly caps every hour, and a total cap closes the target when a contract amount is reached.

    Weights and priority tiers

    Share traffic 60/40 between two buyers in the same tier, keep a backup buyer in tier 2 who only sees calls tier 1 could not take.

    Schedules per buyer

    Daily opening hours or a dated window per target. A buyer that closes at six simply drops out of the rotation at six.

    Duplicate handling

    Per campaign: route repeats normally, send them back to the buyer they reached before, or always to a different buyer, within a look-back window you choose.

    Queue and overflow

    When every buyer is at capacity the caller can hold while the campaign keeps looking for a free line, instead of hearing a busy tone.

    CallFlow targets page for a campaign listing buyer targets with weight, priority, concurrent and daily caps, live counts and IST schedules
    Targets: weight, priority, concurrent and daily caps with their live counts, and each buyer's hours. Pause a buyer with the switch; the router stops sending calls on the next one.

    Duplicates

    Decide what a repeat caller is worth before the buyer does

    Repeat callers are the usual cause of payout disputes. CallFlow marks them in the log and lets you choose, per campaign, what routing should do with them.

    Normal
    Repeat callers are routed by the ordinary weights and caps. Use it when every call is billable regardless of history.
    Same buyer
    A caller who comes back inside the look-back window is sent to the buyer they reached last time, so the follow-up lands with the agent who already has the file.
    Different buyer
    Repeat callers always go to a buyer they have not spoken to, which protects buyers who pay only for fresh callers.

    The look-back window is set in days per campaign. Repeat counts on the call log and the unique-versus-duplicate split on the dashboard use the same window, so what you see is what the router did.

    CallFlow edit-campaign dialog showing duplicate handling options Normal, Same Buyer and Different Buyer with a look-back in days, and the IVR press-digit settings
    Campaign settings: duplicate handling with its look-back window, and the optional press-a-digit IVR that screens auto-dialers before any buyer is rung.

    Reporting and the buyer portal

    Numbers you can send to a buyer without editing them first

    Dashboards, the Revenue page and scheduled buyer reports are all built from the same call log, so the number the buyer sees in their portal is the number you see in yours.

    CallFlow dashboard with wallet, campaigns, total calls, answer rate, minutes, a daily activity chart and a call summary
    Dashboard: pick a period and see calls, answer rate, minutes, the daily activity chart and the completed / missed / failed summary with average handle time; the per-campaign table with unique callers and duplicates sits just below.

    Revenue page

    Set a buy price on your numbers and a sell price on your targets, and the Revenue page shows revenue, cost, profit and margin per call and per campaign.

    Buyer portal

    Buyers sign in separately and see only their calls, their live calls, their recordings if you allow it, and their own targets and wallet. You can hide your tracking numbers from a buyer so they never learn where the calls came from.

    Scheduled buyer reports

    The Automation page builds a buyer's call report for a date range on demand, or emails it every day on a schedule you set.

    Marketplace

    Publish call offers and let buyers request them. A fulfilled offer becomes an ordinary target, so routing, caps and reporting behave exactly as for buyers you bring yourself.

    Integrations

    Get every call into the systems you already run

    Call events can be pushed as they happen or pulled on your schedule; nothing on this page depends on a browser dialer or a plug-in.

    Signed webhooks

    Call started, completed, recording-ready and disposition events delivered to your endpoint with a signature you can verify, and retried with back-off if your server is down.

    REST API

    List calls and campaigns, open a single call with its recording link, set a disposition such as Sale or No sale from your own tooling, and manage webhook endpoints.

    API documentation

    Zapier and GoHighLevel

    Both connect through the webhook integration, so a completed call can create a contact, update a pipeline stage or trigger a text without code.

    HubSpot, Salesforce and Zoho

    Native sync: connect the CRM once and each call is logged as a call activity on the matching contact, updated later with the recording and the disposition.

    Routing itself is covered on the intelligent call routing page, and the press-a-digit screen that keeps auto-dialers away from buyers on the IVR call forwarding page.

    FAQ

    Pay-per-call tracking questions

    The questions networks and buyers ask when they evaluate call tracking.

    How does call tracking attribute a call to a campaign?

    Each campaign owns its own toll-free or local number, so the dialled number is the attribution. Give each traffic source, publisher or ad group its own number and every call log row already carries the campaign, the caller, the buyer it was sent to, how long it lasted and how the far end answered.

    Can I cap what each buyer receives?

    Yes, per buyer target: a concurrent-call cap, a daily cap, hourly and total caps, and a weight for how the remaining traffic is shared. Caps reset automatically and the live count against each cap is visible on the targets page.

    How are duplicate callers handled?

    Per campaign you choose how repeat callers within a window of days are treated: route them normally, send them back to the buyer they reached last time, or always send them to a different buyer. Dashboards separate unique callers from repeats so you can see duplicates before a buyer disputes them.

    Do buyers get their own login?

    Yes. Buyers sign in to a separate buyer portal that shows only their calls, live calls as they happen, their recordings if you allow access, and their own targets and wallet. You can hide your tracking numbers from a buyer, so they never learn which sources the calls came from.

    Can buyer reports be sent automatically?

    The Automation page generates a buyer's call report on demand or on a daily schedule and emails it to the buyer, so the morning reconciliation email writes itself.

    How do I get calls into my CRM?

    Signed webhooks fire when a call starts, completes, gets a recording or a disposition; a REST API reads calls and campaigns and sets dispositions; Zapier and GoHighLevel connect through the webhook integration; and HubSpot, Salesforce and Zoho sync natively once you connect them.

    What is the marketplace?

    Sellers can publish call offers and buyers with a marketplace account can request to purchase them. Fulfilled offers become ordinary campaign targets, so routing, caps and reporting work the same way as for buyers you bring yourself.

    See it with your own numbers

    Open a free account and set up pay-per-call tracking in a few minutes, or book a short demo and we will walk through your routing with you.