Guide

How dynamic number insertion works

Dynamic number insertion (DNI) changes the phone number shown on a web page depending on the visit. There are two common designs, per-page and per-visitor, and they answer different questions. VereTel uses the per-site, per-page design.

Updated

On this page
  1. Why websites need it
  2. Design one: per-page or per-source numbers
  3. Design two: per-visitor or per-session pools
  4. How DNI fails, and how good systems fail safely
  5. SEO and consistency of your business phone number
  6. What VereTel does
How number insertion swaps the phone number on your pagesYour page is published with your normal number. When it loads, the VereTel snippet asks which number belongs on this page and replaces only the numbers you registered. If anything fails, the page keeps its normal number.Your page as published(727) 555-0100your usual numberVereTel snippetwhich number for this page?What the visitor sees(727) 555-0121the tracking number forthis site or page
  1. Your page as published(727) 555-0100, your usual number
  2. VereTel snippetwhich number for this page?
  3. What the visitor sees(727) 555-0121, the tracking number for this site or page
Only the numbers you register are swapped. If the snippet cannot load, visitors still see your usual number.

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.

Look around for free, or see it on a call

Create a free account and see the desk for yourself. Prefer to talk first? A 30-minute demo is optional: we walk through the numbers, the forwarding and the desk with your business in mind.