Short answer: to count phone calls from Google Ads as conversions, you need three things: the gclid of the ad click, a way to know which caller came from which click, and a file Google Ads can import. Edesy call tracking does the first two with dynamic number insertion (a script that gives each ad visitor their own tracking number), and produces the third as a Google Ads offline-conversion CSV that you upload. It is a CSV export, not an automatic upload.
There is no tracking fee: calls cost Rs 1.00/min at the forwarding rate plus number rental, excluding 18% GST. Product details are on the Google Ads offline conversions page.
Why calls go missing in Google Ads
Google Ads sees the click. If the visitor then fills a form, your conversion tag fires. If they pick up the phone and dial the number on your page, nothing fires. For businesses where most leads call (real estate, clinics, coaching, home services, travel), Google's bidding ends up optimising for the few form fills and ignoring the calls that actually make money.
Google offers call extensions and call assets for calls straight from the ad. Calls from your website, after the click, need you to connect the call back to the click. That is what the gclid is for.
What the gclid is
When auto-tagging is on, Google Ads adds a gclid parameter to the landing page URL of every click:
https://www.example.com/projects/baner?gclid=Cj0KCQiA...That value identifies the click. If you can later tell Google "the click Cj0KCQiA... converted at 11:42 on 14 November", Google credits the campaign, ad group and keyword behind it.
The setup, step by step
| Step | Where | What to do |
|---|---|---|
| 1 | Google Ads | Turn on auto-tagging |
| 2 | Google Ads | Create a conversion action for calls imported from clicks; note its exact name |
| 3 | forwarding.edesy.in | Create a call tracking pool; choose paid traffic only; enter the conversion name |
| 4 | forwarding.edesy.in | Add tracking numbers and set where calls should ring |
| 5 | Your website | Paste the script tag in the <head> of every page |
| 6 | Edesy reports | Download the Google Ads export for the pool and date range |
| 7 | Google Ads | Upload the CSV as offline conversions from clicks |
Steps 1 to 5 are done once. Steps 6 and 7 are a routine. The Quick Start covers the Edesy side in detail.
How the call is tied to the click
The script reads the gclid (and gbraid, wbraid, UTM tags and referrer) when the visitor lands and stores it with their visit. It gives that visitor a tracking number from your pool and keeps it theirs while they browse, for a 30-minute lease after they leave, and for a 30-minute cooldown before anyone else sees it.
When the number rings, Edesy forwards the call to your team and credits it to the visit that held the number. That credit carries the gclid. How dynamic number insertion works explains the matching in more depth.
What the export file looks like
Parameters:TimeZone=Asia/Calcutta
Google Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
Cj0KCQiA...,Phone call,2026-11-14 11:42:07,,INR| Column | What Edesy puts there |
|---|---|
| Google Click ID | The visit's gclid |
| Conversion Name | The name you set on the pool (default Phone call) |
| Conversion Time | Call start time in IST |
| Conversion Value | Blank, so you can add values if you use them |
| Conversion Currency | INR |
By default only calls of 30 seconds or longer are exported. Very short calls are usually hang-ups or wrong numbers, and you don't want Google bidding towards them. You can change the cut-off. The Google Ads Export doc lists every option, including the API call for scheduling the download.
Limits to know before you start
- It is a manual upload. Edesy does not connect to your Google Ads account. You download the file and upload it. A weekly routine works for most advertisers.
- gclid rows only. Some iOS traffic arrives with
gbraidorwbraidinstead of agclid. Edesy captures these and shows those calls in reports, but they are not in the CSV. - Import window. Google Ads only accepts conversions for recent clicks, so do not let exports pile up for months.
- No GA4 sync. There is no GA4 or dataLayer integration. If you also want calls in GA4, send them from your own system using the webhook.
- Pool size. Each ad visitor holds a number for about an hour with the defaults, so check the pool covers your peak hour of ad clicks with the number pool calculator.
Tag your other campaigns too
The gclid covers Google Ads. For Meta, LinkedIn, email or WhatsApp campaigns, put UTM tags on every link with the UTM link builder. The same pool will credit those calls by utm_source and utm_campaign in your reports, so you can compare channels side by side.
FAQ
Can Google Ads track phone calls from my website?
Yes, if you can tie each call to the ad click. Capture the gclid when the visitor lands, show them a tracking number, match their call to the gclid, then upload those calls to Google Ads as offline conversions.
Does Edesy upload conversions to Google Ads automatically?
No. Edesy creates a CSV in Google Ads' offline-conversion import format and you upload it in Google Ads yourself. There is no connection to your Google Ads account.
Which calls are in the export?
Calls on tracking numbers whose visit had a gclid and that lasted at least 30 seconds by default. You can change the minimum duration or set it to 0.
What about gbraid and wbraid?
They are captured and count as paid traffic, and those calls show in reports, but the Google Ads CSV only contains rows with a gclid.
How often should I upload the file?
Regularly, for example weekly, because Google Ads only accepts conversions for clicks within its import window. Use date ranges that do not overlap.