🙌 Our latest webinar is live!
Nov 7
Guides

How to Import Offline Conversions Into Google Ads

Andre Sottil
Founder & CEO, Admira

To import offline conversions into Google Ads, you turn on auto-tagging, capture the Google Click ID (GCLID) from each ad click into a hidden form field, store it on the lead in your CRM, create a "Conversions offline" action in Google Ads, and then send each closed sale back with its GCLID, conversion name and time. Google now routes these imports through Data Manager, and it recommends adding hashed email (enhanced conversions for leads) to match more sales. Once connected, Smart Bidding can optimize for real sales instead of form fills.

This is the Google-specific, step-by-step version. For the general picture across Meta, TikTok and other platforms, read our overview on connecting offline conversions from your CRM to ad platforms.

What is offline conversion import in Google Ads?

Many valuable conversions don't happen on your website. A lead fills a form, then a salesperson calls, visits happen, and the deal closes days or weeks later in your CRM. Google's offline conversion overview describes the mechanism: Google assigns a GCLID to every ad click, you store it with the lead, and when the lead converts you send the GCLID back with the conversion type and timestamp.

Google Ads then credits the sale to the campaign, ad group and keyword behind that click. That is the only way Search or Performance Max can learn which clicks become customers, not just which clicks fill forms.

What do you need before you import offline conversions?

RequirementWhy it mattersHow to check
Auto-tagging onWithout it, there is no GCLID in the landing page URLGoogle Ads account settings; click an ad and look for gclid= in the URL
Hidden GCLID field on every lead formCarries the click ID to your backendSubmit a test lead from an ad click URL
A CRM field for the GCLIDKeeps the ID with the lead until the saleOpen the test lead in the CRM
Clear sales stages and datesEach import needs a conversion timeCheck that closed deals have a close date
Consent handlingStoring click IDs in cookies follows local cookie rulesReview your consent banner and privacy notice

Two details from Google's GCLID setup guide trip up many teams: the GCLID is case sensitive, so never lowercase it; and the sample script stores it in a cookie for 90 days so it survives when the visitor browses several pages before submitting.

How do you capture the GCLID in your forms and CRM?

  1. Add a hidden field named something like gclid_field to every lead form, including landing page builders and pop-ups.
  2. Add a script on every page, ideally just before the closing body tag, that reads the gclid URL parameter, saves it in a first-party cookie or local storage, and fills the hidden field. Google Tag Manager can deploy it as a Custom HTML tag on all pages.
  3. Map the field to the CRM. In HubSpot, Salesforce, Kommo or Clientify, create a text property for GCLID and map the form field to it.
  4. Capture UTMs at the same time. They help you report on non-Google channels and on Google clicks that lack a GCLID. Our guide on passing UTM parameters into your CRM covers the hidden field setup.
  5. Test end to end. Click a real ad (or add ?gclid=test123 to a URL), submit, and confirm the value lands on the CRM record exactly as it appeared.

How do you create the offline conversion action in Google Ads?

These are the steps in Google's current guide:

  1. Go to Goals, then Summary.
  2. Select + Create conversion action, then Conversions offline.
  3. Select Add data source and choose a connection: a direct connection, Zapier, or a partner integration. You can skip it for now, but the setup won't be active until a source is connected.
  4. Choose a conversion category, such as Qualified lead or Purchase.
  5. Select the fields to import.
  6. Set the action as primary (used for bidding) or secondary (observation only). Google warns that getting this wrong can hurt Smart Bidding.
  7. Select Save and continue, then Agree and finish.

Wait 4 to 6 hours after creating a new action before uploading to it. Google notes that uploads made inside that window may take two days to show in reports.

Which data source should you use to import offline conversions?

How far back each import reaches depends on the source. Per Google's guide:

Data sourceLookback per runGood fit
Google Sheets, Google Cloud Storage, Amazon S3, HTTP, SFTP90 days each runSmall teams exporting from a CRM on a schedule
Salesforce, HubSpot (native)Last 14 days on the first run, then changes since the last runTeams whose deals live in those CRMs
BigQuery, Redshift, Snowflake, MySQL, PostgreSQL14 days each runTeams with a data warehouse
Zapier or a partner toolDepends on the toolCRMs without a native connector, such as Kommo or Clientify

Manual file uploads still exist, but Google labels file-based offline conversion import as legacy and recommends upgrading to enhanced conversions for leads. Also note the API change: from June 15, 2026, offline conversion uploads go through the Data Manager API and are blocked in the Google Ads API. If an old script or tool used the Google Ads API endpoint, confirm it was migrated.

What fields does each offline conversion need?

  • Google Click ID: the GCLID stored on the lead.
  • Conversion name: must match the conversion action name exactly, with the same spelling and capitalization.
  • Conversion time: when the sale or stage happened, with a time zone. You can set the time zone in the parameters row of the template, in the time value itself, or both.
  • Conversion value and currency (optional but recommended): the deal amount, for example in MXN or USD.
  • Order or deal ID (optional): helps avoid importing the same sale twice.

If you also send hashed email or phone, the import becomes enhanced conversions for leads, which can match sales even when the GCLID is missing. We explain that variant in our guide to Google Ads enhanced conversions.

Example: importing offline conversions for a real estate developer

Example (hypothetical numbers): a developer in Querétaro spends $12,000 a month on Google Ads. It gets 300 leads at $40 each. Sales books 60 visits, takes 15 reservations (apartados) and signs 6 contracts averaging $90,000.

StageCountCost per stageImport as
Form lead300$40Website tag (secondary once offline data flows)
Visit held60$200Offline, secondary
Reservation15$800Offline, primary (enough volume to bid on)
Signed contract6$2,000Offline, secondary, with value $90,000

Six contracts a month is too few for bidding, so the team bids on reservations and reports on contracts. Revenue of $540,000 on $12,000 of spend is visible in Google Ads with values attached. For the sector-specific version of this math, see how to measure cost per sale in real estate.

Why do offline conversion imports fail?

  • GCLID changed. A CRM or spreadsheet lowercased it, trimmed it, or turned it into scientific notation.
  • Name mismatch. "Qualified Lead" in the file vs "Qualified lead" in Google Ads.
  • Time zone wrong. An error saying the conversion happened before the click usually means the time zone is off.
  • Too old. The click is outside the lookback your source supports.
  • Uploaded too soon. You uploaded within 4 to 6 hours of creating the action.
  • No GCLID at all. The lead came from Meta, organic, WhatsApp or a Google click where the field wasn't captured. Add hashed email to recover some of these.

When offline conversion import isn't the right tool

It fits lead-gen and B2B teams that close sales in a CRM and spend enough on Google Ads for the signal to matter. It's less useful if most of your sales come by phone with no form (use call conversion tracking), if you close only a handful of deals a quarter, or if your sales team doesn't update stages. It also shows only Google's share. For long cycles, our post on attribution for long B2B sales cycles explains how to read the gap between click and close.

If you run several ad platforms, maintaining one import per platform gets heavy. Admira connects to the CRM once, ties each deal to its ad click, and sends CRM events back to ad platforms with its Conversion API; its lead tracking captures click IDs and UTMs automatically. If Google is your only paid channel and you use HubSpot or Salesforce, the native connector may be enough.

FAQ

How long after the click can I import a conversion?

It depends on the data source. Google's guide lists 90 days for sources like Google Sheets, SFTP and cloud storage, and 14-day windows for warehouse and native CRM sources.

Can I import offline conversions without a GCLID?

Yes, with enhanced conversions for leads, which matches on hashed email or phone. Google still recommends including the GCLID when you have it.

Should the offline conversion be primary or secondary?

Make it primary only for the stage you want Smart Bidding to optimize and that has steady volume. Keep other stages secondary for reporting.

How often should I upload?

Google's guide doesn't set one frequency. Daily scheduled imports are a common choice because they keep bidding signals fresh.

Is manual CSV upload still supported?

Google labels file-based imports as legacy and recommends Data Manager with enhanced conversions for leads.

Why are my offline conversions not showing?

Check the upload diagnostics, the exact conversion name, the time zone and the GCLID format. Uploads in the first hours after creating an action can take two days to appear.