GCLID tracking is the foundation of accurate Google Ads measurement for any business where the conversion does not happen on the website. If your sales process involves phone calls, CRM follow-up, in-person meetings, or a sales team closing deals, GCLID tracking is how you connect the dots between the ad click and the actual revenue it generated.
Without it, you are optimizing Google Ads based on incomplete data — typically form submissions or phone calls, not actual closed deals and revenue. That means your smart bidding is optimizing for lead quantity, not lead quality or revenue. The campaign that generates your cheapest leads might also generate your worst leads.
This guide explains what GCLID is, how the tracking flow works, how to implement it, and how to use the data to transform your Google Ads performance.
What Is GCLID
GCLID stands for Google Click Identifier. It is a unique parameter that Google Ads automatically appends to your landing page URL when someone clicks your ad. It looks something like this: yoursite.com/landing-page/?gclid=EAIaIQobChMI5tSN7L…
Every click generates a unique GCLID. This ID is Google’s way of tracking exactly which keyword, ad, campaign, ad group, and device produced that specific click. When you send conversion data back to Google Ads tagged with that GCLID, Google can attribute the conversion to the exact click that caused it.
This is more precise than any other attribution method. It is not probabilistic matching based on timestamps and IP addresses. It is a deterministic, one-to-one link between a specific ad click and a specific conversion.
How GCLID Tracking Works End to End
The full GCLID tracking flow has four stages.
Stage 1: Capture. When a user clicks your Google Ad and lands on your website, the GCLID parameter is in the URL. Your website needs to capture this value and store it. The most common approaches are: capturing it via JavaScript and storing it in a cookie, passing it into a hidden form field, or capturing it server-side from the URL parameters.
Stage 2: Store. The GCLID needs to persist through the user’s session and into your conversion event. If the user clicks your ad, browses your site, and then fills out a form on a different page, the GCLID from the original click needs to travel with them. Cookies are the standard mechanism, but if you are using a CRM form (HubSpot, Salesforce Web-to-Lead, GoHighLevel), the GCLID needs to be passed into the form as a hidden field.
Stage 3: Store in CRM. When the lead enters your CRM, the GCLID goes with it as a custom field. This is the critical link — your CRM record now carries the identifier that ties it back to a specific Google Ads click. In HubSpot, this is a custom contact property. In Salesforce, it is a custom field on the Lead or Contact object. In GoHighLevel, it is a custom field on the contact.
Stage 4: Import back to Google Ads. When the lead progresses through your sales pipeline (qualified lead, opportunity created, deal closed), you send that conversion data back to Google Ads with the GCLID attached. Google Ads receives this data and attributes the conversion to the original click. Now your Google Ads reports show not just “this campaign generated 50 leads” but “this campaign generated $150,000 in closed revenue.”
Why GCLID-Based Offline Conversion Import Changes Everything
The difference between optimizing on form submissions versus closed revenue is enormous. Here is a real example.
Campaign A generates 30 leads per month at $40 per lead ($1,200 total spend). Campaign B generates 15 leads per month at $80 per lead ($1,200 total spend). Based on cost per lead, Campaign A looks twice as efficient.
But when you import offline conversion data: Campaign A’s leads close at 5 percent with a $5,000 average deal. That is 1.5 deals at $7,500 revenue. Campaign B’s leads close at 20 percent with a $8,000 average deal. That is 3 deals at $24,000 revenue.
Campaign B generates 3.2x more revenue despite having a higher cost per lead. Without GCLID tracking and offline conversion import, you would have shifted budget from B to A and destroyed your ROI.
This is not a hypothetical scenario. It happens in almost every B2B and high-consideration-purchase account I audit. Lead quality varies dramatically by keyword, campaign type, and audience — and you cannot see the quality difference without downstream conversion data.
Implementation Guide
Step 1: Enable auto-tagging in Google Ads. Go to Account Settings and ensure auto-tagging is on. This tells Google Ads to append the GCLID parameter to your ad URLs automatically. It should be on by default, but verify it.
Step 2: Capture GCLID on your website. Add JavaScript to your landing pages that reads the GCLID from the URL parameter and stores it in a first-party cookie. The cookie should have a 90-day expiration to account for long sales cycles.
A basic implementation reads the gclid parameter from the URL query string on page load, stores it in a cookie named _gcl_aw with a 90-day expiry, and populates any hidden form fields with the value. If you use Google Tag Manager, this can be configured as a custom HTML tag that fires on all pages.
Step 3: Pass GCLID into your forms. Add a hidden field to your lead capture forms. When the form loads, JavaScript populates the hidden field with the GCLID value from the cookie. When the form is submitted, the GCLID travels with the lead data into your CRM.
For HubSpot forms, create a custom contact property (single-line text, named “gclid”) and add it as a hidden field in your form. HubSpot’s tracking code can also capture the GCLID automatically if you enable the UTM parameter tracking feature.
For Salesforce Web-to-Lead forms, add a hidden input field mapped to a custom field on the Lead object.
For GoHighLevel, create a custom contact field and use form pre-fill to populate it from the URL parameter or cookie.
Step 4: Configure offline conversion import in Google Ads. Go to Tools > Conversions > New conversion action > Import > CRM, email, or other data sources. Set up the conversion action with an appropriate conversion window (90 days for most B2B businesses), assign a value (either dynamic from your CRM data or a static average deal value), and choose the attribution model.
Step 5: Upload conversion data. You can upload conversion data manually via CSV, set up a scheduled upload from Google Sheets, or use the Google Ads API for automated imports. The upload file needs two key fields: the GCLID and the conversion timestamp. Optionally include conversion value and conversion name.
For automated workflows, tools like Zapier or Make can trigger an upload whenever a lead changes stage in your CRM (e.g., moves to “Qualified” or “Closed Won”).
Best Practices for GCLID Tracking
Upload conversions regularly. Weekly uploads are the minimum for smart bidding to benefit from the data. Daily uploads are better. The faster Google Ads receives conversion data, the faster its algorithm can optimize.
Use multiple conversion stages. Do not just import “closed deal.” Import intermediate stages too: qualified lead, opportunity created, proposal sent. This gives Google Ads more conversion signals to learn from, especially if your deal volume is low. Use primary and secondary conversion actions appropriately.
Match the conversion window to your sales cycle. If your average time from click to close is 45 days, set your conversion window to at least 60 to 90 days. A 30-day window misses late-closing deals and understates campaign performance.
Send revenue values. Dynamic revenue values (actual deal amounts from your CRM) enable value-based bidding strategies like Target ROAS and Maximize Conversion Value. These strategies optimize for revenue, not just conversion count — a massive improvement for businesses with variable deal sizes.
Combine with server-side tracking. Server-side tracking via Stape.io or a GTM Server container improves GCLID capture rates by setting first-party cookies from your server rather than via JavaScript. This is more resistant to browser privacy restrictions and ad blockers.
For help implementing GCLID tracking and offline conversion import for your business, learn about our attribution services or get in touch.
Frequently Asked Questions
What is a GCLID and how does it work?
GCLID stands for Google Click Identifier. It is a unique tracking parameter that Google Ads automatically appends to your ad URLs when auto-tagging is enabled. When someone clicks your ad, the GCLID is stored (usually captured by a hidden form field or your CRM) and later used to match that click to a conversion event. This allows you to import offline conversions (like phone calls that became sales, or leads that closed in your CRM) back into Google Ads so the algorithm can optimize for actual business outcomes, not just online form fills.
How do I capture GCLID values from my landing page?
The most common method is adding a hidden field to your lead capture form that automatically stores the GCLID from the URL parameter. Most CRM platforms (HubSpot, Salesforce, GoHighLevel) have built-in GCLID capture fields. If using a custom form, add a hidden input field and use a small JavaScript snippet to extract the gclid parameter from the URL and populate the field. Always also store the GCLID in a first-party cookie so it persists across multiple page views before the form is submitted.
How long does a GCLID remain valid for offline conversion import?
GCLIDs are valid for up to 90 days from the click date. Your offline conversion import must occur within this 90-day window. For most B2B sales cycles, this is sufficient — but if your typical sales cycle exceeds 90 days, you will lose the ability to attribute later conversions back to the original click. In practice, import your offline conversions as frequently as possible (daily or weekly) rather than waiting until the end of the cycle. Google Ads can use partial conversion data to optimize bidding even before the final sale closes.
Can I use GCLID with CRM platforms like HubSpot or Salesforce?
Yes. Both HubSpot and Salesforce support GCLID capture natively. In HubSpot, the GCLID is captured automatically when the HubSpot tracking code is installed alongside Google Ads auto-tagging. In Salesforce, you can create a custom field to store the GCLID and map it from your web forms. Once stored in the CRM, you can export closed-won deals with their associated GCLIDs and upload them to Google Ads as offline conversions, either manually via CSV or automatically through the Google Ads API or a connector like Zapier.
What is the difference between GCLID tracking and enhanced conversions?
GCLID-based offline conversion import sends your CRM or sales data back to Google Ads matched by the click ID. Enhanced conversions send hashed first-party customer data (email, phone, address) alongside your online conversion tag so Google can better match conversions to ad clicks even when cookies are limited. They serve different purposes: GCLID import handles conversions that happen offline or in your CRM, while enhanced conversions improve the accuracy of online conversion tracking. For the best results, use both together.