Fireshift / Guides

Offline conversion import and enhanced conversions for leads for B2B SaaS

By Nurkan Kirkan, growth & analytics consultant · Updated 2026-11-04

Short answer

Google Ads optimises for what you send it. If it only sees form fills, it finds people who fill forms. To send it qualified leads, either import offline conversions with the GCLID (capture the click ID on the form, store it in the CRM, upload when the lead qualifies) or use enhanced conversions for leads (the Google tag sends hashed form data such as email at submit, and you later upload the qualified lead matched on that hashed email, no GCLID needed). Then make the qualified-lead action primary and the form fill secondary.

Which method

GCLID importEnhanced conversions for leads
Links lead to click byThe gclid stored on the leadHashed email (or phone) captured at form submit
Site workHidden form field filled with gclid from the landing URLTurn on user-provided data collection in the Google tag
CRM workA gclid field that survives lead conversionThe email you already store
Breaks whenThe click ID is lost on redirects or in form tools, or iOS traffic arrives with gbraid/wbraid insteadThe person submits one email and buys with another

A common setup: enhanced conversions for leads as the main method, gclid capture kept as a backup.

Setup

  1. Pick the stages. Usually form submit, sales-qualified lead (or meeting held), opportunity, closed won. Only use stages your CRM records with a timestamp you trust.
  2. Create one Google Ads conversion action per stage as an import from clicks, or through the CRM connection you use. Count lead stages as One per click.
  3. Capture the identifier on the site. For GCLID: read gclid from the landing URL, keep it in a first-party cookie for later pages, and write it into a hidden form field. For enhanced conversions for leads: turn it on in Google Ads, accept the customer data terms, and make sure the Google tag picks up the email from the form at submit.
  4. Carry it through the CRM. Check the field is still there when a lead becomes a contact, opportunity or deal. Most setups lose data here without anyone noticing.
  5. Upload. HubSpot and Salesforce have native Google Ads connections. Otherwise use scheduled uploads (Google Sheets, HTTPS or SFTP) or the Google Ads API. Each row needs the identifier, conversion action name, conversion time with timezone, and a value if you have one. Upload daily.
  6. Check diagnostics on the conversion action in Google Ads. Match rates and upload errors show there.

What to make primary

The stage closest to revenue that still happens often enough for bidding to learn from. For most SaaS teams that is the qualified lead or booked meeting, not closed won: too few deals, months late. Once the qualified-lead action has a few weeks of data, set the raw form submit to secondary so bidding stops buying junk form fills.

Add values where you can. Closed won with the deal value, earlier stages with an estimate (average deal value × that stage's close rate). Value-based bidding then prefers leads that become bigger deals.

Timing

An upload only counts inside the conversion action's click-through window, which is at most 90 days. Long sales cycles lose the final deal, which is one more reason to optimise on an earlier stage. Upload often: a qualified lead sent a month late teaches bidding a month late.

What you can check from outside

Whether the Google tag is on your form pages, whether a conversion fires on submit, and whether competitors send a qualified-lead stage at all. Upload health and primary settings live inside the account.

FAQ

Do I need a GCLID for enhanced conversions for leads?

No. It matches on hashed user data captured at form submit, usually email. Keeping the GCLID too does no harm and helps when emails don't match.

Should closed won be my primary conversion?

Usually not on its own: too few deals, too late. Optimise on a qualified lead or meeting, pass values, and keep closed won as a reported action.

Run all nine checks on your site, free.

Fireshift reads what your site tells Google Ads, GA4 and Meta from the outside. No install, about a minute.

Get my Leak Score