The Website Call Tracking Problem
Your website is often the last touchpoint before a customer calls. They search on Google, click through to your site, read about your services, and then pick up the phone. Google Analytics shows a session that bounced with no conversion. Your marketing reports are incomplete.
Website call tracking solves this by connecting phone calls back to the specific website session that generated them. You can see not just that a call came from your website, but which page the visitor was on, how they got there, and what they looked at before calling.
How Website Call Tracking Works
The technology behind website call tracking is Dynamic Number Insertion (DNI). Here's the flow:
- A visitor lands on your website from any source — Google, Facebook, direct, referral, etc.
- A JavaScript snippet on your site detects the visitor and their traffic source
- The script requests a tracking number from a pool and displays it on your site instead of your real number
- If the visitor calls, the system knows exactly which session, source, and pages were involved
- After the session expires, the tracking number returns to the pool for reuse
Track Every Call From Your Website
One line of JavaScript. Every visitor gets a unique tracking number.
Setting Up DNI with CallScaler
Step 1: Create a Number Pool
In CallScaler, create a number pool with enough numbers to cover your concurrent website visitors. A good starting point:
- Small websites (under 100 daily visitors): 4-6 numbers
- Medium websites (100-1,000 daily visitors): 8-15 numbers
- Large websites (1,000+ daily visitors): 15-30 numbers
The pool doesn't need a number per visitor — just enough to cover visitors who are on your site simultaneously. Numbers are recycled as sessions expire (typically after 30 minutes of inactivity).
Step 2: Install the JavaScript Snippet
Add CallScaler's DNI snippet to your website, just before the closing body tag. The snippet is lightweight (under 5KB gzipped) and loads asynchronously so it doesn't impact page speed.
It works with all website platforms: WordPress, Shopify, Wix, Squarespace, Next.js, custom HTML, and single-page applications.
Step 3: Configure Number Swapping
Tell CallScaler which phone number(s) on your website to swap. You can target numbers by:
- Exact match — Swap a specific number wherever it appears on the page
- CSS selector — Swap numbers inside specific HTML elements
- All numbers — Automatically detect and swap all phone numbers on the page
The swap updates both the visible text and any click-to-call href attributes, ensuring everything works correctly on mobile devices.
What Data You'll See
Once DNI is active, every call from your website includes:
- Traffic source — Google Organic, Google Ads (with keyword), Facebook, Direct, Referral, etc.
- Landing page — The first page the visitor saw
- Page that triggered the call — The page they were viewing when they called
- Pages viewed — The full session path before calling
- Time on site — How long they browsed before picking up the phone
- Device and browser — Mobile, desktop, tablet
- Geographic location — City and state based on IP and caller ID
Integrating with Google Analytics
CallScaler can push call events to Google Analytics 4, making phone calls visible alongside all your other website analytics. You can create audience segments like "visitors who called" and analyze their behavior compared to non-callers.
This integration also enables you to include phone calls in attribution models, giving you a complete picture of the customer journey even when it moves from online to offline.
Common Questions
Does DNI slow down my website?
No. CallScaler's script loads asynchronously and the number swap happens in milliseconds. It has no measurable impact on page load time or Core Web Vitals scores.
Will visitors see the number change?
The swap happens so quickly that visitors don't notice it. On fast connections, the swap occurs before the page is fully rendered. On slower connections, there might be a brief flash, but this is rare and doesn't affect user experience.
What about cached pages?
The DNI script runs fresh on every page load, even if the HTML is cached. This ensures each visitor session gets the correct tracking number regardless of caching.
Start Tracking Website Calls Today
Website call tracking with DNI is one of the highest-impact additions you can make to your analytics setup. It transforms phone calls from a black box into a fully attributed, trackable conversion. With CallScaler, setup takes under 10 minutes and you'll start seeing data with your very first call.