Your B2B account is tracking form fills but nothing downstream. Without Offline Conversion Import (OCI), Smart Bidding never learns which clicks turned into qualified leads, opportunities, or closed-won — so it optimizes for raw lead volume, which is exactly the signal junk leads pollute. This is one of the highest-leverage measurement fixes a B2B account can make.
Why this matters
For B2B and high-consideration lead-gen accounts, the form fill is not the conversion event Smart Bidding should learn from — it is the start of a multi-week qualification funnel. Without OCI, every click is judged on whether it produced a lead, regardless of whether the lead was a Fortune 500 procurement contact or a competitor doing recon. Smart Bidding faithfully learns this proxy, then scales the campaigns, keywords, and audiences that produce the most form fills per dollar — which is rarely the same set that produces the most pipeline per dollar [1].
The cost of leaving OCI off compounds with bidding strategy. Once a campaign moves to tCPA or Maximize conversions, the model's only feedback loop is the conversion action you defined. If that action is "form submitted," it cannot distinguish a $3 CPL spam lead from a $300 CPL enterprise inquiry — both look identical at bid time. Layer in Performance Max or AI-driven Search and the problem multiplies, because asset-group exploration and broad-match query expansion both rely on the same conversion signal [7].
OCI fixes this by feeding downstream events — qualified_lead, sql, opportunity_created, closed_won — back to Google Ads against the original gclid or hashed identifier. Smart Bidding then learns which keywords, audiences, and creatives produce revenue, not just leads. In practice this is the single highest-impact change a B2B audit recommends, because it converts a vanity metric pipeline into a revenue pipeline without touching budgets or structure.
The 2026 ingestion landscape is migrating fast. Google announced that the legacy UploadClickConversions request in the Google Ads API will stop accepting new advertisers on June 15, 2026; teams that have not imported offline conversions between December 2025 and May 2026 will hit CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE and must migrate to the Data Manager API [4][5]. Existing pipelines continue to function, but every greenfield implementation should land on Data Manager from day one [2][3].
How to verify the issue
- Open Tools → Conversions → Summary. Filter by Source: Import or Source: Upload from clicks / Upload from calls. Zero rows means the account has no OCI conversion actions configured.
- If conversion actions exist with
Source: Import, click each one and inspect Status.No recent conversionsfor >30 days with active traffic is a soft fail — the action exists but the pipeline is broken. - Check Primary vs Secondary: a B2B account should have at least one downstream OCI action (typically
qualified_leadorclosed_won) marked Primary. If the only Primary action isform_submit, Smart Bidding is optimizing on the wrong signal even if OCI exists upstream. - Verify GCLID capture in your CRM. Open a recent lead record and confirm the
gclidfield is populated for at least one paid-search-sourced contact. No GCLID stored = no OCI possible via the legacy path. - Open Tools → Data manager. If the menu item does not appear, your account has not yet been migrated to Data Manager; this is itself a finding for new Enhanced-Conversions-for-Leads setups, which now only support Data Manager files [3].
How to fix it
Total time: 4-12 hours for engineering + 7-30 days for first conversions to flow. Treat this as a measurement project, not a settings toggle.
- Decide the ingestion path. For a greenfield setup in 2026, go straight to Enhanced Conversions for Leads via Data Manager — it accepts both GCLID and hashed first-party data (email, phone), so attribution survives even if the GCLID was lost between the click and the CRM record [2][7]. Use the Conversion Adjustments API only when you need to upgrade an existing online conversion with revenue data after the fact.
- Capture identifiers at form submit. Inject
gclid,gbraid,wbraidfrom the URL into hidden form fields and post them into your CRM alongside email, phone, first/last name, country. Hash nothing client-side — Data Manager hashes during upload. Without these fields, OCI is mathematically impossible. - Define the downstream conversion actions. Tools → Conversions → + New conversion action → Import → choose Other data sources or CRMs. Create one action per qualification stage you want to optimize on (commonly:
qualified_lead,opportunity_created,closed_won). Mark the action you want Smart Bidding to optimize on as Primary; mark the rest as Secondary for measurement only — see Primary vs Secondary conversion actions for the bidding implications. - Set up Data Manager. Tools → Data manager → Connect product. Choose your source (Google Sheets, BigQuery, Salesforce, HubSpot, or a direct API connection). Map columns:
Conversion Action,Conversion Time(timestamp with timezone, formatyyyy-MM-dd HH:mm:ssZ),GCLIDorEmail/Phone, optionalConversion ValueandCurrency[3][6]. - Stage timestamps and timezones carefully. Conversion time must be the moment the qualification event happened in your CRM, not the original ad click — Google joins it to the click on its end. Missing or malformed timezone data is the most common cause of silent import failures [6].
- Schedule recurring uploads. Daily is the floor; hourly via the Data Manager API is preferred for accounts running aggressive
tCPAstrategies. The system is idempotent onConversion Action + Conversion Time + GCLID/email, so re-uploading the same row is safe — but design for at-least-once delivery, not exactly-once. - Verify the 90-day window. Conversions uploaded more than 90 days after the original ad click are dropped without an error in the UI (63 days for Enhanced Conversions for Leads). If your sales cycle exceeds 90 days, you cannot optimize against
closed_wondirectly — instead, optimize onsqloropportunity_createdand treat closed-won as a value-adjustment via Conversion Adjustments [6]. - Pair with Enhanced Conversions for Leads. Even when GCLID capture is solid, ~10-15% of leads arrive without one (cross-device, copy-paste URLs, ITP truncation). Hashed first-party data recovers most of these, which is why the modern recommendation is
GCLID + hashed user data, notGCLID alone[2][7].
How to confirm the fix worked
Diagnostic checklist — verify within 7 days of first upload
- At least one Import-source conversion action shows Status: Recording in Tools → Conversions → Summary.
- Data Manager → Connection diagnostics shows the last upload completed successfully with <1% row rejection.
- Match rate for Enhanced Conversions for Leads is ≥80% (lower is acceptable for ABM accounts with sparse traffic, but investigate <60%).
- Primary conversion action at the campaign level has been switched from
form_submitto the downstream OCI action you want Smart Bidding to optimize on — otherwise the upload is observed but not used for bidding. - Sample audit: pull a CRM lead from the past 14 days that was paid-search-sourced, find its GCLID, and confirm it appears in the Data Manager upload log within 24-48 hours of the qualification event.
- No
Hashing format invalid,Timestamp out of range, orConversion older than 90 dayswarnings in the diagnostics panel.
If all six pass, the rule closes. Allow 14-30 days after the Primary action switch for Smart Bidding to re-train; expect short-term CPL to rise as the bidder filters out junk-lead patterns it previously optimized for [1].
Blast radius. This finding rarely fires alone on a B2B account. It almost always co-occurs with enhanced_conversions_for_leads_inactive (the natural companion ingestion mechanic), attribution_model_last_click (the bidding model OCI is supposed to feed), and frequently primary_vs_secondary_conv_actions_misconfigured (because teams set up OCI but forget to promote the downstream action to Primary, so Smart Bidding still ignores it). Fixing OCI in isolation without auditing the Primary action mix is the single most common implementation failure — the data flows in, the diagnostics turn green, and bidding behaviour does not change. Treat OCI as the foundation of a four-step sequence: capture GCLID → upload via Data Manager → promote downstream action to Primary → switch bidding to tCPA against the new signal. Skip any step and the remaining work is wasted.
Related rules + concepts
- Offline Conversion Import — glossary on OCI mechanics, identifiers, and ingestion paths.
- Enhanced Conversions for Leads — pairs hashed first-party data with GCLID; the recommended 2026 default.
- GCLID, GBRAID, WBRAID — identifier types you must capture at form submit.
- Conversion Tracking — base concepts including Primary vs Secondary actions and bidding implications.
Sources
- Farsiight — Google Ads Offline Conversion Tracking in 2026: What Changed and What to Do. https://www.farsiight.com/resources/offline-conversions-google-ads/ (accessed 2026-05-25)
- Google Ads Help — About offline conversion imports. https://support.google.com/google-ads/answer/2998031 (accessed 2026-05-25)
- Google Ads Data Manager Help — About Google Ads Data Manager. https://support.google.com/google-ads-data-manager/answer/13761872 (accessed 2026-05-25)
- Google Ads Developer Blog — Changes to Offline Click Conversion Import Support in the Google Ads API. https://ads-developers.googleblog.com/2026/05/changes-to-offline-click-conversion.html (2026-05-15)
- Search Engine Land — Google is moving offline conversion imports out of the Google Ads API. https://searchengineland.com/google-is-moving-offline-conversion-imports-out-of-the-google-ads-api-477669 (2026-05-15)
- Google Ads Help — Guidelines for importing offline conversions. https://support.google.com/google-ads/answer/15081888 (accessed 2026-05-25)
- ALM Corp — Google Ads Offline Conversion Imports 2026: Data Manager API Guide. https://almcorp.com/blog/google-ads-offline-conversion-imports-2026-data-manager-api/ (accessed 2026-05-25)
- Google for Developers — Manage offline conversions (Google Ads API). https://developers.google.com/google-ads/api/docs/conversions/upload-offline (accessed 2026-05-25)