Offline conversions · 2026 setup guide
Import your offline conversions into Google Ads
A click is where the journey starts, not where it ends. Connect a closed deal back to the click that earned it — the full 2026 pipeline, and how to automate it so every row actually lands.
The offline conversion loop
From ad click to a sale credited back to the campaign.
- Google's click-ID indexing window
- ≈6 hrs
- The conversion upload window
- 90 days
- Median conversion lift from a hybrid identifier
- 10%
- CPA cut from Negative Signaling
- up to 50%
Key takeaways
- Offline Conversion Tracking (OCT) sends closed deals back to Google Ads so bidding optimizes for revenue, not cheap form-fills.
- The setup has three parts: create an Import conversion action, capture the click ID (GCLID / WBRAID / GBRAID), and SHA-256-hash the customer data.
- Google needs about 4–6 hours to index a click ID; uploading sooner triggers a CLICK_NOT_FOUND error.
- ClickSambo automates capture, hashing, the timing window and real-time sync, so every conversion matches.
Step 1 of 3
01
Create the conversion shell in Google Ads
In Goals › Conversions › Summary, add a new conversion action and choose Import → CRMs, files, or other data sources, then tick Track conversions from clicks. Set the category to Qualified lead or Converted lead, name it something you'll recognise (e.g. ClickSambo_Offline_Sale), assign a Value so value-based bidding works, and set Count to One. Confirm the connection method is API.
Step 2 of 3
02
Capture the click ID and pass it to your CRM
Every click carries a unique ID — GCLID for Search, WBRAID for iOS web, GBRAID for iOS app and YouTube. A lightweight script stores it in localStorage, and a hidden form field injects it on submit — so each lead reaches your CRM already tagged to its ad click, ready for attribution.
Step 3 of 3
03
Hash the customer data before it reaches Google
2026 rules prohibit sending raw email or phone. For Enhanced Conversions for Leads, normalize first — trim whitespace, lowercase everything — then hash with SHA-256. Skip the normalization and the hash won't match Google's records, so the conversion silently fails to attribute.
The pitfall that breaks most setups
The 6-hour rule
Don't upload the moment a lead comes in
Google needs roughly 4–6 hours to index a new click ID before it will accept a matching conversion. Upload too early and you get a CLICK_NOT_FOUND error — the ID isn't searchable in Google's database yet. ClickSambo waits out this window automatically, so the error never fires.
Uploading data isn't the finish line
In 2026's AI-driven bidding, how you feed the signal matters as much as sending it. Four pillars separate high-growth accounts from the rest.
Sync in near real time
AI Max runs on fresh signals. Weekly batches teach it to optimize for the past; syncing on lead-status change lets Smart Bidding react to intraday auction shifts.
Send two identifiers
Pair the click ID with a hashed email and phone. If the user clears storage or switches device, Google still matches on the hash — a median 10% lift in conversions over standard offline imports.
Weight by worth
Assign real values — an MQL at $50, an SQL at $250, a closed deal at its actual contract value — so the AI hunts for lifetime value, not the cheapest form-fill.
Upload milestones
In long B2B or high-ticket cycles, waiting for the final sale leaves a signal gap. Upload demo, proposal or in-person visit events to keep feeding the algorithm inside the 90-day window.
You wired it up. So why did a chunk of your uploads never land?
Every step above has a silent failure mode. Google rejects what it can't match, and the missing lead never shows up in a report — so you end up optimizing on data that's quietly incomplete.
Feed partial, late data into Smart Bidding and it optimizes confidently toward the wrong prospects — while your real buyers go uncounted. The report looks fine; the spend doesn't.
How ClickSambo closes the loop
ClickSambo's automated OCI bridge runs the whole pipeline — capture, hashing, timing and sync — on top of the setup above. It's a Google-certified click-fraud tracker that lands every row.
Automatic identity capture
GCLID, WBRAID and GBRAID stored and injected into your forms as hidden fields — no developer work needed.
Compliant hashing, done right
Every email and phone is normalized, then SHA-256-hashed before it leaves your server — no silent mismatch, full compliance.
The 6-hour rule, handled
The bridge waits for the exact moment the ID is indexed before uploading, so CLICK_NOT_FOUND errors simply never fire.
Real-time sync & alerts
Pushes the moment a lead status changes and emails you on every successful match — real-time ROI, hands-free.
Beyond the wins: Negative Signaling
ClickSambo also uploads the bots and fake clicks it detects — via Stabil Device ID fingerprinting — to Google as a negative signal, so AI Max learns the "DNA" of fraudulent traffic and steers away from it. A traffic-cleaning effect that can cut CPA by up to 50%.
See what your ads are really paying for
You closed the loop. Now see how much of your spend goes to clicks that will never become a customer.
Start with a free scan
- Invalid-traffic share across your account
- The human-vs-bot split behind your conversions
- Where the wasted spend is actually going
- No card needed to see your first report
Prefer to compare plans first? See pricing
Frequently asked questions
Why do I see a CLICK_NOT_FOUND error?
The click ID hasn't been indexed yet. Google needs roughly 4–6 hours after the click before it will accept a matching conversion, so uploading immediately after a lead comes in fails. ClickSambo waits out this window automatically, so the error never fires.
Is SHA-256 hashing required for Enhanced Conversions?
Yes. Raw personal data can't be sent to Google. Email and phone must be normalized — whitespace removed, everything lowercased — and then SHA-256 hashed before upload. ClickSambo handles both steps on every row, so a formatting slip can't quietly break your attribution.
What is Negative Signaling?
Uploading the fraud and bot patterns ClickSambo detects to Google as a secondary signal. It teaches AI Max to recognise invalid traffic and de-prioritise the placements wasting your budget — the opposite of a conversion signal, working in the same pipeline.
What changed with the April 2026 Google Ads API?
The update added "Fallback Recovery," which can attribute some previously rejected or expired click IDs — reducing EXPIRED_EVENT errors and reconciling CONVERSION_PRECEDES_EVENT timing conflicts. Flexible import also cut UNAUTHORIZED_CUSTOMER and INVALID_CUSTOMER_FOR_CLICK errors for manager and client accounts. It helps, but the 6-hour indexing window still applies.
Does the June 2026 Data Manager API migration affect this setup?
As of 15 June 2026, Google moved offline conversion imports and Enhanced Conversions for Leads uploads from the Google Ads API to the Data Manager API, and the older path is being retired. If you upload conversions yourself, you’ll need to move to the Data Manager API. ClickSambo manages this connection for you, so your conversion sync keeps working through the migration — nothing to change on your side.
ClickSambo (2026). Google Ads Offline Conversions — the 2026 setup guide.
Based on our full guide: Google Ads Offline Conversion Guide 2026