Dynamic Number Insertion (DNI) is a call-tracking technology that automatically replaces a website’s phone number with a unique tracking number based on a visitor’s traffic source or session. When the visitor calls, the tracking system can connect that call to available marketing data, such as the campaign, ad, keyword, or referral source, helping businesses measure which digital marketing activities generate phone leads.
Why Dynamic Number Insertion Matters When Phone Calls Are Conversions
A visitor clicks a Google ad, browses your website, and then calls your business. You can see the click in your advertising platform and the call in your phone system, but connecting those two events is the real attribution challenge.
Dynamic Number Insertion (DNI) helps solve that problem by changing the phone number displayed on your website based on the visitor’s traffic source or tracking session. When the visitor calls the displayed tracking number, the call can be connected to the marketing activity that brought the visitor to your site.
For businesses that generate leads by phone, this creates a valuable link between digital marketing and offline conversations. Instead of measuring clicks and calls separately, marketers can analyze how website visitors became callers.
What Is Dynamic Number Insertion?
Dynamic Number Insertion is a call-tracking technology that automatically replaces a website’s visible phone number with a tracking number selected according to a visitor’s marketing source or session.
For example, a visitor arriving through a Google Ads campaign might see one tracking number, while a visitor arriving through organic search sees another. When either visitor calls, the call-tracking system can associate the call with the relevant source or visitor data.
The important distinction is that DNI is not the entire call-tracking system. Call tracking is the broader measurement process, while DNI is the website mechanism that helps connect website visitors to tracked phone calls.
The underlying business number usually remains the destination number. The tracking number displayed to the visitor simply routes the call to that destination while allowing the call-tracking platform to record attribution information.
How Does Dynamic Number Insertion Work?
The process looks simple from the visitor’s perspective, but several technical steps happen behind the scenes.
1. A visitor arrives from a tracked source
Suppose someone clicks a paid search advertisement and lands on your website. The call-tracking system identifies information associated with that visit, such as its advertising source or other supported campaign parameters.
DNI can also be configured for other sources, including organic search, referring websites, social campaigns, and direct traffic, depending on the call-tracking platform and setup.
2. The DNI script identifies the visitor
A JavaScript snippet installed on the website handles the number replacement. The script detects the phone number that has been configured as the swap target and determines which tracking number should be displayed.
CallRail, for example, describes its DNI implementation as a company-specific JavaScript snippet added to website pages.
3. The website number is replaced
The visitor sees a tracking number instead of the standard number.
The change happens dynamically in the browser. The goal is to show the appropriate tracking number to that visitor without requiring the business to create a separate version of every webpage for every campaign.
The technical implementation can also account for phone numbers presented as clickable telephone links, images, or other website elements, although some formats require additional configuration.
4. The visitor calls the tracking number
The visitor may not notice anything unusual. They simply dial the number shown on the website.
The tracking number is associated with the call-tracking system and routes the call to the configured destination number.
5. The call is attributed and reported
The call-tracking platform can then associate the call with available visitor and marketing information.
Depending on the implementation, reports may include information such as traffic source, campaign, landing page, visitor timeline, or PPC keyword data. The exact level of detail depends on the tracking configuration and the identifiers available during the visit.
The key idea is simple:
Marketing source → website visit → dynamic tracking number → phone call → attribution
That connection is what makes DNI valuable for performance marketing.
What Is a DNI Tracking Number Pool?
A tracking number pool is a group of tracking numbers that a call-tracking system can assign to website visitors.
This matters because visitor-level tracking can require more than one tracking number. A single static tracking number can identify a particular source, while a website pool can support more granular visitor-level attribution.
Source-level tracking
Source-level tracking assigns a tracking number to a particular marketing source.
For example, a business could have one number associated with a particular campaign or source. Calls to that number can then be associated with that source.
This approach is relatively straightforward and can be useful when the business only needs channel-level information.
Visitor or session-level tracking
Visitor-level tracking is designed to provide more granular information.
Instead of treating every visitor from a source as one group, the system can assign numbers from a pool so individual website sessions can be connected with additional information.
This can support reporting involving pages visited, PPC keywords, and other visitor-level information when the necessary data is available.
Why pool capacity matters
A website pool must be configured according to the tracking requirements and traffic patterns of the site.
The important point is that DNI is not simply a matter of buying one tracking number and putting it on every page. The required configuration depends on whether you want basic source attribution or more granular visitor-level attribution.
A business should therefore determine the attribution detail it actually needs before configuring its tracking-number pool.
What Marketing Data Can DNI Connect to a Phone Call?
DNI can connect a phone call with marketing information that was captured during the visitor’s journey.
Depending on the platform and implementation, this can include:
- Traffic source
- Referring website
- Campaign
- Landing page
- Visitor timeline
- PPC information
- Keyword information
- Geographic information
- Call duration
- Call outcome or conversion data
CallRail’s current documentation, for example, distinguishes source tracking from website pools and notes that website pools can capture visitor-level information such as pages visited and PPC keywords.
However, DNI does not guarantee perfect attribution.
The available data depends on how the visitor arrived, which identifiers were available, how the tracking system was configured, and whether technical conditions allowed the tracking information to persist.
This distinction matters because “DNI can track keywords” is too broad as a blanket statement. Keyword-level reporting depends on the advertising platform, tracking setup, and data available for that particular visit.
How Dynamic Number Insertion Works With Google Ads
Google Ads is one of the most common applications for website call tracking because a business may receive phone leads after someone clicks an advertisement.
The basic journey is:
Google Ads click → website visit → dynamic number → phone call → conversion data
Google itself provides website call conversion tracking that can dynamically replace a business number on a website with a Google forwarding number for eligible advertising traffic.
Third-party call-tracking platforms can also use DNI to connect website calls with advertising activity and provide broader call analytics.
Google Ads website call tracking vs third-party DNI
| Capability | Google Ads website call tracking | Third-party DNI |
|---|---|---|
| Dynamic website number replacement | Yes | Yes |
| Google Ads attribution | Yes | Depends on integration |
| Multi-channel tracking | Primarily Google-focused | Commonly supported |
| Detailed call analytics | Available within Google Ads | Depends on platform |
| CRM integrations | Available through supported integrations | Depends on platform |
| Cross-channel attribution | Limited by platform scope | Often designed for broader attribution |
The choice depends on the measurement problem.
If the primary requirement is measuring Google Ads website calls, Google’s native tools may provide the necessary functionality. If the business needs broader attribution across multiple marketing channels or more extensive call analytics, a third-party call-tracking platform may provide additional capabilities.
The important point is to define the reporting requirement first rather than choosing a tracking system simply because it supports DNI.
Does Dynamic Number Insertion Affect SEO?
Properly implemented DNI is designed to change the phone number presented to a website visitor without requiring the business to replace its underlying business identity everywhere.
This distinction matters for businesses that depend on local search.
Your primary business phone number should remain consistent in the appropriate business information, such as your Google Business Profile, citations, and relevant structured data. A tracking number should not simply be substituted for the permanent business number across every external business listing.
The technical reason is important: dynamic browser-side replacement and permanently publishing a tracking number are two different things.
CallRail’s documentation specifically addresses NAP consistency as part of its DNI guidance.
Google’s advertising documentation also recognizes dynamic number insertion as a legitimate method for displaying and verifying phone numbers on websites.
For local businesses, the practical rule is straightforward: use DNI for visitor-level call attribution while maintaining the correct primary business number in your core business identity information.
How to Implement Dynamic Number Insertion
The exact installation process depends on the call-tracking provider and website platform.
Direct JavaScript installation
Many call-tracking systems provide a JavaScript snippet that is installed on website pages.
The script detects the configured phone number and dynamically replaces it with the appropriate tracking number.
CallRail’s current documentation describes adding its company-specific JavaScript snippet to website pages and recommends testing the installation before campaigns begin.
Google Tag Manager
Google Tag Manager can provide another way to deploy tracking scripts without manually editing every website template.
This can be useful for marketing teams that already manage analytics and advertising tags through Tag Manager.
The exact tag and trigger configuration depends on the tracking platform.
WordPress
WordPress websites can generally implement DNI through a provider’s WordPress integration, plugin, tag-management system, or direct script installation.
The safest approach is to follow the provider’s current WordPress implementation instructions rather than inserting an arbitrary third-party script into a theme file.
Phone numbers in clickable links and images
A visible phone number is not always the same thing as the actual number a visitor calls.
For example, a website might display one number while its clickable tel: link contains another number. Images can create another implementation challenge.
A complete DNI test should therefore verify both what visitors see and what happens when they tap or click to call.
CallRail’s documentation specifically notes that image swapping requires additional steps and that the DNI system detects specific phone-number formats.
Common Dynamic Number Insertion Problems
DNI failures can create a particularly dangerous problem: the website may look normal while attribution quietly stops working.
The number does not swap
First check whether the DNI script is actually loading on the page.
Then verify the swap target and phone-number formatting.
CallRail recommends testing each individual page where the script is installed rather than assuming that testing one page proves the entire website works.
The wrong number appears
Check the visitor’s source and the tracking rules assigned to that source.
Also check whether an existing visitor cookie is influencing the number displayed. Testing in a fresh private browsing session can help isolate this issue.
Cached pages interfere with swapping
Caching systems can affect how tracking scripts behave.
When diagnosing a problem, test the page in a private browser or on a device that has not previously visited the website. CallRail specifically recommends this approach when testing DNI.
The phone number is inside an iframe
Phone numbers loaded inside an iframe may require additional configuration because the tracking script may not operate on the embedded content in the same way as ordinary page content.
Multiple tracking scripts conflict
Running multiple DNI scripts on the same website can create conflicts.
CallTrackingMetrics specifically warns that more than one dynamic-number script can interfere with normal DNI operation.
If multiple analytics or call-tracking systems are installed, document which system controls the phone-number swap before troubleshooting individual scripts.
The tracking pool is insufficient
If the implementation requires visitor-level tracking, the number pool needs to be configured appropriately for the site’s traffic patterns.
A business should monitor attribution quality rather than assuming that the initial pool configuration will remain adequate forever.
What Are the Limitations of Dynamic Number Insertion?
DNI is powerful, but it is not a perfect attribution system.
The main limitations include:
- JavaScript dependency: The number replacement depends on the tracking code executing correctly.
- Identifier limitations: The available attribution data depends on what information can be captured during the visit.
- Cookie and browser behavior: Tracking systems may rely on browser storage or other mechanisms to maintain visitor context. CallTrackingMetrics notes that cookie blocking can affect session-data accuracy.
- Implementation errors: Incorrect swap targets, missing scripts, caching, and unsupported page elements can prevent successful replacement.
- Cross-device journeys: A visitor who researches on one device and calls from another may not have the same session context.
- Incomplete marketing data: A call can still occur even when some of the original campaign information is unavailable.
- Privacy requirements: Businesses must consider applicable privacy laws, consent requirements, disclosures, and their tracking provider’s current guidance.
The best way to think about DNI is therefore attribution infrastructure, not an attribution guarantee.
It improves the connection between digital activity and phone calls, but the quality of the final reporting depends on the complete measurement setup.
When Should a Business Use Dynamic Number Insertion?
DNI is particularly relevant when phone calls represent meaningful leads or sales.
It can be useful for:
- Home-service businesses
- Professional service companies
- B2B companies
- Lead-generation websites
- Agencies managing paid advertising
- Businesses investing heavily in search advertising
- Companies that need to compare marketing channels based on phone leads
It is less important when phone calls are not a meaningful conversion or when the business has no practical need to connect calls with digital marketing activity.
The best starting question is not:
“Do I need DNI?”
Instead ask:
“Do I need to know which website visitors became phone leads and where those visitors came from?”
If the answer is yes, DNI deserves consideration.
For the broader concept of measuring phone conversions, see what is call tracking.
A Practical DNI Setup Checklist
Before considering a DNI implementation complete, work through this checklist:
- Define which marketing sources you need to attribute.
- Decide whether source-level or visitor-level attribution is required.
- Choose a call-tracking platform that supports the required attribution.
- Create the appropriate tracking numbers.
- Configure the tracking-number pool when visitor-level tracking is required.
- Install the DNI script through the supported website integration, JavaScript implementation, or tag manager.
- Confirm that every important phone-number placement is covered.
- Check visible numbers and clickable
tel:links. - Test paid, organic, referral, and other important traffic sources.
- Test using a fresh browser session.
- Make test calls and verify that the calls appear in reporting.
- Confirm that marketing attribution is attached to those calls.
- Check CRM and conversion integrations if applicable.
- Monitor attribution quality after launch.
For businesses evaluating the software layer behind DNI, see call tracking software.
If CallRail is under consideration, ScorUp also has a dedicated guide to CallRail call tracking.
Frequently Asked Questions About Dynamic Number Insertion
1. What is Dynamic Number Insertion in call tracking?
Dynamic Number Insertion is a technology that changes the phone number displayed on a website based on a visitor’s marketing source or session. The displayed tracking number routes calls to the business while allowing the call-tracking system to associate the call with available marketing and visitor information.
2. How does Dynamic Number Insertion work?
A JavaScript-based tracking system identifies the relevant visitor or traffic source, selects a tracking number, and replaces the configured phone number on the webpage. When the visitor calls that number, the call can be recorded and associated with the available attribution data.
3. What is a DNI number pool?
A DNI number pool is a collection of tracking numbers that can be dynamically assigned to website visitors. Pools are useful when a business needs more granular visitor-level attribution rather than simply assigning one tracking number to an entire traffic source.
4. Can DNI track Google Ads calls?
Yes. DNI can be used to track website calls generated by Google Ads. Google also provides its own website call conversion tracking that can dynamically replace a website number with a Google forwarding number for eligible traffic.
5. Can Dynamic Number Insertion track keywords?
It can support keyword-level reporting in configurations that capture the necessary PPC and visitor information. However, keyword attribution is not guaranteed for every implementation or visitor. The available data depends on the advertising platform, identifiers, tracking configuration, and technical conditions.
6. Does DNI replace my business phone number?
DNI normally replaces the number displayed to the tracked website visitor, not the underlying business destination. The tracking number routes the call to the configured destination number.
7. Does Dynamic Number Insertion affect SEO?
Properly implemented DNI is designed to dynamically change the number presented to visitors rather than require a tracking number to replace the business’s permanent identity information. Businesses should maintain their correct primary phone number in important business listings and other core identity information.
8. Does DNI use cookies?
Some DNI implementations use cookies or similar browser-based mechanisms to preserve visitor attribution. For example, CallRail documents the use of a cookie to retain a visitor’s source and notes that CallTrackingMetrics can be affected by cookie blocking.
9. Why is my tracking number not changing?
Common causes include a missing or incorrectly installed script, an incorrect swap target, caching, testing with an existing visitor session, unsupported phone-number placement, or other tracking scripts interfering with DNI. Testing from a fresh private browser session is a useful diagnostic step.
10. Do I need DNI if I already use Google Ads call tracking?
It depends on what you need to measure. Google Ads provides its own website call conversion tracking, while third-party DNI can be useful when you need broader call analytics or attribution across multiple marketing sources. Compare the reporting and integration requirements of your measurement setup before choosing an approach.
Turn Website Calls Into Measurable Marketing Data
A phone call can be one of the most valuable actions a website visitor takes, yet it happens outside the normal click-and-form measurement flow.
Dynamic Number Insertion provides a technical bridge between those two worlds. Used correctly, it can connect website visits and marketing sources with the phone calls that follow.
The important step is not simply installing a tracking script. Define the attribution question first, then configure DNI to collect the level of information your marketing decisions actually require.
If you are building a broader call-attribution system, explore ScorUp’s guides on CallRail Google Ads integration and CallRail vs CallTrackingMetrics.
