Ring pools

A number for every visitor.

When your call button appears, the visitor gets a tracking number leased to their session alone. Their click, campaign and form answers ride on it, so the call that comes in is already tied to the visit that made it.

Ring pool5/12 leased
  • 555-0117
  • 555-0124
  • 555-0131
  • 555-0138
  • 555-0145
  • 555-0152
  • 555-0159
  • 555-0166
  • 555-0173
  • 555-0180
  • 555-0187
  • 555-0194

555-0152 · leased to session 7f3a

gclid · utm_campaign · zip · has_medicare · age_range

Fictional numbers. Illustrative pool.

What rides on the lease

The call arrives with the visit attached.

A tracking number on its own tells you which ad ran. A leased number tells you which visitor dialled, what they clicked and what they typed.

Click IDs

  • gclid
  • gbraid
  • wbraid
  • fbclid
  • msclkid
  • ttclid

Campaign

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

Partner

  • ref
  • sub-IDs (your custom params)

Visit

  • referrer
  • landing page
  • device
  • IP

Form answers

  • zip
  • has_medicare
  • age_range
  • …

The form answers are what our voice agent reads before it says hello.

The lease

Leased on sight. Back in the pool after they leave.

A number belongs to a visitor only while they can see your call button. Drag through one visit to see how.

One session, one number

Ask again from the same session and you get the same number back, not a second one.

Held while they look

The number stays theirs while the page is open, renewing quietly in the background.

Hidden tabs let go

Renewals stop when the tab is hidden, so idle numbers return to the pool on their own.

Longest idle goes next

A new visitor gets the number that has been free the longest.

Your timings

Lease and renew times can be changed. The lease must be at least 30 s and at least twice the renew time.

One lease, start to finishDrag to scrub

t = 0:00

555-0152

Leased · page visible
Lease runs out in
120 s
Next renewal
60 s
Call button mounts
The page asks for a number. This session gets one of its own for 120 s.

Default timings. The moment the tab is hidden is illustrative.

Callbacks

A callback finds its earlier visit.

People save numbers and call back days later. Within 30 days, we match the caller to the session from their earlier call on that number, even if it has been leased to someone else since.

Day 0, 10:02

Visitor A

Gets 555-0152 from your landing page, calls, and saves the number.

session 7f3a

Day 0, 10:40

Visitor B

A’s lease has lapsed. The same number is now leased to B, with B’s own click and answers.

session c21e

Day 3, 14:15

Visitor A calls back

They dial the saved number. We match their hashed phone to session 7f3a, not to B.

matched to 7f3a

Attribution follows the earlier visit

The callback carries A’s click, campaign and answers, so the sale traces back to the ad that earned it.

Routing and price follow today’s setup

Where the call goes and what it costs come from the pool’s current settings, not the ones in place three days ago.

Times and session IDs are illustrative.

Install

Two ways in. Neither leaves a dead number.

Lease from your server, or let a script swap the number on the page. We set it up with you.

Server to server

Your server leases the number before the page renders, so the visitor sees the right number from the first paint. No flicker.

Script on the page

A script swaps the number in place after load. It edits only text and tel: links, and it never throws an error into your page.

Fallback number

If a lease can’t be made, the page shows your static fallback line. It tries again after about ten seconds and recovers on its own.

Lease a numberIllustrative API shape
POST /v1/pools/{poolId}/session
Authorization: Bearer <api-key>
Content-Type: application/json

{
  "external_session_id": "sess_7f3a",
  "attribution": {
    "gclid": "EAIaIQ…",
    "utm_source": "search",
    "utm_campaign": "medicare-aep",
    "ref": "partner-12",
    "sub_id": "lp-a"
  },
  "form_data": {
    "zip": "33139",
    "has_medicare": "yes",
    "age_range": "65-69"
  }
}

→ 200 OK
{
  "phone_number": "+15555550152",
  "expires_in": 120,
  "renew_every": 60
}

Field names and paths may differ in your integration.

Pricing

Priced per placement.

Each placement, the spot where a pool’s numbers appear, carries its own price. You choose whether it tracks or bills.

$0

Tracking only

Set a placement’s price to 0 and you get the numbers, the attribution and callback matching, with no per-call charge.

Your price

Billed once, past the line

Give a placement a price and a call bills once, when it passes the duration you set.

Never

Outside geo or hours

Calls from outside the campaign’s geo footprint, or outside your schedule, are not billed.

FAQ

Questions buyers ask

Can two visitors see the same number at once?

No. A number is leased to one session at a time, and it only goes back to the pool after that lease lapses. A visitor who asks again from the same session gets the same number.

What if a caller saves the number and calls back next week?

Within 30 days we match the caller to the session from their earlier call on that number, even if the number has been leased to someone else since. Attribution follows that earlier visit. Routing and price follow the pool’s current settings.

What happens if a number can’t be leased?

The page shows your static fallback number, so visitors can always call. It tries again after about ten seconds and goes back to leased numbers on its own.

Will the number flicker when the page loads?

Not with the server-to-server install: your server leases the number before the page renders. The on-page script swaps the number after load and touches only text and tel: links.

How many numbers does a pool need?

Enough to cover the visitors who have your call button on screen at the same moment, not your daily traffic. Hidden tabs let their leases lapse, so the peak number of people on the page at once is what counts. We size the pool with you.

How are ring pool calls billed?

Per placement. A price of 0 means tracking only. A positive price bills once, when the call passes your duration threshold. Calls from outside the campaign’s geo footprint or your schedule are never billed.

Know who called, and why.

Put a pool on one landing page and follow its calls from click to sale.