Dynamic number insertion, or DNI, is a call tracking method that changes the phone number shown on a website based on where a visitor came from. It helps connect each phone call to the right ad, keyword, campaign, or traffic source.

This matters when phone leads are a big part of the sales process, but the source of each call is unclear. Without dynamic number insertion, it is difficult to know whether a Google Ads campaign, a Facebook ad, an email link, or organic search led to that phone call.

This guide is for PPC marketers, marketing agencies, multi-location businesses, and teams that rely on inbound phone leads. It also covers how DNI works, when to use it, common setup issues, and the best practices that keep tracking accurate.

Summary

  • Dynamic number insertion (DNI) is a call tracking method that changes the phone number shown on a website based on the visitor’s source. It helps connect each phone call to the right marketing campaign, channel, keyword, or landing page.
  • Unlike static call tracking numbers, DNI gives deeper call attribution across campaigns and traffic sources.
  • DNI is useful for PPC campaigns, SEO campaigns, multi-location brands, marketing agencies, and businesses that rely on inbound phone leads.
  • A good setup depends on proper number pooling, clear source rules, a fallback number, and regular testing.
  • When paired with call analytics, call recordings, call transcripts, CRM reporting, and Google Analytics, DNI becomes more useful for lead tracking and conversion data.
  • AvidTrak delivers cost-effective solutions, expert support, and attribution-driven tools, helping marketing agencies and businesses accurately trace which keywords, ads, or sources drive inbound phone calls, while managing both simple call flows and complex routing strategies at scale.

What Is Dynamic Number Insertion Call Tracking?

Before you start plugging in tracking numbers and analyzing reports, it’s important to understand how dynamic number insertion technology works and why it’s such a game-changer for connecting digital marketing campaigns to phone calls.

How Dynamic Number Insertion Works

Dynamic number insertion works by using a website script and a pool of tracking numbers to show each visitor a source-specific number and preserve call attribution when they place a phone call.

Here’s how dynamic number insertion works behind the scenes:

  1. A visitor lands on your website from a source such as Google Ads, a Facebook ad, an email link, a social post, or organic search.
  2. A call tracking script on your web page reads source data, such as UTM parameters, referral details, or session data, to identify where the visitor came from.
  3. The default phone number on the page is replaced with a dynamic phone number from your pool of tracking phone numbers. That number is tied to the visitor’s ad source, marketing campaign, keyword, or landing page.
  4. If the visitor makes a phone call, the call tracking platform logs the call against that source, giving you cleaner call attribution and more accurate conversion data.

In many setups, the same dynamic phone number can also stay assigned to a returning visitor through cookies or session logic. That helps preserve attribution if someone visits a landing page, leaves, and later comes back to call from the same device.

This is what makes dynamic call tracking useful for multi-channel attribution, campaign-level attribution, and lead tracking across web pages that generate inbound phone leads.

What is the Difference Between Static and Dynamic Tracking Numbers

Static and dynamic call tracking serve different purposes. The main difference is how much attribution detail you need from each phone call.

Static tracking numbers stay the same. One phone number is assigned to one source, campaign, or placement, and every visitor sees that same number.

Dynamic tracking numbers vary by the visitor’s source, session, keyword, or landing page. That gives you more precise call attribution across digital marketing campaigns.

Here’s a simple comparison:

Best for

  • Static call tracking: simple source-level tracking
  • Dynamic number insertion: detailed visitor and campaign tracking

Attribution depth

  • Static call tracking: channel-level or campaign-level attribution
  • Dynamic number insertion: session-level, keyword-level, and ad-level attribution

Setup

  • Static call tracking: simpler, with fewer call tracking numbers
  • Dynamic number insertion: needs a call tracking script and number pooling

Best fit

  • Static call tracking: lower traffic or simpler campaigns
  • Dynamic number insertion: PPC campaigns, multi-channel attribution, and larger lead tracking setups

When to Use Dynamic Number Insertion Instead of Static Call Tracking

Use static call tracking when you only need to know which broad source drove the phone call. That works well for simpler campaigns and offline attribution.

Use dynamic number insertion when you need to know which keyword, PPC ad, landing page, or ad source drove the call. It is the better choice for Google Ads, SEO campaigns, marketing agencies, multi-location businesses, and teams that want cleaner conversion data.

Key Benefits of Using DNI

Dynamic number insertion does more than swap phone numbers on a web page. It helps connect each phone call to its marketing source and gives teams clearer conversion data.

Here’s where that matters most:

Accurate Attribution of Phone Calls

DNI shows which keywords, ads, landing pages, and traffic sources lead to inbound calls. That makes call attribution much clearer, especially when several marketing and advertising campaigns are running at once.

Instead of treating every phone call the same, your team can see which sources are driving qualified leads and which ones are not.

Better Budget Decisions

When phone calls are tied to the right Google Ads campaign, PPC ad, or ad source, it becomes easier to adjust ad spend based on actual phone conversions. That helps teams shift budget toward campaigns that bring in stronger leads.

Better Routing and Local Relevance

DNI can show a local phone number or a toll-free number based on the visitor’s geographic location, landing page, or campaign. That makes the inbound call flow more relevant to the caller and can support better routing.

For multi-location businesses, this can help send calls to the right office, sales team, or customer service team while keeping attribution data intact.

Stronger Reporting and Lead Quality Analysis

When DNI is paired with call analytics software, call recordings, call transcripts, and CRM reporting, it becomes easier to review lead quality, call scoring, and campaign performance. You are not just counting calls. You are looking at which calls turned into useful leads.

That gives marketing agencies, sales teams, and business owners a better way to connect lead data, conversion goals, and campaign-level attribution.

Use Cases Where DNI Shines

Dynamic number insertion is most useful when several campaigns, channels, or locations can lead to the same phone call. In those cases, DNI connects the call to the right source instead of lumping everything together.

PPC Campaigns and Keyword-Level Tracking

For paid media teams, DNI shows which Google Ads keywords, ad groups, and landing pages are generating inbound phone calls. That gives you more accurate call attribution than broad campaign tracking alone.

This is useful when you need to tie a phone call to the exact PPC ad, keyword level, or landing page that led to the conversion and make better ad spend decisions from that data.

Multi-Channel Marketing

If you run campaigns across email, paid social, display, and organic search, DNI helps you separate which channels are generating phone calls rather than just clicks. That gives a clearer view of conversion tracking across channels.

This matters when several marketing channels are active at the same time, and you need to see which ones are actually driving inbound phone leads.

Multi-Location or Franchise Businesses

For regional brands and franchise businesses, DNI can show a local phone number based on the visitor’s location, landing page, or campaign. It can also support cleaner routing by market or territory.

That makes it easier to measure campaign performance by region and connect callers to the right office or team without losing attribution data.

Agencies Managing Multiple Clients

Marketing agencies can use DNI to separate call tracking and reporting by client, campaign, or channel. That makes reporting cleaner across several accounts.

It is especially helpful for white-label reporting, client dashboards, and showing which marketing tactics are generating phone leads for each client.

High-Consideration Service Businesses

Businesses in legal, healthcare, home services, and automotive often rely heavily on inbound phone calls because the buyer usually wants to speak to someone before making a decision. In these cases, phone leads are a major part of lead tracking.

DNI helps connect those calls back to the campaigns, landing pages, and ad sources that are bringing in stronger leads.

When to Use Dynamic Number Insertion

Dynamic number insertion is the better choice when you need detailed call attribution, not just basic source tracking.

Use dynamic number insertion when you want to:

  • track phone calls from Google Ads, paid social, email, and SEO campaigns
  • measure calls at the keyword, ad, or landing page level
  • support multi-channel attribution across several campaigns
  • handle higher traffic with number pooling
  • report by client, campaign, or channel as a marketing agency
  • track calls across regions, offices, or franchise locations

Use static call tracking numbers when you only need simple source-level or offline attribution. That usually works for direct mail, radio, print, billboards, or a small number of broad campaigns.

In simple terms, static tracking is enough when you need only one number per source. Dynamic number insertion is better when you want a clearer view of which marketing tactics are driving each phone call.

Dynamic Number Insertion (DNI)

Potential Challenges and How to Overcome Them

Dynamic number insertion works well when the setup is clean. Most problems come from number pooling, tracking setup, privacy handling, or testing gaps.

Number Pool Management

If very few tracking phone numbers are available, attribution data can get mixed between visitors. This usually happens when the number pool is too small for concurrent traffic.

  • size the pool based on peak concurrent traffic, not total monthly traffic
  • watch traffic patterns across key landing pages
  • add extra numbers during heavier campaign periods

Data Privacy and Consent

Some regions require consent for call recording, cookies, or lead tracking. This should be handled clearly at the website and call level.

  • add a visible privacy or consent notice where needed
  • use a pre-call message if call recording laws require it
  • keep privacy policy language up to date with your tracking setup

What to Do:

Add a short, visible banner or pre-call audio message communicating call tracking and consent.

Implementation Complexity

DNI setup can break down when source rules are unclear or when fallback logic is missing. A simpler rollout usually works better.

  • start with one source, such as Google Ads
  • define how calls should be tracked before launch
  • set fallback behavior for visits with no UTM tags or referrer data

SEO Concerns

DNI should not replace core business phone numbers in places where consistency matters for SEO. The swapping should happen only in the visible page layer for eligible visitors.

  • keep your main business number consistent in schema and listings
  • exclude search engine crawlers from seeing swapped numbers
  • review local landing pages carefully if NAP consistency matters

Best Practices for Effective DNI Setup

DNI works best when the setup matches the level of attribution you actually need. A clean setup helps keep call attribution accurate, protects reporting quality, and reduces tracking errors.

1. Define Your Attribution Level First

Decide what you want to track before adding any DNI scripts. That could be channel-level, offline campaigns, keyword-level, or landing page-level attribution.

The more detail you want, the more important your setup rules, naming conventions, and number pool structure become.

2. Size Your Number Pool for Concurrent Traffic

Number pooling should be based on concurrent visitors, not total monthly traffic. If too few tracking phone numbers are available at the same time, attribution data can get mixed.

Review peak traffic patterns and adjust the pool before larger campaigns go live.

3. Keep a Fallback Number in Place

Not every visitor will arrive with a clean UTM tag or referrer. A fallback number gives you a consistent default when source data is missing.

This helps preserve call flow and avoids broken tracking on direct visits or untagged traffic.

4. Test Every Swap Target

Do not test only the main phone number in the header. Check headers, footers, landing pages, buttons, and click-to-call links.

If the visible text changes but the link does not, conversion tracking can break.

5. Protect SEO and NAP Consistency

Keep your main business phone number consistent in schema markup, directory listings, and core business profiles. Use DNI only in the visible page layer for the right sessions.

This helps avoid SEO issues on local landing pages and keeps your business information stable.

6. Use Bot-Safe Rules

Search engines should not serve swapped tracking numbers meant for human visitors. Bot-safe rules help keep crawlers on the default number while real users see the dynamic phone number tied to their source.

7. Align DNI With Analytics and Conversion Setup

DNI data should match your Google Analytics, GA4, and ad platform conversion setup. If call attribution and conversion actions are not aligned, reporting becomes harder to trust.

This matters most when phone calls are a core conversion goal in PPC campaigns and multi-channel reporting.

8. Audit After Site Changes

Check your DNI setup after a site redesign, a CMS update, a plugin change, or a template edit. Even a small front-end change can stop numbers from swapping correctly.

A short audit after each site update can catch issues before they affect call tracking and campaign reporting.

How to Test and Troubleshoot DNI

Test dynamic number insertion before launch and after any site or campaign change. A small issue in the script, page caching, or click-to-call setup can break call attribution without being obvious.

Check these first:

  • confirm the call tracking script is installed on every relevant page
  • test the page as the actual traffic source
  • make sure the visible phone number swaps correctly
  • confirm click-to-call links update too, not just the number text
  • check caching plugins or CDN settings if the wrong number keeps showing
  • test the fallback number for visits with no UTM tags or referrer data 

Technical Components of DNI

Dynamic number insertion depends on three core parts: a call tracking script, source detection rules, and a pool of tracking phone numbers. Together, they make it possible to swap the visible number on a web page and tie the phone call back to the right source.

Tracking Scripts

A call tracking script is added to your website so the system can detect where a visitor came from and decide which dynamic phone number to show.

It usually reads:

  • UTM parameters from Google Ads, email, or other tagged links
  • referral data from search engines, web pages, or ad campaigns
  • session details such as landing page or device type

Cookie or session logic can also help keep the same number visible for a returning visitor during the attribution window.

Source Detection Methods

Once the script loads, the next step is identifying the ad source or traffic source tied to that visit.

That can include:

  • UTM values such as campaign, medium, and keyword
  • referral URLs from search, display, or partner traffic
  • session-based rules tied to visitor tracking
  • device or landing page conditions
  • ad-level data used for call attribution

This is what helps the system assign the right number and produce cleaner attribution data.

Unique Phone Numbers Pool

A number pool is the group of call tracking numbers used for dynamic number insertion. The system pulls from that pool and assigns a number to each active visitor based on the tracking rules in place.

A strong setup usually includes:

  • enough tracking phone numbers for concurrent visitors
  • number rotation that avoids overlap
  • a mix of local phone number or toll-free numbers, depending on the campaign

The key point is that pool size should reflect concurrent traffic, not total monthly traffic. If too few numbers are available simultaneously, call tracking and conversion data can become less accurate.

How AvidTrak Supports DNI Setup and Optimization

AvidTrak helps businesses set up dynamic number insertion without overcomplicating the process. 

AvidTrak supports both simple call-tracking setups and more detailed attribution tied to campaigns, keywords, and landing pages.

Easy Setup and Integration

AvidTrak provides a call tracking script that can be added across relevant web pages and landing pages. This helps teams launch DNI faster and start tracking phone calls by source, campaign, or channel.

Cost-Effective Number Pool Management

Dynamic Number Insertion (DNI)

AvidTrak supports number pooling for businesses that need dynamic call tracking across concurrent visitors. That helps maintain cleaner attribution data when traffic levels change across campaigns.

Routing Flexibility

Routing Flexibility

AvidTrak also connects DNI with call routing options, which is useful for multi-location businesses, franchise models, and teams that need calls directed by geographic location or campaign context.

Reporting Visibility

Reporting Visibility

AvidTrak ties DNI data into call reporting, campaign reporting, and connected platforms such as Google Ads, Google Analytics, and CRM systems. That gives marketing teams and agencies a clearer view of which marketing tactics are driving inbound phone calls.

Need a Smarter Dynamic Number Insertion Setup?

Track every call to its exact source. Launch DNI with AvidTrak – fast, accurate, and built for full-funnel attribution.

If you’re planning a DNI setup, reviewing your number pool strategy, or trying to align call tracking with campaign attribution, AvidTrak can help. 

AvidTrak supports both simple and more detailed dynamic number insertion setups for businesses and agencies that rely on inbound phone leads. Sign up now to get started!

Frequently Asked Questions

What is dynamic number insertion in call tracking?

Dynamic number insertion in call tracking is a method that changes the phone number shown on a website based on the visitor’s source. It helps businesses connect each phone call to the right campaign, keyword, landing page, or channel.

How does dynamic number insertion work?

DNI works by using a call tracking script and a pool of tracking phone numbers. The script detects the visitor’s source, swaps the visible number on the web page, and keeps attribution tied to that source when the visitor places a phone call.

What is the difference between static and dynamic call tracking?

Static call tracking uses one fixed number for one source or campaign. Dynamic call tracking changes the number based on the visitor’s source, which makes it better for keyword-level, session-level, and campaign-level attribution.

How many tracking numbers do I need for DNI?

The number of tracking phone numbers needed for dynamic number insertion depends on concurrent traffic, not total monthly traffic. If several visitors land on your website at the same time, the number pool needs to be large enough to keep attribution data from overlapping.

Can dynamic number insertion hurt SEO?

Dynamic number insertion should not hurt SEO if it is set up correctly. Keep your main business number consistent in schema, directory listings, and business profiles, and use swapped numbers only in the visible page layer for eligible visitors.

How do I test whether DNI is working?

Test DNI by visiting the site through the traffic source you want to track and checking whether the correct dynamic phone number appears. You should also test click-to-call links, fallback behavior, and page caching to make sure attribution is working properly.

Does DNI work for organic search, social, and email traffic?

Yes. Dynamic number insertion can work across Google Ads, organic search, paid social, email marketing, display ads, and other tagged sources that lead visitors to your website.

What if a visitor returns later without the same UTM source?

Many DNI setups use cookies or session logic to keep the same dynamic phone number attached to that visitor during the attribution window. This helps preserve conversion tracking even if the visitor returns later and does not arrive through the same tagged link.

Neelo Faruqi

Neelo Faruqi

As VP of UX and Customer Success, Neelo Faruqi is dedicated to polishing the User Experience at AvidTrak, ensuring that both the platform’s UI and its marketing communications are clear, intuitive, and user-friendly. She draws on her extensive background in marketing research and product innovation, having held senior leadership roles at Nielsen, Sony Pictures Entertainment, and Fox, to translate complex insights into streamlined solutions. Neelo is passionate about making technology accessible by bridging design, data, and communication.