Offline Conversions in Google Ads: How to Tell Your Campaign Which Lead Actually Bought

October 8, 2026 8 min readKarol Majewski
Offline Conversions in Google Ads: How to Tell Your Campaign Which Lead Actually Bought

Offline conversions in Google Ads means importing into your ad account events that happened away from the website: a phone call with an offer, a lead qualified by a salesperson, a signed contract or a payment. The campaign then learns not only who filled in a form but who became a customer. Below we explain how it works, what you need to store on the site and in the CRM, and how to choose the method for sending the data.

Why import offline conversions

Importing offline conversions matters because without it Google Ads optimises for the submitted form, and you learn whether the lead bought only in the CRM, after the budget is spent. Smart Bidding learns from what you give it. If it only sees enquiries, it looks for the cheapest enquiries, and those often come from low-value searches.

The problem affects every business that sells through contact: B2B services, training, real estate, automotive, healthcare. If you run B2B lead generation, passing lead quality back to the campaign is often what decides whether budget scales profitably or only the number of enquiries grows.

A magnifying glass over the last of four connected sales pipeline boxes with a coin inside, next to a mouse cursor above the first box

How offline conversion import works, step by step

Offline conversion import has four steps: saving the click identifier with the lead, tracking the lead in the CRM, sending an event about what happened to it, and Google matching it to the earlier click. Everything depends on the first step, because without an identifier there is nothing to match.

  • Click: a user clicks the ad, and with auto-tagging on, a click identifier (gclid) is added to the page URL.
  • Storage: the site saves the identifier with the enquiry, for example in a hidden form field, in the lead record or in a first-party cookie.
  • CRM events: a salesperson qualifies the lead, sends an offer, closes the sale. Every stage with business value can become a conversion.
  • Import: Google Ads receives the identifier, the conversion name, the event time and the value. Google matches it to the click and adds the conversion to the right campaign, ad group and keyword.

The conversion name in the file or API call must be identical to the name of the conversion action created in the account, including capitalisation. A mismatch gets the row rejected, often with no alert other than the import report.

Which click identifiers to store: gclid, wbraid, gbraid

Store three identifiers: gclid, wbraid and gbraid, because not every click will bring the first one. The gclid is the standard ad click identifier. Wbraid and gbraid appear where the gclid cannot be passed, for example for part of the traffic from Apple devices, where wbraid covers web conversions and gbraid covers conversions from apps.

IdentifierWhen it appearsWhat to do
gclidA standard ad click with auto-tagging onStore with the lead and send it on import
wbraidPart of web traffic from Apple devices when the gclid is unavailableStore in a separate field, send instead of the gclid
gbraidPart of app traffic on Apple devicesStore in a separate field, send instead of the gclid
Click identifiers in Google Ads

Then there is consent. Saving an identifier in a cookie is an operation on the user's device, so it should respect the choice made in the cookie banner. That is one reason to plan offline import together with conversion tracking without cookies, not as an add-on at the end of the implementation.

Enhanced conversions for leads or a classic gclid import

For new implementations Google recommends enhanced conversions for leads, and keeps the classic gclid import as a supplement. Enhanced conversions for leads match a CRM event to the click through hashed first-party data, such as an email address or phone number, so they do not require keeping the gclid in the CRM. The data is normalised and hashed with SHA-256 before it is sent.

Featuregclid importEnhanced conversions for leads
MatchingBy the click identifier stored with the leadBy hashed email or phone, with a tag that collects the identifier
Needs gclid in the CRMYesNo
When the gclid is missingThe conversion will not be matchedMatching is still possible through user data
Main weaknessDepends on the identifier surviving the trip to the CRMNeeds a correctly deployed tag and permission to use the data
Two methods of sending offline conversions

In practice the two work best together. Google's help advises continuing to import existing gclids after deploying enhanced conversions for leads, and moving to the new method as the primary one only after the longer of three conversion cycles or four weeks. Until then the old and new conversion actions run in parallel, with one set as primary.

Which CRM event to send to Google Ads

Send the event that is closest to the money but happens often enough for the algorithm to learn from. A signed contract is ideal, yet with a long sales cycle it is rare and arrives late. A qualified lead appears earlier and more often, so it is usually the better signal to optimise on.

  • Qualified lead (MQL or SQL): appears after a few days, is frequent, good as the primary action for bidding.
  • Offer sent: a sensible intermediate stage in a longer cycle, when there are too few qualifications.
  • Contract signed or payment: the most valuable signal, worth passing as a conversion with a value, even if it mainly serves reporting.

Add a value to every event. The contract amount or the average customer value lets you move from optimising for conversion count to optimising for value, which opens the door to return-based strategies. If you set budgets from return, also read about break-even ROAS and maximum CPC.

The most common mistakes in offline conversion import

Most failed implementations end in one of five mistakes, and all of them can be caught in the first week if someone opens the import report.

  • The gclid gets lost on the way: the form does not pass it to the CRM, or the page goes through a redirect that strips URL parameters.
  • A click that is too old: Google Ads keeps conversion data for the last 90 days. An older click returns an error saying it is too old to import. So import regularly, not once a quarter.
  • A different conversion name: rows are rejected because the name in the import does not match the name in the account.
  • The wrong time zone: an event time given without a zone, or in a different zone than the account, shifts the conversion or gets it rejected.
  • Test enquiries in the import: internal submissions pollute the data the algorithm learns from. Exclude them before anything is sent to Google.

If you close sales by phone, see how we passed calls into the account for a local service in the Maxi Mobil call tracking case study. We handle the implementation and ongoing import checks as part of running Google Ads campaigns, and when identifiers need to pass through a server, server-side GTM helps.

How to implement offline conversion import: a checklist

Implementation comes down to eight points, checked in order before the first import. The first ones decide matching, which means the identifiers.

  • Turn on auto-tagging in the Google Ads account.
  • Store the gclid, wbraid and gbraid with every enquiry, respecting cookie consent.
  • Pass the identifiers from the form to the CRM, together with the enquiry time.
  • Create separate conversion actions in the account for each stage (qualification, contract), with the primary action clearly set.
  • Deploy enhanced conversions for leads next to the gclid import.
  • Choose the transfer method: a manual file at small scale, an integration or the API at larger scale.
  • Exclude test enquiries and send events continuously, with a margin against the 90-day limit.
  • After a few weeks, check the share of matched conversions in the import report and compare cost per customer across campaigns.

For us, as a marketing agency, this is one of the first implementations on lead-gen accounts, because it gives campaigns a criterion no form report supplies: whether the enquiry ended in a sale.

Q.What are offline conversions in Google Ads?

They are events that happen away from the site, such as lead qualification, a sales call or a signed contract, imported into Google Ads and attributed to the ad click that produced them. The campaign then sees real sales, not just submitted forms.

Q.Do I need a CRM to import offline conversions?

It does not have to be an elaborate system. You need a place where you record the lead together with the click identifier and mark what happened to it, for example a spreadsheet at small scale. With more enquiries, a CRM integration with Google Ads makes sense.

Q.How long can I wait to import after the click?

Google Ads keeps conversion data for the last 90 days. A click older than 90 days returns an error that it is too old to import, so with a long sales cycle import the intermediate stages rather than waiting for the end.

Q.Which is better: a gclid import or enhanced conversions for leads?

Google recommends enhanced conversions for leads, because they do not require keeping the gclid in the CRM and match the event through hashed contact data. In practice it is worth running both in parallel and setting the primary one after a transition period.

Q.Does offline import work in Performance Max campaigns?

Yes, imported conversions feed bidding strategies the same way tag conversions do, as long as the conversion action is set as primary. We cover the risks of that campaign type in our article on inflated ROAS in Performance Max.

Author
Karol Majewski
Karol Majewski
Co-founder of the digital agency Zest

Connects campaign data with CRM data so budget goes where signed contracts come from, not just submitted forms. On implementations he makes sure the click identifier reaches the lead record and comes back to Google Ads.

Related articles

Contact

Let's talk growth

Send a brief or drop your contact — we'll reply within 24h.

Get a quote
Founders