NYSE: IDT
Stay ahead with IDT Express
Products

Discover how our products can revolutionize the way you communicate and collaborate.

Voice

Explore our advanced voice solutions designed to optimize your communication workflows.

Diverse range of DID number solutions designed to enhance your communication capabilities.

Experience unparalleled communication efficiency with our advanced SIP Trunking Solutions.

Cutting-edge technology to proactively detect and neutralize spam flags on your DID Numbers.

Enable your customers to connect with your business by dialing a toll-free number.

AI voice agents that handle calls, capture leads, and provide customer support automatically, anytime.
Messaging

Wherever your audience is, our platform ensures seamless messaging across diverse channels.

Build customer journeys by fostering interactive conversations, all within the framework of your app. 

Connect with your audience in a simple and effective way through our cutting-edge SMS platform. 

BYOC

Harness the power of IDT as your chosen carrier while leveraging your platform’s advanced features and services.

Integrate Twilio with our robust carrier routing platform to achieve unparalleled Voice termination system.

Experience reliable and high-quality communication services while leveraging the advanced capabilities of Genesys. 

Integrate IDT with the collaborative strength of MS Teams, unlocking efficient and feature-rich communication. 

Experience the power of our carrier network seamlessly connected to Plivo through our cutting-edge BYOC solution. 

Tools

Experience the power of our online voice tools, designed to simplify communication management. 

Ensure the authenticity and integrity of outbound calls with our STIR/SHAKEN Verification Check tool. 

User-friendly tool to verify the reputation of your business number, ensuring that it remains trusted. 

Compare and gain insights into outbound call expenses, optimize budget, and make informed decisions. 

Easily estimate and compare the costs associated with different DID numbers providers. 

Compare inbound VoIP rates among top CPaaS providers and optimize your inbound call costs. 

Generate custom SMS templates. 

Resources

Empower yourself with the resources you need to thrive in the dynamic landscape of communication.

Articles covering a wide range of topics.

Discover our video guides.

Get answers to common queries.

Find instructions to make the most of our products.

Stay informed with today's most important news stories

Discover telecom insights and trends.

Find definitions of popular telecom terms.

Discover the upcoming events on our calendar
Company

A global telecom partner built to meet your needs. 

Discover the story behind our commitment to delivering innovative solutions to connect people and businesses worldwide. 

Learn about our robust network infrastructure that spans across the globe, ensuring reliable and secure connectivity. 

Got a question, feedback, or need assistance? Our dedicated team is here to help!

Find partners or sign up for partnership programs.

NYSE: IDT
Learn / Blog

Sizing a Call Tracking Number Pool: The Math Behind Dynamic Number Insertion

|
|  7 min
|
In this article

An undersized tracking pool doesn’t fail loudly. It quietly hands a number that’s still tied to one visitor’s session to the next visitor, and when a call comes in, the platform credits it to whichever session held the number last. The dashboard still shows calls. Some of them now belong to the wrong ad.

Call tracking pool sizing is the calculation of how many phone numbers a dynamic number insertion (DNI) setup needs so that every tracked visitor can be shown a unique number for as long as a call from them should still be attributed to their session. Too few numbers and attribution degrades. Too many and you pay monthly for numbers that never ring. The formula is simple; the inputs are where teams go wrong.

Everything below is illustrative. The traffic figures and number costs are invented to show the shape of the trade-off.

What a misattributed call costs

Start with the consequence, because it’s what makes the math worth doing.

Suppose an agency manages paid search spend for a home services client, and phone calls are the main conversion. The client reallocates budget monthly based on cost per call by campaign. If 10% of calls are credited to the wrong campaign, the budget decisions built on that data are wrong in a way nobody can see. Money drifts toward campaigns that look good because they inherited calls from campaigns that actually drove them.

That’s the real cost of an undersized pool: not a failed call, but confident decisions made on polluted data. Oversizing is the opposite error, and it’s cheaper, but it’s still waste. The goal is a pool sized to the traffic, with a buffer you’ve chosen deliberately.

Session-level vs source-level tracking

Before sizing anything, decide which kind of tracking you need, because it changes the answer by orders of magnitude.

Source-level tracking assigns one number per marketing source: one for Google Ads, one for organic, one for a particular email campaign. Every visitor from that source sees the same number. It needs only a handful of numbers, and it tells you which channel drove calls, not which keyword or visit.

Session-level tracking assigns a unique number to each visitor session from a pool, so a call can be tied to the specific session and everything known about it: keyword, landing page, pages viewed. That’s what DNI pools are for, and it’s where sizing matters.

A contrarian point worth stating: many businesses buy session-level tracking when source-level would answer every question they actually ask. If your client reallocates budget by channel, not by keyword, a few source numbers may do the job. Size the pool only once you’re sure you need session detail.

The formula

Each number in the pool is “occupied” from the moment it’s shown to a visitor until the attribution window after their session ends. The pool must cover the peak number of simultaneous occupancies.

A workable formula:

Numbers needed = peak tracked visitors per hour × (average session minutes + hold minutes) ÷ 60 × (1 + buffer)

Where:

  • Peak tracked visitors per hour is the busiest hour’s count of visitors who’ll be shown a tracking number, not your daily average.
  • Average session minutes is how long a visitor stays on the site.
  • Hold minutes is how long after the session ends the number stays assigned to that visitor, so a call a few minutes later is still attributed correctly.
  • Buffer covers spikes and variance.

The logic: each number can serve 60 ÷ (session + hold) visitors per hour. Divide peak visitors by that, and add the buffer.

A worked example

Take an illustrative site with:

  • 1,200 tracked visitors in its peak hour
  • 6-minute average session
  • 15-minute hold after the session
  • 15% buffer

Each number is occupied for 21 minutes per visitor. So each number serves 60 ÷ 21, or about 2.86 visitors per hour.

1,200 ÷ 2.86 ≈ 420 numbers. Add the 15% buffer: about 483 numbers.

That’s the pool. If you run 300 numbers against this traffic, roughly 120 visitors in the peak hour won’t get a unique number, and depending on your platform, they’ll either see a default number (lost attribution) or a number still held by someone else (wrong attribution).

Hold time dominates the answer

The input most teams set without thinking is the hold time, and it has more effect on pool size than anything else.

Keeping the same 1,200 visitors, 6-minute sessions and 15% buffer, here’s how the hold choice changes the pool:

Hold after sessionMinutes occupiedNumbers before bufferNumbers with 15% buffer
5 minutes11220253
15 minutes21420483
30 minutes36720828

Going from a 5-minute to a 30-minute hold more than triples the pool. So what should the hold be? Look at your own data: for calls that came from tracked sessions, how long after the session ended did the call arrive? If nearly all arrive within ten minutes, a thirty-minute hold is buying you little attribution for a lot of numbers. If a meaningful share arrive later, because visitors research and call after a meeting, a longer hold earns its cost.

The same principle applies to session length. If your average is inflated by a few long sessions, the median may be a better input, with the buffer absorbing the long tail.

Use peak, not average

Pools fail at peak. Sizing to average traffic guarantees misattribution during exactly the hours when the most calls happen.

Find your peak hour from analytics, and check it against campaign calendars. A TV spot, a seasonal promotion or a newsletter send can produce a spike well above your normal peak. Either size for the known spikes or expand the pool ahead of them. Many DNI platforms let you add numbers temporarily; buying them a week before a big campaign is cheap insurance.

For multi-location or multi-client setups, size each pool separately. Pooling across clients saves numbers on paper but mixes attribution across accounts if anything goes wrong, and it complicates billing. If you’re running pools for many tenants, our guide to multi-tenant DID inventory covers how to manage the stock underneath them.

Know what happens when the pool runs out

Every DNI platform has a fallback behavior when no free number is available, and you should know which one yours uses. The common options are to show a default number for the source, which loses session detail but keeps channel-level attribution, or to reuse the least recently used number early, which keeps session detail for some visitors and misattributes others.

The first is safer. Misattribution is worse than missing attribution, because missing data is visible and wrong data isn’t. If your platform reuses numbers early, monitor how often it happens. That count is your best signal that the pool is undersized.

The cost side of the trade

Pool size translates directly into monthly number cost, so it’s worth putting the two side by side.

Illustratively, if numbers cost $0.80 per month each, the three pools above would cost about $202, $386 and $662 per month. For an agency attributing a client’s substantial monthly ad spend, the difference between the 5-minute and 30-minute pools is small relative to the value of accurate data. For a small site, it may not be.

The decision rule: compare the pool cost with the value of the attribution it protects. If the extra numbers from a longer hold catch calls that change budget decisions, they’re worth it. If they don’t, cut the hold and the pool.

Number quality matters as much as quantity

A pool isn’t just a count. The numbers themselves affect results.

Match the local area. A visitor in one city shown a number from another area code is less likely to call. For local businesses, pool numbers should match the market the site serves.

Avoid freshly recycled numbers. A number recently released by a previous owner may still receive calls meant for them, which pollute your data with calls that have nothing to do with your campaigns. Ask your provider how long numbers are aged before reassignment, and watch new numbers for unexpected call patterns in their first weeks.

Route every pool number identically. All numbers in a pool should reach the same destination with the same routing, so the caller’s experience doesn’t depend on which number they happened to see.

Don’t confuse tracking pools with outbound rotation. DNI pools are for inbound attribution. Cycling outbound caller IDs is a different practice with different consequences, which we cover in our piece on number rotation for outbound programs.

Keep the pool right-sized over time

Traffic changes, so pool size should too. Review utilization monthly: peak concurrent assignments against pool size, the count of fallback or early-reuse events, and the distribution of call delay after sessions. Grow the pool if fallbacks rise; shrink it if peak utilization sits well below capacity for several months.

For call tracking platforms serving clients in several countries, sourcing numbers through one provider keeps this manageable. IDT Express provides DID numbers in 140+ countries, which lets a platform build local pools in each market from a single supplier. For number pricing by country, see the DID numbers pricing page, and for the basics of how DIDs work, our guide to DID numbers.

Frequently asked questions

How many phone numbers do I need for dynamic number insertion?

Multiply your peak-hour tracked visitors by the minutes each number stays assigned (average session length plus hold time), divide by 60, and add a buffer, commonly 10 to 20%. The result is the pool size needed to give each visitor a unique number during your busiest hour.

What is a hold time in call tracking?

Hold time is how long a tracking number stays assigned to a visitor after their session ends, so a call made shortly afterward is still attributed to that session. Longer hold times capture later calls but require more numbers.

What happens when a call tracking pool runs out of numbers?

Depending on the platform, visitors are shown a default source number, which loses session-level detail, or a number reused early from another visitor, which can misattribute calls. Showing a default number is the safer fallback.

Is session-level call tracking always better than source-level?

No. Session-level tracking gives detail such as keyword and landing page, but it needs a large number pool. If decisions are made by channel rather than keyword, source-level tracking with a few numbers may be enough.

Why should tracking numbers match the local area code?

Visitors are more likely to call a number that looks local to them. For businesses serving specific markets, using pool numbers from the same area improves call rates and keeps the tracking realistic.

See DID pricing for tracking pools

Sizing pools across several markets? See DID numbers pricing by country to model your monthly number cost.

Share this article

Leave a Reply

Required fields are marked *

Rate this article


Tags

Meet our wholesale voice routing

Fulfill all your voice calling needs with our category leading wholesale A-Z Voice Termination.
Try IDT Express for a $25 Credit

Get $25 Free Trial Credit

Get IDT Express articles in your inbox

The best source of information in the telecom industry. Join us.

    Most Popular

    porting-customer-numbers-in
    |
    |  7 min
    Porting a number in means moving an existing phone number...
    number-rotation-is-hurting-your-outbound-program
    |
    |  7 min
    Number rotation gets sold as the fix for spam labels....
    local-did-vs-toll-free-for-customer-support
    |
    |  7 min
    A toll-free number tells your customers you’ll pay for their...