Attribution
Dynamic Number Insertion that shows which ad made the phone ring
Every visitor sees a tracking number tied to where they came from. Every call arrives with its source, campaign and keyword.
14-day free trial · No credit card · Billed per answered call
Number this visitor sees
(555) 201-0144
Swapped for this visitor, from your pool
Call tracked · 6 min
- Visitor
- Visitor 1
- Source
- Google Ads
- Keyword
- emergency plumber
- Number
- (555) 201-0144
What is dynamic number insertion?
Dynamic number insertion (DNI) is a call tracking method that automatically replaces the phone number on your website with a tracking number tied to each visitor's session. Because Nimbata knows which number each visitor saw, every phone call can be attributed to the source, campaign, keyword and landing page that drove it.
It closes the gap between online ads and offline phone conversions, so calls count in your reporting just like form fills, and can go on to Google Analytics 4 and Google Ads as conversions.
How does dynamic number insertion work?
Install once, decide who sees which number, and every call shows up with its source.
Add one line of code
Paste the script, or install it with Google Tag Manager or the Nimbata WordPress plugin.
1Install
Pick the numbers to swap
Choose the phone number on your site to replace, then give it tracking numbers for each source, sized to your traffic. Calculate your pool size.
2Swap
See the source of every call
Calls land in Call Activity with source, campaign, keyword and page, ready for ROI reporting.
3Attribute
From first click to clear attribution
With a single line of code, configured your way.
Know what drives your calls
See which campaigns drive real conversations, from source and keyword to caller location and journey.
Know it's working
Save & Publish, then verify from your own browser. Nimbata opens your site and tells you which numbers it swapped, and the script shows Active while visits come in.
Measure ROI with precision
Connect every call to the campaign that drove it and focus budget on what truly delivers revenue.
Multiple swap groups
Swap more than one number on the same site, like your sales and service lines, each with its own tracking numbers. Show local area codes with Geo-Swap.
First or last click
Credit each call to the visitor's first source or their latest one. With first click, choose which sources win when a visitor comes back another way.
Capture calls your way
Track single-page apps with SPA mode, rewrite tel links, and attach cookie and local storage values to every call.
Track calls from any source
If it sends traffic to your website, DNI can tell you when it makes the phone ring.
Your call activity, with the source of every call
From first click to closed deal
DNI follows the caller before, during and after the call.
- Before the call
Visitor sees a tracking number
The number is tied to the ad, keyword and page that brought them in.
- During the call
Your team hears the source
With Call Whispers, agents know the campaign before they say hello.
- After the call
You see ROI by campaign
Move budget to the campaigns that bring calls, not just clicks.
Dynamic vs static tracking numbers
Static numbers tell you which channel rang. DNI tells you which visitor, campaign and keyword.
| Static numbers | Dynamic number insertion | |
|---|---|---|
| Best for | Print, radio, TV, Google Business Profile | Websites, paid search, social and email traffic |
| Attribution level | Channel or campaign | Visitor, campaign, keyword and landing page |
| Numbers needed | One per channel | A pool sized to your traffic |
| Setup | Print the number | Install the script once |
| Use together? | Yes. Use static numbers offline and DNI on your website. | Yes. Both live in the same Nimbata account. |
Who uses dynamic number insertion?
Agencies
Prove which campaigns drive calls for every client, from one account.
PPC teams
Tie calls to the exact keyword and move budget to what converts.
Multi-location
Show local numbers per region and match every call to its location.
Small businesses
Know which ads make the phone ring before spending more.
Frequently asked questions
Can Nimbata save cookie and local storage values with each call?
Yes. Add a Cookie or Local storage field in Organize > Fields, with the exact name your website sets, and the tracking script reads its value from the visitor's browser and saves it with their call. Visitors are remembered for 21 days by default, from their most recent visit, and you can change that in the tracking code's storage settings.
What is dynamic number insertion?
Dynamic number insertion is a call tracking method that swaps the phone number on your website for a tracking number tied to each visitor's session, so every call can be attributed to the campaign, keyword or page that drove it.
How many tracking numbers do I need for DNI?
It depends on your peak number of visitors on the site at the same time and how long their sessions last. The number pool calculator works it out for you.
Can I install DNI with Google Tag Manager or WordPress?
Yes. Add the script through Google Tag Manager, install the Nimbata WordPress plugin, or paste one line of code into your site's HTML.
Can DNI show local phone numbers?
Yes. With Geo-Swap, each visitor sees a number with a local area code for where they are.
Does DNI work on single-page apps?
Yes. Turn on SPA mode and the script swaps numbers again whenever the page content changes, without a full reload.
Does DNI use first-click or last-click attribution?
Either. First click is the default and credits a call to the source that first brought the visitor in, and you can set which sources take priority when they come back another way. Last click credits the latest source instead.
How long does Nimbata remember a visitor?
21 days by default, counted from their most recent visit or from their first one, and you can change it. A visitor who comes back within that time keeps their original source.
Which phone numbers on my site can DNI replace?
Any number you choose, matched by the number itself or by a span tag around it, including tel links. Each number you replace is a swap group with its own tracking numbers, and you can remove other numbers or leave chosen pages untouched.
What do visitors see if no tracking number is available?
Your site's own number. If the script can't get a tracking number, it leaves the page as it is, so visitors can always call you.
Does dynamic number insertion hurt local SEO?
No. The script swaps the number only for visitors as they browse, while your business number stays in your page's code and your listings.
Is server-side tracking required?
No. DNI runs with the one-line script on your website, with no server-side setup needed.
Which plans include DNI?
DNI is included on the Pro, Marketing and Agency plans.
Does DNI use AI?
DNI itself is a tracking script. The calls it attributes can then be summarized, tagged and rated with Nimbata AI.
Still unsure? Talk to a human
Everything you need for call tracking.
Install DNI in minutes and see where your next call comes from.
- 14-day free trial, no credit card
- Billed per answered call
- 24/7 expert support
- No long-term contracts
