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
- A visitor lands on the site. The tracking script records the source, campaign, click ID and landing page.
- The script takes a number from a pool and swaps it into every place the phone number appears, for that visitor's session.
- The visitor calls the number. The call is forwarded to the real business line; the caller notices nothing.
- The call is matched to the session that was shown that number, and inherits its source, campaign and keyword.
- 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.
Keep exploring
Related glossary terms
Click ID (gclid, fbclid, msclkid)
A unique identifier an ad platform appends to the landing page URL when someone clicks an ad. It is the key that lets a conversion, even one that happens weeks later in a CRM, be matched back to the exact click.
Read the definition7 min read
Offline Conversion Tracking
Sending conversions that happen outside the browser (phone calls, CRM stage changes, signed contracts) back to the ad platforms, so their algorithms learn from buyers instead of form fillers.
Read the definition6 min read
Lead Source
The CRM field that records which channel or campaign a lead came from. It is what every revenue-by-channel report groups on, and in most CRMs it is filled by whatever touched the record first, which is why it so often says Direct or Website.
Read the definition7 min read
95%+ data accuracy, even with ad blockers and iOS
See which ads really created your
Connect your ad accounts and your CRM once, and every lead arrives with the campaign that created it already attached.


