On this page
- Your page as published(727) 555-0100, your usual number
- VereTel snippetwhich number for this page?
- What the visitor sees(727) 555-0121, the tracking number for this site or page
Why websites need it
A printed mailer can carry its own number. A website cannot do that as easily: it has one footer and one “Call us” button, yet visitors arrive from search, social ads, email and direct links. DNI is a small script that runs in the visitor’s browser. It looks at the visit, picks a tracking number and replaces the number on the page before the visitor reads it.
The result is that calls from your website can be split by source instead of landing in one bucket labeled “website”. For the basics of tracking numbers, read what is call tracking first.
Design one: per-page or per-source numbers
In the simplest design, each page, or each site, is mapped to one tracking number in a fixed table. Visitors to your ACA landing page see number A. Visitors to your Medicare page see number B. Everyone on the same page sees the same number.
What it can attribute: the page, and therefore the campaign whose ads point to that page.
- Strengths: it is predictable, cheap in numbers, easy to audit, and it keeps a stable number per page.
- Weaknesses: two ad sources that share one landing page share one number. It cannot tell one visitor from another.
The fix for the weakness is design, not technology: give each campaign its own landing page.
Design two: per-visitor or per-session pools
The more elaborate design keeps a pool of numbers and assigns one to each visitor session, holding it for the session and then recycling it. When the phone rings, the service matches the number to the session, and the session carries the traffic source, the landing page and often the ad click ID.
What it can attribute: an individual visit, so a call can be tied to a channel, a campaign and sometimes a keyword or click.
- Strengths: the finest attribution available for calls that come from a website visit.
- Weaknesses: the pool must be big enough for the number of simultaneous visitors, or numbers are reused too soon and calls are credited to the wrong visit. It costs more numbers. It also needs the script to run reliably on every visit.
How DNI fails, and how good systems fail safely
- Script blocked or slow. Ad blockers, slow networks and consent tools can stop the script. The visitor sees the original number, and that call is attributed to your default number.
- Flash of the old number. If the swap happens after the page paints, the visitor briefly sees the original number. Good scripts swap early.
- Number saved and called later. A visitor writes down or saves a number and calls tomorrow. In a per-visitor pool the session may have expired and the number been reassigned.
- Numbers in images or PDFs. A script can only change text and phone links. A number baked into an image stays as it is.
A well-built script fails toward the published number: if anything goes wrong, the page keeps the number that was there in the first place, so a visitor can always reach you.
SEO and consistency of your business phone number
Search engines and local listings compare your business name, address and phone number (NAP) across the web. If they see different numbers for the same business, they can be less sure which one is correct. DNI is designed around this: the number that is in the page’s HTML, and that crawlers read, should be your real published number, and the swap should happen in the visitor’s browser. Keep your real number in your listings and in your page markup, and use tracking numbers only for the visible swap.
Google’s own website call tracking works the same way, swapping a forwarding number into the page with a script; see Google’s help page on tracking calls to a phone number on a website in the sources below.
What VereTel does
VereTel uses design one. You add one script tag to your site. VereTel maps numbers per site and per page: a page, or a path on your site, is registered against a tracking number. The script asks VereTel which numbers to swap for that page, changes only the registered numbers in page text and tel: links, and leaves the page alone if anything fails.
VereTel does not use per-visitor or per-session pools and does not attribute at the keyword level. If you need those, a different provider may fit better; the comparison pages say where.
To get the most from per-page numbers, build landing pages by campaign. Attributing calls to ad clicks shows how. Details are on the DNI feature page.
Common questions
Does DNI hurt SEO?
Not when it is done carefully. Keep your real number in your listings and page markup, and let the script change only what the visitor sees. Search engines and directories should still find the same business phone number everywhere.
What happens if the script fails to load?
With VereTel’s script, the page keeps its original number, so visitors can still call you. The call is then logged against that original number.
Is a per-visitor pool always better?
It is finer, but not always better for a small agency. Pools need many numbers and careful sizing, and per-page numbers are often enough when each campaign has its own landing page.
Sources
- Google Ads Help: Set up tracking calls to a phone number on a website (read September 29, 2026)
- Google Ads Help: Google forwarding number (read September 29, 2026)