Skip to content

Glossary

Dynamic Number Insertion (DNI)

A call tracking technique that swaps the phone number shown on a website per visitor, so an inbound call can be matched to the visitor's source, campaign and keyword.

Summarise this article with AI

Opens the page with a ready prompt in:

Nothing is sent until you pick a service.

In short

Dynamic number insertion (DNI) is the call tracking technique that swaps the phone number displayed on a website for each visitor. A script replaces the number in the page with one from a pool, the pool number is tied to that visitor's session, and when the visitor calls, the call is matched to everything the session knew: the source, the campaign, the ad, the keyword, the pages visited.

Without it a call is a call. With it a call is a conversion from a specific Google Ads keyword, which for a business whose leads pick up the phone is the difference between knowing which ads work and guessing.

How Dynamic Number Insertion Works

  1. A visitor lands on the site. The tracking script records the source, campaign, click ID and landing page.
  2. The script takes a number from a pool and swaps it into every place the phone number appears, for that visitor's session.
  3. The visitor calls the number. The call is forwarded to the real business line; the caller notices nothing.
  4. The call is matched to the session that was shown that number, and inherits its source, campaign and keyword.
  5. The call becomes a conversion: recorded, attributed, and sent to the ad platforms like a form fill would be.

The pool has to be large enough that two visitors are not shown the same number at the same time. A busy site needs more numbers than a quiet one; the tracker rotates them and frees a number when its session ends.

Fixed Numbers for Offline Sources

A visitor who never reaches the website cannot be shown a swapped number. Offline sources get a fixed tracking number each: one on the Google Business Profile, one in the print ad, one on the van, one on the radio spot. A call to that number is attributed to that source, without a session. Both kinds run side by side, so calls from ads, from the profile and from the flyer sit in one report.

  • Dynamic: the website

    A number per visitor session, inheriting source, campaign, keyword and pages. For every call that starts with a click.

  • Fixed: the offline source

    A number per channel, printed or listed once. For the Business Profile, print, radio, events and vans.

What the Call Inherits

  • Source, campaign, ad and keywordThe attribution data of the session that saw the number, down to the search term on Google Ads.
  • The click IDWith the gclid or fbclid on the call, a qualified call can go back to Google or Meta as a conversion. See click ID.
  • A recording and a summaryCall tracking tools record the call and, increasingly, summarise it, so a booked job and a wrong number are told apart before the count reaches the ad platform.

Limits and Pitfalls

  • Numbers cached by the browser or memorised by a repeat caller can be dialled outside a session, so the match falls back to the last session that saw the number.
  • Google Business Profile and directory listings need the fixed number, not the swapped one, or the profile shows a different number than the site.
  • A pool that is too small assigns one number to two concurrent visitors, and one of the calls is misattributed.
  • Porting the real business number is unnecessary: the tracking numbers forward to it.

Conclusion

Dynamic number insertion turns a phone call into a tracked conversion by swapping the number per visitor and matching the call to the session. Pair it with fixed numbers for offline sources and the phone becomes a channel you can attribute, report and send back to the ad platforms like any other. See phone call leads for the lead gen case.

95%+ data accuracy, even with ad blockers and iOS

See which ads really created your leads

Connect your ad accounts and your CRM once, and every lead arrives with the campaign that created it already attached.

LeadJourney dashboard showing lead sources, campaign performance and attributed revenue side by side