Robustech
Google Ads tracked to real sales: Send closed deals back. An orange magnifying glass over glass result bars with check marks

Performance Advertising

Google Ads Offline Conversion Tracking: 2026 Setup Guide

Set up Google Ads offline conversion tracking in 2026: capture GCLID, turn on enhanced conversions for leads, connect Data Manager and plan value bidding.

By Hiba Darwish · Published · 8 min read

Google Ads offline conversion tracking connects what happens in your CRM (a qualified lead, a booked job, a signed contract) back to the ad click that started it, so Smart Bidding can optimize for real customers instead of form fills. In 2026 the setup looks different from older guides: since June 15, 2026, offline conversion imports and enhanced conversions for leads uploads go through the Data Manager API and are blocked in the Google Ads API. The fundamentals are unchanged: capture the click ID and the customer's email or phone, map CRM stages to conversion actions, and upload daily.

This guide covers the 2026 changes, GCLID capture, enhanced conversions for leads, data source lookback windows and value-based bidding readiness.

What changed in 2026

Three changes matter for anyone running or rebuilding offline tracking this year.

Uploads moved to the Data Manager API. From June 15, 2026, offline conversion import and enhanced conversions for leads uploads moved to the Data Manager API and are blocked in the Google Ads API. Developer tokens that made no such requests between January and June 2026 were not allowlisted for legacy access (Google Ads Help). If a developer or vendor built your upload, ask them which API it uses today.

One setting for enhanced conversions. Since April 2026, enhanced conversions for web and enhanced conversions for leads share a single on/off setting, and existing users were migrated automatically (Google Ads Help).

Offline conversion import is now "legacy". Google describes enhanced conversions for leads as the upgraded version. It uses hashed user data, is more durable, and can capture engaged-view and cross-device conversions. Google still says to include GCLIDs whenever possible, and enhanced conversions for leads is required if no tag on your site collects user data (Google Ads Help).

Offline conversion import vs enhanced conversions for leads

Offline conversion import (GCLID) Enhanced conversions for leads
How it matches Google Click ID stored with the lead Hashed email or phone captured on the form
Google's status Legacy Recommended, upgraded version
What breaks it Lost or altered GCLID, missing auto-tagging No email or phone captured, user not signed in to Google
Best practice Keep capturing GCLIDs Send hashed identifiers and GCLIDs together

You do not have to choose one. Google found that adding first-party data such as email and phone to GCLID imports showed a median 10% increase in conversions compared with standard offline imports (Google Ads Help). Send both.

Step-by-step setup

Seven steps to send closed deals back to Google Ads: turn on auto-tagging, save the click ID, turn on enhanced conversions, match CRM stages, connect your CRM, upload daily, check diagnostics
The setup in seven steps.

Step 1: Turn on auto-tagging and accept customer data terms

Auto-tagging is required for offline conversions (Google Ads Help). Enhanced conversions for leads also needs the customer data terms accepted in your account settings (Google Ads Help). Check both before anything else.

Step 2: Capture the GCLID on every form

When auto-tagging is on, Google adds a gclid parameter to your landing page URL (or gbraid / wbraid). Your site needs to read it, keep it while the visitor browses, and submit it with the form. Google's own sample script stores the GCLID in a cookie or localStorage for 90 days and fills a hidden form field (Google Ads Help).

Illustrative example only (simplified, adapt and test before use):

<!-- Hidden field inside your lead form -->
<input type="hidden" name="gclid" id="gclid_field">

<script>
  (function () {
    var NINETY_DAYS = 90 * 24 * 60 * 60 * 1000;
    var params = new URLSearchParams(window.location.search);
    var gclid = params.get('gclid');

    // Save a new click ID with an expiry date
    if (gclid) {
      localStorage.setItem('gclid', JSON.stringify({
        value: gclid,               // keep exact case: GCLIDs are case sensitive
        expires: Date.now() + NINETY_DAYS
      }));
    }

    // Fill the hidden field from storage if still valid
    var stored = JSON.parse(localStorage.getItem('gclid') || 'null');
    var field = document.getElementById('gclid_field');
    if (stored && stored.expires > Date.now() && field) {
      field.value = stored.value;
    }
  })();
</script>

Handle gbraid and wbraid the same way in their own fields. Then map the hidden field to a dedicated CRM property and confirm, on a real test click, that the value in the CRM matches the URL character for character. GCLIDs are case sensitive, and CRMs or spreadsheets that change capitalization silently break matching (Google Ads Help).

Multi-page and multi-step forms are where GCLIDs usually get lost, because the parameter is gone by the time the visitor reaches the final step. If you use a multi-step lead qualification form, read from storage on the last step, not from the URL.

Step 3: Turn on enhanced conversions for leads

Enhanced conversions for leads needs auto-tagging, accepted customer data terms and an email or phone field on the form. You can set it up with automatic form detection, the gtag('set', 'user_data', ...) command, or Google Tag Manager. Hashing is hex SHA-256 after normalization: lowercase and trimmed email, and phone in E.164 format (for example, +13125550100). Google "strongly recommends" sending the consent field (Google Ads Help).

Step 4: Map CRM stages to conversion actions

Create one offline conversion action per CRM stage you want Google to see, for example:

  1. Qualified lead
  2. Appointment booked or proposal sent
  3. Closed won

Set one as primary (the stage Smart Bidding optimizes toward) and the rest as secondary (reported, not bid on). Primary versus secondary directly affects Smart Bidding (Google Ads Help). Choose the primary stage carefully: it should happen soon after the click and often enough to train bidding (see the readiness section below).

After creating a new offline conversion action, wait 4 to 6 hours before uploading to it (Google Ads Help).

Step 5: Connect a data source in Data Manager

Your options include Google's native Salesforce and HubSpot connectors, Google Sheets, scheduled file uploads (SFTP, cloud storage, HTTP), database connections such as BigQuery, or the Data Manager API directly. The choice changes how far back Google will accept conversions, which is the next section.

Step 6: Upload daily

Each upload should include the GCLID (when present), hashed email and phone, conversion time, conversion value, currency and consent status. Google's value-based bidding guidance is to upload daily (Google Ads Help). Daily uploads also keep bidding responsive and make failures visible quickly.

Step 7: Validate with diagnostics

Use the conversion action diagnostics and upload summaries in Google Ads to check match rates and errors. Two failure causes covered in this guide are altered GCLIDs (they are case sensitive) and clicks outside your data source's lookback window.

Lookback windows by data source: 14 vs 90 days

Many guides say offline conversions can be imported up to 90 days after the click. That is only true for some data sources. Google's prerequisite is a click-to-conversion cycle of "less than 14 days or 90 days, depending on the data source" (Google Ads Help):

Data source What each run imports
Cloud Storage, Amazon S3, HTTP, SFTP, Google Sheets Conversions from the last 90 days, in every run
Salesforce and HubSpot native connectors The last 14 days on the first successful run, then all changes reported between the last successful run and the current one
BigQuery, Redshift, Snowflake, MySQL, PostgreSQL The last 14 days, in every run

The connector and database windows matter most for long cycles. Database sources only ever look back 14 days, and the native Salesforce and HubSpot connectors backfill only 14 days when you first connect them before switching to incremental syncs. If your qualified stage typically lands weeks after the click, confirm how your source handles it in Data Manager or with Google support before relying on it. The safer options are to pick an earlier proxy stage that happens within the window, or to use a scheduled file or Sheets upload with the 90-day window. A custom CRM can write directly to whichever source fits your sales cycle.

Value-based bidding readiness for lead generation

Value-based bidding tells Google that some leads are worth more than others. Google's readiness guidance for lead generation (Google Ads Help):

  • Pick a funnel stage with "a relatively short conversion delay and at least 15 monthly conversions"
  • Use at least 2 unique non-zero values
  • Collect at least 4 weeks or 3 conversion cycles of consistent value data before switching
  • Allow at least 2 weeks or 3 conversion cycles of ramp-up before judging results
  • Upload daily and avoid zero values

This guide uses Google's current value-based bidding guidance for lead generation: at least 15 conversions a month at the chosen stage.

Setting proxy values

Most lead gen businesses do not know a lead's revenue when it qualifies. Use a proxy: the stage's value equals its historical close rate multiplied by average deal value. With hypothetical numbers: if 20% of your qualified leads close and your average deal is $5,000, a qualified lead is worth $1,000 to the bidding model. Revisit the numbers quarterly.

Google cites Citibanamex, which grew credit card bookings 27% and cut cost per booked card 7% after adopting value-based bidding (Google Ads Help). That is a large finance advertiser, not a lead generation benchmark, so treat it as an example of the approach rather than an expected result.

Long sales cycles

If deals close in 4 to 9 months, you cannot train bidding on closed revenue. Optimize toward the earliest stage that reliably predicts revenue, such as a sales-accepted lead or a completed discovery call, and keep later stages as secondary actions for reporting. Responding fast helps here, because a lead that is reached quickly reaches the qualified stage sooner; see our guide to speed to lead.

Limitations: when this is not the right choice

  • Very low volume. If no stage reaches roughly 15 conversions a month, value-based bidding has little to learn from. Track offline stages anyway for reporting, but keep bidding on a simpler goal until volume grows.
  • Signed-in users only. Enhanced conversions match only people signed in to a Google account, so some leads will never match.
  • Bad data trains bad bidding. The wrong primary action, junk leads marked as qualified, or zero values will teach Smart Bidding the wrong lesson. Agree on stage definitions with sales before you upload.
  • Privacy and consent. Fill the consent field and follow the US state privacy laws that apply to you. Hash identifiers before upload.
  • Maintenance. Any custom upload now depends on the Data Manager API. Someone needs to own it when Google changes it again.

Bringing it together

Offline conversion tracking works when three things are true: every lead carries its GCLID and contact details into the CRM, your sales stages are updated consistently, and a daily upload sends those stages to Google through a source whose lookback window fits your sales cycle. The same CRM events can feed Meta through the Conversions API and LinkedIn through its own Conversions API return path, so one clean pipeline trains all three platforms.

If you want that pipeline built and maintained alongside your campaigns, Robustech's performance advertising service handles tracking, CRM integration and bidding strategy as one system.

Frequently asked questions

What is a GCLID and how do I store it in my CRM?

The GCLID is the Google Click ID that auto-tagging adds to your landing page URL when someone clicks an ad. Capture it with a small script, keep it in a cookie or localStorage (Google's sample script uses 90 days), copy it into a hidden form field and save it on the CRM contact record. Store it exactly as received, because GCLIDs are case sensitive.

What is the difference between offline conversion import and enhanced conversions for leads?

Offline conversion import matches CRM outcomes to ad clicks using the GCLID. Enhanced conversions for leads matches them using hashed email or phone captured on your form, which Google describes as more durable and able to capture engaged-view and cross-device conversions. Google now calls offline conversion import legacy and recommends enhanced conversions for leads, while still including GCLIDs whenever you have them.

My sales cycle is longer than 90 days. Can I import closed deals?

Not reliably. Lookback depends on your Data Manager source: file sources (Cloud Storage, S3, HTTP, SFTP, Google Sheets) import conversions from the last 90 days in every run; database connections import the last 14 days in every run; native Salesforce and HubSpot connectors import the last 14 days on the first run, then changes reported since the last successful run. Confirm how your source behaves in Data Manager or with Google support, and for long cycles import an earlier proxy stage such as a qualified lead or booked meeting, with a value based on how often it turns into revenue.

How many conversions does Smart Bidding need to optimize for qualified leads?

For value-based bidding on lead generation, Google's guidance is to pick a funnel stage with a relatively short conversion delay and at least 15 conversions a month. It also asks for at least two unique non-zero values and four weeks or three conversion cycles of consistent value data before you switch.

Did the June 2026 Data Manager change break my HubSpot or Salesforce sync?

It depends on how conversions reach Google. Since June 15, 2026, offline conversion and enhanced conversions for leads uploads through the Google Ads API are blocked (except developer tokens that were allowlisted for legacy access) and must use the Data Manager API. If a third-party tool or custom script uploaded through the Google Ads API, confirm it has moved; then check upload diagnostics in Google Ads for errors since mid-June.

Keep reading

Ready to own your revenue engine?

Book a free strategy call. We will audit your ads, site, CRM and follow-up and show you where leads are leaking.