> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.nimbata.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 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](https://app.nimbata.com/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](https://app.nimbata.com/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):
* Go to [Tracking > Numbers](https://app.nimbata.com/tracking/numbers).
* Get a tracking number sourced as **Online Paid**.
* Install the DNI script on your website.
* Configure a swap group under [Tracking > Tracking Code](https://app.nimbata.com/tracking/tracking-code).
* Assign the number to a call flow.

Detailed Guide: [**DNI script 101: how to install and configure it**](https://help.nimbata.com/en/article/dni-script-101-how-to-install-and-configure-it-1l7zt51/)

**Call extension** (calls directly from your ads):
* Go to [Tracking > Numbers](https://app.nimbata.com/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**](https://help.nimbata.com/en/article/google-ads-call-extensions-and-call-ads-how-to-track-calls-with-nimbata-oh2ea3/)

### 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**](https://help.nimbata.com/en/article/how-to-set-up-swap-groups-1kng9t9/) 
Detailed guide: [**Google Ads integration: how to set it up in Nimbata**](https://help.nimbata.com/en/article/google-ads-integration-how-to-set-it-up-in-nimbata-1su24zl/) 
Troubleshooting: [**Tracking number not swapping: full troubleshooting guide**](#)
