Skip to main content

DNI, Tracking Tags/Snippets, and Number Pools

How to use Moja snippets, DNI, and number pools to attribute website calls to visitor sessions, campaigns, Google Ads, and Meta Ads identifiers.

Written by Moja Bot

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)

  1. A visitor lands on the website — The visitor arrives from an ad, campaign, search result, referral, email, or another traffic source.

  2. The Moja tag/snippet loads — The script captures visitor-session data such as UTM parameters, referrer, browser data, and supported click identifiers.

  3. DNI assigns a number — Moja selects a tracking number from the configured number pool and replaces the target phone number on the page.

  4. The visitor calls — The call routes through the dynamically inserted Moja number.

  5. Moja connects the call to the session — The call is tied back to the visitor session and attribution data captured by the tag/snippet.

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

  1. Go to Numbers → Number Pools.

  2. Create a new pool or select an existing pool.

  3. Choose the number type and pool size needed for the expected landing-page traffic.

  4. Confirm the numbers are provisioned and available.

2. Create or Edit a Snippet

  1. Go to Integrations → Snippets.

  2. Create a new snippet or edit an existing snippet.

  3. Enter a clear Snippet Name.

  4. Select the Campaign (Default) Number.

  5. Enter the Number to Replace exactly as it appears on the website.

  6. Select the appropriate Number Pool.

  7. Turn on Enable Number Replacement.

  8. If needed, configure Linked Domains for cross-domain tracking.

3. Install the Snippet on the Landing Page

  1. Copy the snippet code from Moja.

  2. Paste the code into the <head> section of every landing page that should use DNI.

  3. Publish the website changes.

  4. Open the landing page and confirm the phone number is replaced correctly.

4. Test Attribution

  1. Visit the landing page using a URL with test tracking parameters.

  2. Confirm the website number is replaced with a Moja tracking number.

  3. Place a test call.

  4. 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> section

  • Number 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, or wbraid.

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


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.

Did this answer your question?