GCLID for Call Extension calls?


Does anyone know how to capture a GCLID for Adwords call extension phone calls? Is it possible using the API?

We get about 60% of our phone call leads from Adwords click to call extensions and without a GCLID we have no way of attributing the revenue generated from that specific call back to the specific campaign/ad group/keyword etc.

Does anyone know if this is possible or is there some other workaround so that we can import revenue from call extension calls back into Google Adwords or Analytics?


Hi James - GCLIDs are only generated when a user clicks a link in an ad, so GCLIDs are not generated for calls that come from an ad extension number.

You can however capture keyword data, inclusive of GCLIDs, for calls that occur on your website from a keyword pool. The keyword pool will read the URL of a visitor to your website and associate any data in the URL (inclusive of GCLID) with the call and then pass that conversion over to AdWords. This is also possible through our API.

If you do want to use a Click-to-Call number, you can activate our AdWords Mobile Click-to-Call Integration - with this, you are able to create a single number that goes specifically in C2C campaigns. Every 10 minutes or so, we request the keywords that you bid on and associate them with the calls in CallRail.

I hope that helps - let me know if you have any additional questions!


Hey James, I happened to run across this post even though it’s a little old. Fiona is right that call extensions don’t use GCLID parameters because they aren’t sending the visitor to a page. However, if your call volume isn’t incredibly high, you could use AdWords metrics to manually match call times in AdWords with call times in CallRail and pretty much associate calls with revenue. Also, I think the call extensions give you 3-6 of the 10 numbers numbers of the caller ID which you could match with CallRail tracking IDs.

This probably breaks down if you’re getting a high volume of calls, but caller ID is more or less tracked in AdWords and is tracked in CallRail.


Hi Adam,

The issue for us is that our sale happens offline, usually days or weeks
after the phone call. Also we are getting about 5k calls a month so that
does make things difficult.

The other issue we face is the number the customer gives us to put in our
CRM during a sale may be different than the number they originally called
in on. :thinking::thinking::thinking:


That’s a tricky situation. I’m out of ideas :slight_smile:


Hi @jamesscaggs - There is a potential workaround you could use in this scenario, but CallRail can’t guarantee it. DISCLAIMER: In the event something like this breaks, our support team won’t be able to help resolve this - so if you decide to use it, please take that into consideration.

To count a conversion for a call to an Adwords extension, you’d have the number forwarding as such -

1 - Create a CallRail Tracking number. This number won’t be placed anywhere. It will simply be a forwarding destination for our Google Voice number. Make sure that this CallRail number is pointing to the correct destination number.

2 - Create a Google Voice number for the extension. When doing so, you’ll want to make sure call reporting is enabled. This number will forward to the CallRail tracking number we just created previously.

The flow of calls should now be:

Google Voice Number >>> CallRail Tracking Number >>> Destination Number

By passing the call through the Google Voice number, Google is able to collect a conversion. By forwarding the number through CallRail, we’re able to track the call and potentially record it.

Please note, in Callrail, all these calls will look like they are from one number (the GV number). Additionally, there will be delays that come with passing a call this many times.

Hopefully this provides some further clarity on options for what you’re trying to do, as well as the risks involved. Let me know if you have further questions and I’ll do my best to help!


James @jamesscaggs ,

I’m having the same problem - attributing revenue backs to calls from generated through call extensions. Have you found a solution? I’d appreciate any insight you’ve already discovered!