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

brightplumbing.com

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.

  1. Add one line of code

    Paste the script, or install it with Google Tag Manager or the Nimbata WordPress plugin.

    1Install

  2. 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

  3. 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.

  • Google Ads
  • Microsoft Ads
  • Meta Ads
  • LinkedIn Ads
  • Organic search
  • Email campaigns
  • UTM parameters
  • Keywords
  • Landing pages
  • Referral sites
  • Visitor location
  • Service line
  • Custom cookies
  • Single-page apps

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.

  1. Before the call

    Visitor sees a tracking number

    The number is tied to the ad, keyword and page that brought them in.

  2. During the call

    Your team hears the source

    With Call Whispers, agents know the campaign before they say hello.

  3. 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 numbersDynamic number insertion
Best forPrint, radio, TV, Google Business ProfileWebsites, paid search, social and email traffic
Attribution levelChannel or campaignVisitor, campaign, keyword and landing page
Numbers neededOne per channelA pool sized to your traffic
SetupPrint the numberInstall 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
Part of Call Tracking