Two separate questions show up repeatedly in B2B SaaS Google Ads accounts: "Do I need GCLID pass-through if my CRM already handles enhanced conversions?" and "GCLID capture is set up in Jotform — why are my offline imports still not attributing?" Both questions come from the same underlying confusion: GCLID pass-through and enhanced conversions look similar on the surface but solve entirely different problems, and conflating them leads to conversion tracking setups that are either missing critical data or duplicating effort in the wrong place.
Understanding the distinction matters because in B2B SaaS, the conversion events that actually drive Smart Bidding quality — SQLs, qualified demos, closed-won deals — happen in your CRM, not on your website. Whether your on-site tracking is enhanced or not has no bearing on whether those downstream pipeline signals make it back into Google Ads.
What GCLID is and why it has to be captured at the landing page
When a user clicks any Google Ad, Google appends a gclid parameter to the destination URL. This value — the Google Click Identifier — is a unique string that encodes the click, the campaign, the keyword, the ad group, and the device. It is the join key that connects any future event back to that specific ad click.
GCLID pass-through means your landing page reads this parameter from the URL and stores it. The typical implementation is a hidden form field that is populated by a small JavaScript snippet when the page loads. When a visitor submits the form, their GCLID value is captured alongside their name, email, and company, and stored in your CRM against their lead record. Later — days, weeks, or even 89 days later — when that lead reaches SQL stage or closes as a customer, you can export their GCLID and upload it to Google Ads as an offline conversion. Google then attributes that conversion back to the original click.
The GCLID is only available in the URL at the moment the page loads. It is not persisted by Google's own tags in a form that makes it retrievable later. If your form does not capture it at submission time, that click's contribution to downstream pipeline is permanently unattributable — no amount of enhanced conversions setup will recover it.
What enhanced conversions is and what it does not do
Enhanced conversions is a Google Ads feature that improves the accuracy of on-site conversion tracking by sending hashed first-party customer data from your conversion events to Google. When a visitor completes a form and lands on your thank-you page, your conversion tag fires and also sends a SHA-256 hashed version of their email address (and optionally name and phone number) to Google. Google attempts to match this hashed data against signed-in Google accounts to attribute the conversion even when the standard cookie-based tracking has failed — due to browser restrictions, ad blockers, cross-device journeys, or ITP.
Advertisers implementing enhanced conversions typically see a 5–30% lift in reported on-site conversions — these are real conversions that happened but were previously invisible to the attribution system due to technical tracking gaps. For Smart Bidding, more complete on-site conversion data means a better-trained model.
But the critical boundary is this: enhanced conversions only operates within on-site events. It improves the fidelity of events that fire on your website — form submissions, demo bookings made directly on your site, trial signups, trial activations. It has no reach into your CRM. It cannot surface the SQL a rep qualified last Tuesday. It cannot bring the closed deal from Salesforce into the Google Ads conversion column. For B2B SaaS companies where the meaningful conversion event is a pipeline stage change in a CRM, enhanced conversions alone is systematically incomplete.
When GCLID pass-through is required
GCLID capture is required in any B2B SaaS setup that plans to import offline conversions — meaning any conversion that does not fire as a JavaScript event on your website. The most common cases:
SQL import from CRM. If you want Smart Bidding to optimize toward sales-qualified leads rather than form submissions, you need to import SQL-stage events from Salesforce, HubSpot, or your CRM of choice. The import file requires a GCLID column. Without GCLID capture, the import has no join key and cannot attribute conversions to clicks. Our post on optimizing for SQLs rather than leads covers why this matters and what the migration involves.
Closed-won import. For accounts with sufficient deal volume, importing closed-won revenue with deal value enables value-based bidding — the most powerful Smart Bidding configuration for B2B SaaS. This requires GCLID on every closed deal record in your CRM.
Phone or demo conversions logged by reps. If a prospect calls your sales line after clicking an ad and the rep logs a qualified call in your CRM, attributing that call requires the GCLID from the prior click. Call tracking tools can handle some of this, but if calls go into a CRM deal record, GCLID needs to be on the record.
Multi-form journeys. If a user clicks an ad, lands on your site, fills in a pre-qualification form, and then later completes a demo booking on a different session, the GCLID from the first click needs to be stored and carried forward to connect the downstream conversion to the original click.
When enhanced conversions may be sufficient
Enhanced conversions without GCLID pass-through is a viable setup only when all of your meaningful conversion events happen on your website in a single session, and you are not planning to import offline pipeline data. In practice, this applies to:
PLG (product-led growth) SaaS products where trial signup and trial activation are both trackable as on-site events and represent the full conversion funnel Google Ads needs to optimize toward. If trial activation directly predicts revenue retention and your activation rate is stable, on-site tracking with enhanced conversions may provide sufficient signal without needing CRM-level offline imports.
Self-serve products with in-session purchase flows — where the user clicks an ad, signs up, enters payment details, and completes a transaction all within a traceable web session. Here, enhanced conversions recovers cross-device and ITP-affected transactions without needing the GCLID path.
For sales-led or hybrid B2B SaaS companies — where a human reviews leads, qualifies them, and progresses them through a sales pipeline — enhanced conversions alone will never give Google Ads the pipeline signal it needs. The gap between form submission and revenue is too large and too mediated by human judgment to be bridged by on-site tracking improvements.
Running both at the same time
For most B2B SaaS accounts, the right answer is to run both GCLID pass-through and enhanced conversions simultaneously — they address different gaps without overlapping or double-counting.
Enhanced conversions improves on-site event fidelity. If you track demo bookings made directly on your site as a conversion event — a micro-conversion that feeds Smart Bidding alongside SQL imports — enhanced conversions recovers the demo bookings that would otherwise be lost to browser restrictions. This gives the algorithm more complete top-of-funnel signal.
GCLID pass-through enables offline import of SQL and closed-won events, which is the pipeline signal that actually aligns your bidding algorithm with revenue outcomes. See the offline conversion import guide for the full technical implementation.
The two mechanisms do not create duplicate conversions because they fire at different points in the funnel: enhanced conversions fires at the on-site form submission; GCLID-based offline import fires when the lead reaches SQL stage in your CRM. These are distinct events and will not overlap in your conversion data, provided you have them set up as separate conversion actions.
Common failure modes in GCLID capture
GCLID capture breaks in predictable ways. The most common is a form embedded in a third-party tool — Typeform, Jotform, Wix forms — where the hidden field logic exists on the parent page but the form iframe does not pass the value through to the submission payload. Many embedded form builders have a specific configuration for GCLID fields; the JavaScript that populates the hidden field on the parent page does not automatically communicate with an iframe. Check your form provider's documentation for their GCLID passthrough setup specifically.
The second common failure is auto-tagging being disabled in Google Ads. Auto-tagging is what causes Google to append the gclid parameter to ad click URLs in the first place. If auto-tagging is turned off — which happens occasionally when accounts are migrated or when someone toggling settings does not understand the downstream effect — no GCLID is appended, nothing is captured, and all offline imports fail silently. Check: Google Ads → Settings → Account Settings → Auto-tagging should be enabled.
The third failure is landing page redirect chains that strip query parameters. If your ad points to a URL that redirects through a tracking link, a vanity URL, or a redirect rule that drops query strings, the gclid may be stripped before the landing page loads. Test by clicking a live ad and checking the final URL in the browser for the gclid parameter. If it is absent on the final page, a redirect is stripping it.
To audit GCLID health systematically: submit a test form, immediately check the resulting CRM record for a gclid field, and verify it contains a value (typically a long alphanumeric string). If the field is blank, capture is broken and offline imports will produce zero attributed conversions regardless of how correctly the import process itself is configured. The conversion tracking setup guide includes a full GCLID audit checklist.
Answering the Clio question (and similar CRM-native tracking tools)
A common pattern in professional services SaaS and legal tech is a CRM like Clio that has its own tracking and attribution layer built in. These tools often claim to handle Google Ads attribution natively, which leads to the question: if the CRM is already attributing Google Ads clicks, is GCLID pass-through still needed?
The answer depends on what the CRM's native tracking actually captures. Most CRM-native attribution tools use URL parameters (often UTM tags or their own proprietary parameters) to track traffic sources, and surface this as a "source: Google Ads" label on the lead record. This is channel-level attribution — it tells you the lead came from Google Ads, but not which specific campaign, ad group, keyword, or ad drove it.
Google Ads Smart Bidding needs click-level attribution — the GCLID — to optimize at the keyword and audience level. Channel-level source tags cannot feed offline conversion import. If you want to tell Google which specific clicks produced SQLs (so the algorithm can find more like those clicks), you need the GCLID on the CRM record, separate from whatever source attribution the CRM itself is doing.
If your CRM is Clio, HubSpot, Salesforce, or any other system: check whether their Google Ads integration stores the raw GCLID value on the contact or deal record, or whether it only stores source labels. The former enables offline import; the latter does not. HubSpot's native Google Ads integration does store GCLIDs and can sync conversion events automatically — if you are on HubSpot, review their Google Ads conversion sync settings before implementing a custom GCLID capture solution.