# Call Tracking in India: How Dynamic Number Insertion Works

> How call tracking with dynamic number insertion (DNI) works in India: number pools, leases and cooldowns, UTM and gclid capture, how calls are matched to visits, and what it costs with no tracking fee.

Source: https://edesy.in/blog/call-tracking-india-dynamic-number-insertion-2026

**Short answer:** dynamic number insertion (DNI) is a small script on your website that shows each visitor a different phone number from a pool and remembers where that visitor came from: the UTM tags, the ad click ID (such as `gclid`), the landing page and the referrer. When they call that number, the call is credited to their visit. You finally see which campaign, keyword or page made the phone ring, not just which one got clicks.

On Edesy there is **no tracking fee**. Calls to tracking numbers are billed at the forwarding rate of **Rs 1.00 per minute**, plus monthly rental for each number in the pool. Prices exclude 18% GST. The details are on the [dynamic number insertion page](https://edesy.in/call-tracking/dynamic-number-insertion).

## Why phone calls are the blind spot

In India a large share of high-value leads phone in rather than fill a form: property buyers, patients booking a consultation, parents asking about admissions, people wanting a quote for a repair. Your analytics can count the click and the page view, but once someone dials the number on the page, the trail stops. Every campaign looks like it produced zero phone leads, and budget decisions get made on form fills alone.

There are two ways to close that gap:

| Method | How it works | Best for |
|---|---|---|
| One number per campaign | Print a different number on each hoarding, flyer, listing or ad | Offline media, where there is no website visit |
| Dynamic number insertion | A script gives each website visitor their own number from a pool | Websites, Google Ads, Meta ads, SEO traffic |

Most businesses use both. A fixed number works well for a newspaper ad. It cannot tell two Google keywords apart when both send people to the same landing page. DNI can.

## How dynamic number insertion works, step by step

1. **You create a pool.** You list the domains your website runs on and the phone number it shows today, then add a set of tracking numbers. Each one forwards to your team the same way your main number does.
2. **You paste one script tag** into the `<head>` of every page. See [Install the Snippet](https://edesy.in/docs/call-tracking/getting-started/install-the-snippet).
3. **A visitor lands.** The script reads the URL's UTM tags and click IDs, asks Edesy for a free number from your pool, and swaps it into the page: `tel:` links, written numbers and anything marked `data-edesy-ct`.
4. **The visitor holds that number** while the page is open, then for a **lease** after they leave (30 minutes by default), then a **cooldown** (30 minutes) before anyone else sees it.
5. **The visitor calls.** Edesy forwards the call to your phones and looks up which visit held that number when it rang.
6. **You see the source.** Reports group calls by source, medium, campaign, website, day and match type. You can download a calls CSV and a Google Ads offline-conversion CSV, or receive a webhook for every call.

If the script cannot load, the pool is paused or every number is busy, the page simply keeps your normal number. Search crawlers and other bots are filtered out and never take a number, so search engines see the number in your HTML.

## What gets captured with each visit

| Data | Example | Why it matters |
|---|---|---|
| `utm_source`, `utm_medium`, `utm_campaign` | `google`, `cpc`, `2bhk-launch` | Which channel and campaign |
| `utm_term`, `utm_content` | `2bhk flats pune`, `ad-b` | Which keyword or ad variant |
| `gclid`, `gbraid`, `wbraid` | Google Ads click IDs | Google Ads offline conversions |
| `fbclid`, `msclkid` | Meta and Microsoft click IDs | Paid social and Bing ads |
| Landing page, referrer | `/projects/baner`, `google.com` | Which page and site sent them |
| First touch | The first campaign in the last 90 days | Which channel introduced them |

Tag your links consistently so these fields are useful. The free [UTM link builder](https://edesy.in/tools/utm-link-builder) helps.

## How a call is matched to a visit

Not every call comes in while the visitor is still on the page. Edesy gives each call one of four match types:

| Match | When |
|---|---|
| Exact | The number was leased to that visit when the call came in |
| Grace | The lease had just ended, within the cooldown, before anyone else got the number |
| Repeat caller | No live visit, but the same caller has an earlier attributed call in the last 90 days |
| Unattributed | Nothing to credit |

Filtering by match type tells you how much to trust a report. A pool that shows mostly exact and grace matches is sized and tuned correctly. Full rules are in [Attribution Rules](https://edesy.in/docs/call-tracking/pools/attribution-rules).

## How many numbers you need

This is the question that decides the cost. Each tracked visitor ties up a number for roughly *minutes on site + lease + cooldown*. With the defaults, that is about an hour. So the pool has to cover the visitors who arrive in your busiest hour:

- 10 tracked visitors in the peak hour need about 14 numbers.
- 40 need about 51.
- 100 need about 126.

That is why most businesses start with **paid traffic only**: only visits with an ad click ID or a paid `utm_medium` get a tracking number, and everyone else sees your normal number. We go through the maths in [How Many Tracking Numbers Do You Need?](https://edesy.in/blog/call-tracking-number-pool-size-2026), and the [number pool calculator](https://edesy.in/tools/call-tracking-number-pool-calculator) does it for your traffic.

## What it costs on Edesy

| Item | Price |
|---|---|
| Tracking fee | Rs 0 |
| Calls to tracking numbers | Rs 1.00 per minute (forwarding rate) |
| Numbers | Monthly rental per number; see [call tracking pricing](https://edesy.in/call-tracking/pricing) |
| Exports, reports, webhook | Included |
| Welcome credit | Rs 20 on every new account, no card needed |

All prices exclude 18% GST.

## What Edesy call tracking does not do

Being clear about this saves you a surprise later:

- **No automatic Google Ads upload.** The [Google Ads export](https://edesy.in/call-tracking/google-ads-offline-conversions) is a CSV in Google's import format that you upload yourself.
- **No GA4 or dataLayer integration.** Use the reports, the calls CSV or the [`call_tracking.call.completed` webhook](https://edesy.in/docs/call-tracking/data/webhook) to move data elsewhere.
- **No call scoring or transcription** as part of call tracking.

## Getting started

Sign in to the forwarding portal at [forwarding.edesy.in](https://forwarding.edesy.in), open **Call tracking**, create a pool and follow the [Quick Start](https://edesy.in/docs/call-tracking/getting-started/quick-start). The whole setup is one form and one script tag. For the product overview, see [Edesy call tracking](https://edesy.in/call-tracking).

## FAQ

### What is dynamic number insertion?

Dynamic number insertion (DNI) is a website script that replaces your phone number with a tracking number picked for each visitor. Only that visitor holds the number during their visit, so a call to it can be credited to the ad, keyword or page that brought them.

### Is call tracking the same as call recording?

No. Call tracking tells you where a caller came from. Recording keeps the audio of the call. On Edesy, recording follows your forwarding settings and is separate from tracking.

### How much does call tracking cost in India on Edesy?

There is no tracking fee. Calls to tracking numbers are billed at Rs 1.00 per minute, the forwarding rate, plus monthly rental for each number in the pool. Prices exclude 18% GST.

### Does DNI work with Google Ads?

Yes. The script captures `gclid`, `gbraid` and `wbraid`, and Edesy exports calls with a `gclid` as a Google Ads offline-conversion CSV that you upload in Google Ads. It is not an automatic upload. See [How to Track Phone Calls From Google Ads](https://edesy.in/blog/google-ads-call-tracking-offline-conversions-gclid-2026).

### What if my site has more visitors than numbers?

By default, visitors who arrive when every number is in use see your normal number, and their calls are not tracked. You can track paid traffic only, add numbers, or switch the pool to reuse the oldest lease.

## Related reading

- [How many tracking numbers do you need?](https://edesy.in/blog/call-tracking-number-pool-size-2026)
- [Call tracking for real estate](https://edesy.in/blog/call-tracking-for-real-estate-2026)
- [CallRail alternative for India](https://edesy.in/blog/callrail-alternative-india-2026)
- [Call tracking docs](https://edesy.in/docs/call-tracking)
