Google Ads shows 120 "conversions" this month — those are submitted contact forms, not signed contracts. Offline conversion import closes that gap: it tells the ad platform which of those inquiries actually turned into a sale, using the click identifier (GCLID) your CRM already stores.
This page walks through how GCLID works step by step, what changes in mid-2026, which fields your CRM needs, where customer consent applies, and how to run the math on your own numbers instead of trusting someone else's percentage.

Why the campaign sees forms, not sales
Standard Google Ads conversion tracking counts an on-site event: a form submitted, a phone number tapped, sometimes a call from the ad. In businesses with a long sales cycle — renovation, real estate, a law office, a language school, B2B services — the gap between an inquiry and a signed deal is days or weeks, and the decision happens on a phone call or in an office, off the website entirely.
The campaign's bidding algorithm optimizes for what it can see. If all it sees is form submissions, it brings more people willing to fill out a form — not necessarily people who buy. Google Ads ends up counting success where none has happened yet, and budget drifts toward inquiries rather than sales.
The fix isn't dropping form tracking, it's adding a second layer: feedback from the CRM about what actually happened to each inquiry afterward.
GCLID and offline conversion import: how it works
Offline conversion import measures events that happen away from the website — in an office, on a call, at a meeting — after someone clicked an ad. The GCLID-based version: Google Ads assigns a click identifier (GCLID) to the person who clicked, and you store it alongside the inquiry data in your CRM (Google Ads Help — About offline conversion imports).
What to capture the moment someone clicks
When a visitor lands from an ad and fills out a form built with Lead forms, your tracking setup should pull the GCLID from the URL and save it together with the rest of the inquiry — name, phone, what they asked about. Skip this step and there's nothing to send back later.
This same event is also worth logging in Google Analytics 4 under the recommended generate_lead event, which GA4 describes as submitting a form or a request for information (Google Analytics Help — Recommended events). That's a separate measurement layer from Google Ads offline import: GA4 counts the on-site event itself, while offline import adds what happened to it afterward.
What to send back after the sale
When that same person, say, signs a contract, you send the GCLID back to Google Ads together with the conversion type and the time it happened. Google Ads records the conversion against the original click, and from that point the campaign "sees" a sale instead of just a form.
The full path looks like this:
- 01ad click
- →02GCLID stored in CRM
- →03contract signed
- →04GCLID sent back
- →05campaign targets sales
Enhanced conversions for leads and the move to the Data Manager API
Alongside plain GCLID, Google Ads offers enhanced conversions for leads: user-provided data, such as an email address, sent in hashed form. Google recommends that new users start with this option rather than raw GCLID (Google Ads Help — About offline conversion imports).
Starting June 15, 2026, both offline conversion imports and enhanced conversions for leads uploads move to the Data Manager API, and the older route through the Google Ads API gets blocked. If someone else built your CRM-to-ads integration, this is a question worth asking directly: is the upload already set up for the new interface.
Disclosure and consent: Consent Mode and the data you're sending
Google requires clear disclosure to users about the data you collect and consent wherever required by law or Google's policies, including the EU user consent policy (Google Ads Help — About offline conversion imports). That applies to both GCLID and the data used in enhanced conversions.
Consent Mode passes Google the user's consent state across four categories: ad_storage, ad_user_data, ad_personalization, and analytics_storage. There are two implementations — basic, which blocks tags until consent is given, and advanced, which loads tags with default settings and adjusts their behavior based on consent (Google for Developers — Consent Mode). Offline conversion import doesn't bypass these settings — it runs alongside them, on data that already reached the CRM with the customer's consent.
Whether a specific message to a customer needs marketing consent, and which legal basis fits the data you're processing, is something a lawyer or your data protection officer should decide — not this article.
What the lift actually is: a median +10%, but that's the vendor's own number
That figure comes from the tool's own maker, not an independent study — worth reading as a direction, not a promise for any specific campaign. A median also means some advertisers gained less and some more: the outcome depends on how much first-party data actually matches up with stored GCLIDs in the first place.
Where the leads come from: CSV, email, API, webhook
If you run lead form ads (lead form assets) in Search or Performance Max campaigns, Google Ads offers a few ways to receive leads: a manual CSV download, an email notification, the Google Ads API, or a webhook that sends data straight to your CRM (Google Ads Help — Lead form extensions).
| Delivery method | What it does | Limitation |
|---|---|---|
| CSV | Manual file download from the panel | only the last 30 days |
| Notification for every new lead | you still move it into the CRM yourself | |
| Google Ads API | Automatic export into your system | requires a developer token |
| Webhook | Lead lands directly in the CRM | code you write or a third-party provider |
The retention window worth remembering
Google Ads stores lead data for 60 days, but the CSV export only covers the last 30 (Google Ads Help — Lead form extensions). If you export manually once a quarter, some leads disappear from the panel before you ever pull them — which is why a webhook or API built on stable Integrations beats remembering a deadline.
Which fields your CRM actually needs
Offline conversion import won't work if the inquiry record is missing the right fields. CRM and automations need to hold at least four things together in one record, not scattered across separate notes.
| Field | Why it matters | Example value |
|---|---|---|
| GCLID / source | identifies the ad click | gclid987xyz |
| Status | marks whether it's still an inquiry or already a sale | "sale" |
| Event date | tells you when the conversion happened | 2026-09-10 |
| Value | lets you measure return, not just headcount | contract amount |
Without a "status" field the system can't tell an inquiry from a closed sale, and without a date the conversion reaches Google Ads late enough to skew the campaign report.
What counts as a sale, and how to avoid double counting
Before any GCLID goes back to Google Ads, agree on one definition of "sale" inside the company: a signed contract, a deposit paid, or an issued invoice — whichever you pick, it should be one criterion, not three different ones depending on who's updating the status.
A duplicate record is the most common mistake: the same inquiry lands in the CRM twice — once from a form, once from a phone call — each with a different GCLID or none at all. The fix is a single owner of the "sale" status per inquiry, ideally the same person, or a rule inside CRM and automations that flags a duplicate by phone number before the status gets flipped to "sale" a second time. AI lead qualification orders the sequence in which the team even picks up submissions from the list, which on its own lowers the odds that two people work the same inquiry in parallel.
An example with illustrative numbers: how many inquiries become a sale

Example with illustrative numbers — swap in your own: the campaign brought in 120 form inquiries this month. Of those 120, the team closed 18 as sales over the following four weeks.
18 ÷ 120 = 0.15, or 15%.How we worked it out
In this example with illustrative numbers: formula sale_share = number_of_sales ÷ number_of_inquiries. Dimensions: sales ÷ inquiries = a dimensionless ratio, expressed as a percentage.
That's the same figure that lands in the campaign panel as an actual sale-conversion rate, instead of a form-conversion rate.
Do it yourself: check, add, assign
- Check whether your on-site form even captures the GCLID from the URL when someone submits it — without that step, there's nothing for the import to send back.
- Add two CRM fields if they're missing: a "sale" status and an event date; without them, a record isn't ready for export.
- Assign one person or one rule to close out the "sale" status — otherwise records end up duplicated or never updated at all.
- Set an export cadence to Google Ads — weekly works well, similar to the approach in reporting automation, rather than waiting until quarter-end and losing leads older than 60 days.
- Compare the cost of one inquiry against the cost of one sale, by channel — the same idea as in cost per booking by channel, just swap "booking" for "sale".
What this looks like once a system runs it
Inside Aura, these steps aren't a manual checklist, they're one flow:
- 01GCLID lands in CRM
- →02status set to sale
- →03data returns to Ads
- →04panel counts sales
No promises of a conversion lift — just data that used to get lost between a phone call and a spreadsheet.
If you want to see what connecting Google Ads with CRM and automations and Integrations looks like in practice, that's exactly the kind of thing worth walking through on your own channels — much like query handling automation or CRM or ERP, where this kind of measurement is often the next layer a business adds.
Frequently asked questions
How is offline conversion import different from regular conversion tracking?
Regular tracking counts an on-site event — a form submitted, a phone number tapped. Offline conversion import adds a second layer: feedback from the CRM about what happened to that inquiry later, such as a signed contract, sent back through the GCLID.
Do I have to use GCLID, or is the customer's email enough on its own?
You can use either, but Google recommends new users start with enhanced conversions for leads, where customer-provided data — like an email address — gets sent in hashed form. GCLID and enhanced conversions can also be combined for better data matching.
How long does Google Ads keep leads from an ad form?
Google Ads stores lead data for 60 days, but the CSV file only covers the last 30. If you want to be sure no lead slips through, you need a webhook or API instead of a manual download once a quarter.
Does offline conversion import need separate customer consent?
Google requires clear disclosure of the data you collect and consent wherever required by law or Google's policies, including the EU user consent policy. Which exact legal basis fits your form is something a lawyer or your data protection officer should decide.
What changes on June 15, 2026?
Offline conversion import and enhanced conversions for leads uploads move to the Data Manager API, and the older route through the Google Ads API gets blocked. If you rely on an external CRM integration, it's worth checking beforehand whether it's already been updated.
Does the median +10% conversion lift apply the same way to every industry?
That number comes from the tool's own maker, Google, not an independent industry study, and it describes the median among advertisers who combine first-party data with GCLID. In any specific campaign, the result depends on how much data actually matches up — which is why it's worth calculating your own rate, as in the example above, instead of assuming the same percentage upfront.