Offline Conversion Import (OCI) is the mechanism that sends post-click events from your CRM — qualified lead, opportunity created, closed-won deal — back to Google Ads so Smart Bidding can optimise against revenue rather than form fills. For B2B SaaS marketers it is the difference between bidding on "anyone who filled a demo form" and "people who actually became customers" (Google Ads Help, 2025-09-18).
What OCI is
Offline Conversion Import is a Google Ads conversion action whose source is "offline" — typically a CRM, billing system, or call-tracking platform — rather than a website pixel. You declare the conversion action in Google Ads (Tools → Conversions → New → Import → CRM, files, or other data sources), then send events keyed by the click identifier that was attached to the original ad click (Google Ads Help, 2025-09-18).
The supported click identifiers are GCLID (web), GBRAID (iOS app, ATT-allowed), and WBRAID (iOS app, ATT-denied). The identifier is appended to the landing-page URL by auto-tagging; your lead form, hidden field, or first-party data layer captures it and writes it into the CRM record alongside email, phone, and consent state. When the deal progresses, you upload {click_id, conversion_action_name, conversion_value, currency_code, conversion_time} — Google joins the row back to the original click and credits the campaign, ad group, keyword, and audience.
OCI is distinct from Enhanced Conversions for Leads (ECL), which uses hashed email/phone instead of click ID and is the recommended fallback when GCLID capture is unreliable. The two can coexist on the same conversion action — Google de-duplicates on click ID first, falling back to user-data match (Google Ads Help, 2025-11-04).
How OCI works end-to-end
Five components have to line up. Break any one and the audit finding is the same — "Smart Bidding optimising against the wrong signal":
- Click identifier capture. Auto-tagging on at the account level. Lead form contains a hidden field that reads
gclid/gbraid/wbraidfrom the URL or a first-party cookie. The cookie must survive cross-subdomain navigation and consent-mode denial states. - CRM field + write path. A dedicated
gclid(orclick_id) field exists on the Lead / Contact / Opportunity object. The web-to-lead handler writes it on form submit; downstream automation copies it from Lead to Opportunity at conversion. - Conversion-action mapping. Each meaningful stage —
MQL,SQL,Opportunity,Closed-Won— has its own offline conversion action in Google Ads, with category set correctly and the right value attribution model. - Upload path. Either Google Ads UI bulk upload (manual CSV), Google Ads API
ConversionUploadService, or — generally available since December 2025 — Data Manager API, which Google now positions as the unified ingest layer for OCI, Customer Match, and audience segments (Google Ads Help, 2026). - Freshness window. Conversions must be uploaded within 90 days of the original ad click (the hard OCI upload deadline, independent of the conversion action's click-through window setting, which can be configured up to 90 days for most categories and up to 540 days for some). Late uploads are rejected silently and never reach Smart Bidding.
Smart Bidding incorporates uploaded conversions into the next bidding-model refresh cycle. The lag from upload to influencing live bids is typically 1-3 days; for tCPA/tROAS strategies on a 30-day lookback, the first stable read on a revamped OCI feed is roughly 14 days in.
What changed in 2025-26
Two shifts dominate the 2025-26 OCI landscape, and they don't fully agree with each other.
Google's framing — Data Manager API consolidation. Data Manager API reached general availability in December 2025 as the recommended ingest path for OCI, Customer Match uploads, and audience segment management (Google Ads Developers blog, 2025-12-09). Data Manager unifies field validation, hashing, consent flags (Consent Mode v2), and partner connectors (Salesforce, HubSpot, Snowflake, BigQuery) into one schema. Google's stated benefits: higher match rates, fewer "invalid GCLID" errors, faster pipeline setup for advertisers who don't run engineering teams.
Agency reality — observed in the wild. The third-party signal is less clean. Search Engine Land flagged that the migration is enforced in stages rather than all at once: Customer Match uploads via the Google Ads API began failing for basic-access developer tokens on April 1, 2026, and offline conversion imports via UploadClickConversions are scheduled to follow on June 15, 2026 — leaving advertisers running two different pipelines through the spring of 2026 (Search Engine Land, 2026-03-04; Search Engine Land, 2026-05-15). Agency commentary from ALM Corp's May 2026 migration guide reports that B2B lead-gen accounts optimising to offline pipeline stages are the highest-urgency migration cohort, and that the cleanest playbook is to classify accounts by current implementation (custom API users, Data Manager users, file upload users) and migrate the high-spend B2B pipelines first (ALM Corp, 2026-05-17).
The honest read: Google positioned Data Manager as a "switch and you're done" upgrade, but the enforcement timeline is split — Customer Match was cut over first, OCI follows in June 2026. The safe play through mid-2026 is to keep your existing OCI pipeline running on ConversionUploadService until the June 15 deadline while you stand Data Manager up in parallel for Customer Match and new conversion actions.
Methodology note. Whitead's audit engine flags OCI gaps on B2B SaaS accounts through four signals: (1) at least one Search or PMax campaign with Smart Bidding (tCPA, tROAS, Maximize Conversions/Value) but zero offline conversion actions configured, (2) GCLID capture missing from primary lead forms (verified via landing-page network capture), (3) a configured offline conversion action with no uploads in the last 30 days (stale pipeline), and (4) Smart Bidding optimising against a form-fill goal whose value is uniform $0 or uniform-but-arbitrary (e.g., every lead = $100). When signals (1) + (2) fire together, the finding is HIGH severity because bidding is provably blind to revenue. We do not publish frequency claims pending sample-size disclosure in a later wave.
Common misconceptions
The bundling of "offline" with "manual CSV upload" leads many B2B teams to treat OCI as a quarterly chore rather than a daily pipeline. The next two questions surface the most expensive misreadings.
Is Enhanced Conversions for Leads a replacement for OCI?
No — they solve overlapping but different problems. ECL sends hashed email/phone on form submit and uses that to identify the user later when you upload a conversion event. It is the right fallback when GCLID capture is unreliable (cross-device journeys, consent-denied sessions, long sales cycles where the click cookie has expired). OCI on click identifier is more accurate per-event because the join is deterministic on a unique ID rather than probabilistic on hashed PII. The 2025-26 recommended pattern is to run both on the same conversion action: GCLID-keyed upload as primary, ECL hashed-user-data as fallback for rows where the click ID is missing or expired (Google Ads Help, 2025-11-04).
Does OCI work with consent-denied sessions in the EEA?
Partially. If the user denied marketing consent and Consent Mode v2 Advanced is implemented, the click still happens but no GCLID is written to the user's browser cookie — meaning your lead form cannot capture one to send to the CRM. Modeled conversions fill some of the gap statistically, but OCI as a direct join breaks for that user. ECL on hashed email partly recovers the signal where the user gave separate consent for email contact. The audit playbook here is to measure GCLID capture rate on EEA traffic separately from non-EEA — a sharp drop on EEA without a parallel rise in modeled conversions usually points to a Consent Mode v2 misconfiguration rather than an OCI problem.
Do I need to migrate to Data Manager API today?
Yes for new pipelines, with a hard deadline now in view. Customer Match uploads via the Google Ads API already started failing for basic-access developer tokens on April 1, 2026, and OCI via UploadClickConversions is scheduled to follow on June 15, 2026 — at which point new developers will be blocked from the legacy path entirely. The reasonable 2026 stance: stand Data Manager up for new conversion actions and Customer Match list management immediately, and complete the OCI migration before the June 15 cutover so your B2B lead-gen Smart Bidding signal does not go dark (Search Engine Land, 2026-05-15; ALM Corp, 2026-05-17).
Related concepts
OCI depends on click-identifier capture, so audit it alongside GCLID / GBRAID / WBRAID and pair it with Enhanced Conversions for Leads as the consent-resilient fallback. The signal you feed in flows directly into Smart Bidding and influences Data-Driven Attribution credit assignment. Once OCI is live, monitor GA vs Ads conversions mismatch — a healthy OCI pipeline often widens the gap to GA4 because Google Ads now sees revenue events GA4 never receives.
Sources
- About offline conversion imports — Google Ads Help, 2025-09
- About enhanced conversions for leads — Google Ads Help, 2025-11
- Using Google Ads Data Manager with enhanced conversions for leads — Google Ads Help, 2026
- The Data Manager API is now generally available — Google Ads Developers blog, 2025-12-09
- Google to disable Customer Match uploads in Ads API — Search Engine Land, 2026-03-04
- Google is moving offline conversion imports out of the Google Ads API — Search Engine Land, 2026-05-15
- Google Ads Offline Conversion Imports in 2026: June 15 API Change, Data Manager Migration — ALM Corp, 2026-05-17