DNI, Tracking Tags/Snippets, and Number Pools
Location: Integrations → Snippets, Numbers → Number Pools, Reporting / Call Tracking
Use Case: Attribute website calls back to visitor sessions, campaigns, and ad clicks
Summary
Moja’s Dynamic Number Insertion (DNI) system connects website visitor sessions to inbound phone calls. It uses a website tracking tag/snippet, a number pool, and call attribution data so customers can understand which landing pages, campaigns, and ad clicks produced each call.
In the portal, the website tracking script may appear as a Tracking Tag or a Snippet. Both terms refer to the JavaScript installed on a landing page to capture visitor-session data and power DNI attribution.
This same session context also powers Moja’s ad platform conversion uploads, including Google Ads and Meta Ads. For Google Ads, the tag/snippet captures click identifiers such as gclid, gbraid, or wbraid. For Meta, the tag/snippet can capture Meta click and browser identifiers such as fbclid, _fbc, and _fbp. When DNI assigns that visitor a trackable number and the visitor calls, Moja can connect the call back to the original ad click or visitor session and upload qualified call conversion events to the connected ad platform.
Why This Matters
Without DNI, a website call may be tracked as a phone call but still miss the visitor-session context needed for campaign attribution.
DNI enables customers to:
Connect inbound calls to landing-page sessions
Attribute calls to campaigns, referrers, UTM parameters, and ad click IDs
Use number pools instead of a single static website number
Measure which sources generate real phone conversations
Power Google Ads and Meta Ads conversion uploads when supported click/session identifiers are captured
What's Included
Tracking Tags / Snippets — JavaScript installed on landing pages to capture visitor-session data
DNI / Dynamic Number Insertion — replaces website phone numbers with Moja tracking numbers
Number Pools — groups of tracking numbers used for visitor-specific number assignment
Session Attribution — connects calls to UTM parameters, referrer, browser data, and click IDs
Cross-Domain Tracking — supports linked domains when visitors move across multiple sites
Reporting Visibility — makes attribution data visible in call tracking reports and call logs
How It Works (End-to-End)
A visitor lands on the website — The visitor arrives from an ad, campaign, search result, referral, email, or another traffic source.
The Moja tag/snippet loads — The script captures visitor-session data such as UTM parameters, referrer, browser data, and supported click identifiers.
DNI assigns a number — Moja selects a tracking number from the configured number pool and replaces the target phone number on the page.
The visitor calls — The call routes through the dynamically inserted Moja number.
Moja connects the call to the session — The call is tied back to the visitor session and attribution data captured by the tag/snippet.
Reporting and integrations use the attribution — The call can appear with tracking IDs, campaign context, and conversion data in Moja reporting and connected integrations.
Feature Details
Tracking Tags / Snippets
What the tag/snippet does
The tag/snippet is the JavaScript installed on the landing page. It captures visitor-session data and enables Moja to connect the eventual call back to the website visit.
Where it is installed
Copy the snippet code from Moja and paste it into the <head> section of the landing page.
Common fields in Moja
Snippet Name — the label used to identify the snippet
Campaign (Default) Number — the fallback/default number used for the campaign
Number to Replace — the static website number that should be replaced
Number Pool — the pool of Moja tracking numbers used for DNI
Linked Domains — optional domains used to maintain visitor IDs across multiple sites
DNI / Dynamic Number Insertion
What DNI does
DNI replaces a website phone number with a Moja tracking number from a number pool. This allows each visitor session to be tied to a specific phone number during the visit.
Why DNI matters
Static numbers usually do not carry website visitor-session data. DNI is what lets Moja connect the visitor’s session, source, and click identifiers to the call they place.
Number Pools
What a number pool does
A number pool is a group of tracking numbers available for dynamic assignment. When traffic increases, number pools help maintain attribution accuracy by giving visitors trackable numbers from the pool.
What customers should check
The number pool is assigned to the correct snippet
The pool has enough numbers for expected traffic volume
The snippet is replacing the intended website number
Enable Number Replacement is turned on
How to Set It Up
1. Create or Confirm a Number Pool
Go to Numbers → Number Pools.
Create a new pool or select an existing pool.
Choose the number type and pool size needed for the expected landing-page traffic.
Confirm the numbers are provisioned and available.
2. Create or Edit a Snippet
Go to Integrations → Snippets.
Create a new snippet or edit an existing snippet.
Enter a clear Snippet Name.
Select the Campaign (Default) Number.
Enter the Number to Replace exactly as it appears on the website.
Select the appropriate Number Pool.
Turn on Enable Number Replacement.
If needed, configure Linked Domains for cross-domain tracking.
3. Install the Snippet on the Landing Page
Copy the snippet code from Moja.
Paste the code into the
<head>section of every landing page that should use DNI.Publish the website changes.
Open the landing page and confirm the phone number is replaced correctly.
4. Test Attribution
Visit the landing page using a URL with test tracking parameters.
Confirm the website number is replaced with a Moja tracking number.
Place a test call.
Review the call in Moja to confirm the attribution data is present.
Ad Platform Setup Note
If you plan to use Google Ads or Meta Ads conversion uploads, make sure the relevant ad platform tracking is enabled and that your Moja tag/snippet is installed on every landing page receiving paid traffic.
For Google Ads, enable auto-tagging so Moja can capture gclid, gbraid, or wbraid.
For Meta Ads, make sure Meta click/browser identifiers such as fbclid, _fbc, and _fbp can be captured on the landing page.
Without the tag/snippet and DNI number assignment, Moja cannot reliably send website-call conversions to Google Ads or Meta Ads.
Where This Lives in the UI
Snippets / DNI → Integrations → Snippets
Snippet Code → Edit Snippet → copy code into the landing page
<head>sectionNumber Pool Assignment → Edit Snippet → Number Pool
Cross-Domain Tracking → Edit Snippet → Linked Domains
Number Pools → Numbers → Number Pools
Attribution Reporting → Reporting / Call Tracking
Verifying Attribution in Reporting
Use Reporting / Call Tracking and call details to confirm whether DNI attribution is working.
Useful labels may include:
Tracking IDs — captured tracking identifiers associated with the call
WITH GCLID / Click ID — calls with a captured Google or supported ad click identifier, where available
CONVERSIONS — calls counted as conversions
UPLOADED — conversions uploaded to the connected ad platform
Conversion Value | Type — conversion value and conversion type shown in reporting tables
Troubleshooting
The phone number is not being replaced
Confirm the snippet is installed in the landing page
<head>.Confirm Enable Number Replacement is turned on.
Confirm the Number to Replace matches the number shown on the website.
Confirm a Number Pool is selected and has available numbers.
Clear cache or test in a fresh browser session.
The wrong number is being replaced
Review the Number to Replace value in the snippet.
Make sure the snippet is only targeting the intended website number.
If multiple phone numbers appear on the page, confirm which number should be replaced and which should stay static.
Calls are tracked but missing attribution
Confirm the visitor called the dynamically inserted number, not a static number.
Confirm the snippet loaded before the visitor placed the call.
Confirm the landing-page URL preserved UTM parameters and click identifiers.
If visitors move across domains, review Linked Domains.
Ad platform conversions are not uploading
For Google Ads, confirm the call has a supported Google click identifier:
gclid,gbraid, orwbraid.For Meta Ads, confirm the landing page captured Meta identifiers such as
fbclid,_fbc, or_fbp.Confirm the Moja tag/snippet is installed on the ad landing page.
Confirm DNI assigned the visitor a trackable Moja number before the call.
Confirm the relevant ad platform integration is connected and configured in Moja.
For the full Google Ads workflow, see Google Ads Integration: Conversion Postbacks with Snippets & DNI.
Backward Compatibility & Safety
Existing static numbers can still receive and track calls in Moja.
DNI only affects pages where the tag/snippet is installed and configured to replace a number.
Number replacement should be tested before relying on attribution for paid campaign optimization.
Ad platform conversion uploads require attribution data and a valid connected integration setup.
In short: tracking tags/snippets capture the visitor session, number pools power DNI, and DNI connects website calls back to the traffic source that generated them.