Question from Reddit user:
So I have a lead gen campaign that I’m sending traffic to the simple landing page from which I track conversions from clicks on CTA that is redirecting to the phone number.
Now values from leads vary greatly from call to call, some are informative with basicly 0$ value to the business, and others are really worthwhile. Now I would like to change the KPI in Google Ads from conversion cost to conversion value in Google Ads, now this has its difficulties because each lead has a different value.
Now my question is how can I track each lead, put it into CRM/excel and assign value to each one of them?
I figured out it must be done with gclid and assigning value to each lead manually and adding it to Google ads.
I see gclid firing in GA4 but I’m not sure where to find it outside of the “live” page.After that can I just put an Excel table with gclid, time, [asigned value by me] and just upload in Google Ads?
If you have some practical advice, or some resource that can help I would really appreciate it
Answer from Nabil:
The short answer is:
Your approach of using the Google Click ID (gclid
) to attribute offline conversion values is absolutely correct and is the best practice for accurate reporting in Google Ads.
To make this process efficient and reliable, you need a mechanism to capture and persist the gclid
on your landing page and associate it with the lead in your CRM, and then you need a reliable way to upload the conversion values.
You can achieve this without manual Excel uploads by using a server-side tracking solution with Google Tag Manager and the Google Ads API for automated, server-to-server import of your offline conversions, ensuring every valuable lead is accurately tracked and attributed.
The long answer is:
The core of your solution lies in correctly capturing the gclid
and then associating it with the specific lead who calls you, allowing you to assign a variable, post-call value.
The gclid
is passed as a URL parameter by Google Ads auto-tagging.
While you see it in GA4’s DebugView, you need to set up a way to permanently store it on the user’s browser.
You should use Google Tag Manager to read the gclid
value from the URL when the page loads and immediately store it in a first-party cookie.
You then need to ensure that when the user clicks your call-to-action (CTA) phone number, that stored gclid
is somehow passed to your server or stored on the lead record.
For a simple phone call conversion, if the CTA redirect is to a dynamic call tracking number or a simple form submission, you need to pass the gclid
to that system so it can be associated with the incoming phone lead.
Once the lead is logged in your CRM (or even your Excel sheet), you now have the lead details, the gclid
, and your assigned value.
The traditional method you mentioned is correct: create a file with the gclid
, the conversion time, and the conversion value, and manually upload it to Google Ads as an Offline Conversion.
This manual process is tedious and prone to error, especially as your call volume grows.
A far more robust and scalable solution involves automation using the Google Ads API.
By integrating your CRM or lead management system with a middleware or server-side environment like Stape or Google Cloud Platform, you can set up a process to automatically send the finalized conversion data directly to Google Ads via the Google Ads API.
Whenever a lead is qualified and assigned a value in your CRM, a trigger fires, using the Google Ads API to send the gclid
, your assigned value, and the conversion time to the Google Ads platform.
This not only eliminates manual data entry but also ensures near real-time conversion reporting, which significantly improves the efficacy of Google Ads’ Smart Bidding strategies, allowing the system to bid more aggressively for the leads you deem most valuable.
The Google Analytics Data API can also be used to validate the initial session data, ensuring you have a complete, high-quality data set for every click.