Articles on: Integrations

Google Ads call extensions vs. website DNI tracking: two separate setups

If you run Google Ads and have a phone number on your website, customers can call you in two different ways.

Nimbata tracks both, but through separate setups.


1. Website calls (tracked via DNI)


A website call happens when someone clicks your Google ad, lands on your website, sees your phone number on the page, and calls it.


The customer's journey: Ad click > your website > phone number on page > call.


The DNI script detects the gclid parameter in the URL, swaps your phone number for a Nimbata tracking number, and records the call with full campaign attribution.


  • Tracking number source: Online Paid (or a Google Ads swap group)
  • Only shown to visitors who arrived from a paid click
  • Requires the DNI script installed on your website


2. Call extension calls, tracked via a dedicated number


The customer's journey: Ad with phone number → call directly from search results.

The caller never visits your website, so the DNI script never runs.

The number shown in your ad must itself be a Nimbata tracking number.


  • Tracking number source: Google Ads Call Extension
  • Not connected to your DNI script
  • Requires placing the Nimbata number directly in your Google Ads call asset


Why they are independent


Website call

Call extension call

Customer visits your website first

Yes

No

DNI script runs

Yes

No

gclid parameter is used

Yes

No

Tracking number shown on your site

Yes - dynamically inserted

N/A - number is in the ad itself

Source in Nimbata

Online Paid (or Google Ads swap group)

Google Ads Call Extension

Nimbata setup required

DNI script + swap group

Separate tracking number added to Google Ads call asset


Setting up one does not cover the other.


The most common symptom


  • You set up DNI.
  • Calls appear in Nimbata.
  • Calls shown as conversions in Google Ads are missing from Nimbata.
  • Those calls came directly from the call extension.
  • The DNI script never ran because the caller never visited your site.


The reverse also happens; call extension tracking is set up but no session data is attached to any calls, because there was no website session.


Check what you currently have


Website DNI:

  • Go to Tracking > Tracking Code.
  • Look for a swap group with source set to Google Ads or Online Paid.
  • Verify by visiting your site with ?gclid=test in the URL.
  • If the number swaps, DNI is active.


Call extension:

  • Go to Tracking > Numbers.
  • Look for a number with source set to Google Ads Call Extension.
  • Confirm that exact number appears in Assets > Call inside your Google Ads campaign.


Set up both


Website DNI (calls from your website):


Detailed Guide: DNI script 101: how to install and configure it


Call extension (calls directly from your ads):

  • Go to Tracking > Numbers.
  • Get a separate tracking number sourced as Google Ads Call Extension.
  • Assign it to a call flow.
  • In Google Ads, go to Admin > Account settings > Call reporting and turn it on.
  • Go to Assets > Call and enter this Nimbata number as the phone number for the call asset.


Detailed Guide: Google Ads call extensions and call ads: how to track calls with Nimbata


Do I need both?


If your ads never show a phone number directly, you only need DNI.

If you use call extensions or call-only ads, you need both.

Running only DNI while call extensions are active means those calls will show in Google Ads as conversions but won't appear in Nimbata at all.


A note on tracking number sources


Online Paid numbers are candidates for DNI swapping.

The script will show them to qualifying visitors.


Google Ads Call Extension numbers are never injected by the DNI script.

They are static numbers placed in your ad assets and only receive calls if that exact number is in your call asset.


If you assign a call extension number to a DNI swap group (or vice versa), neither will work as expected.


Detailed guide: How to set up swap groups

Detailed guide: Google Ads integration: how to set it up in Nimbata

Troubleshooting: Tracking number not swapping: full troubleshooting guide


Updated on: 07/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!