Dynamic Number Insertion (DNI)
Also known as: DNI, dynamic phone number insertion, number swapping
Dynamic number insertion (DNI) is a script that swaps the phone number shown on your website based on how each visitor arrived, so calls can be attributed to a source without a separate number per visitor.
Dynamic number insertion (DNI) is a small JavaScript snippet that changes the phone number displayed on your website depending on the visitor’s traffic source. A visitor from a Google Ads click sees one number; an organic visitor sees another; a visitor from your email campaign sees a third. When any of them calls, the platform already knows which source the number was assigned to.
DNI is what makes session-level and keyword-level attribution possible without buying a unique number for every visitor. Read the full breakdown in our guide to dynamic number insertion.
Frequently asked questions
How is DNI different from a static tracking number?
A static tracking number is printed on one channel (a billboard, a flyer, a single ad) and every call to it maps to that one source. DNI instead serves numbers dynamically to website visitors, which is how PPC keyword attribution works. Most setups use both: static numbers for offline channels and DNI for the website.
How many numbers does DNI need?
Far fewer than the number of visitors. A pool of numbers is rotated among concurrent visitors and reclaimed after each session, so a small pool can attribute a large volume of traffic. Pool size depends on how many people are on the site at the same time, not total monthly visits.
What is a dynamic phone number?
A dynamic phone number is one shown to a website visitor by DNI and swapped based on how they arrived. Two people on the same page can see different numbers, which is what lets a call be traced to a specific source, campaign, or keyword.
Related terms
Track the calls your marketing earns
End the uncertainty of marketing campaigns with Analytic Call Tracking.
Try FREE for 15 daysNo credit card required – Cancel anytime.