Offline conversion import is the single highest-leverage tracking change in a B2B Google Ads programme. Most accounts lack it because a hidden form field never captured the click ID, not because an integration is missing. Yet that field only starts a chain; an identifier that dies before the deal stage changes nothing.
Without the complete chain, offline conversion ROAS is theatre. The platform prices form submissions while the sales team judges opportunities and signed work.
Google Ads can see a click and form submission. It cannot infer which prospect attended a sales call, passed qualification or bought. That is why the ROAS shown in Google Ads can be a lie even when every dashboard looks technically tidy.
Why offline conversion ROAS changes bidding
A bidder can only optimise towards the outcomes it receives.
Consider an explicitly illustrative month at a UK firm: 40 forms reach the platform, 8 become sales-qualified opportunities and 2 close. The platform sees 40 primary wins versus a commercial reality of 8 plausible opportunities. Final revenue comes from 2 conversions, not 40.
That distinction changes which searches, audiences and campaigns receive budget. Importing offline outcomes does not manufacture demand. It replaces a weak training label with one carrying commercial meaning.
Platform ROAS remains useful for campaign steering, but wider budget governance belongs under a defined blended-versus-platform ROAS rule. Company-wide efficiency also requires a deliberate choice between ROAS and MER, rather than quietly switching denominators when results disappoint.
Journey architecture still matters. In our published project case studies, Lanteria routes a broad Microsoft 365 product across several stakeholder audiences, while AfriCap Hub structures catalogue discovery, filtering and registration. Those choices shape what users submit; they cannot reveal which enquiries became revenue.
B2B bidders need commercial labels, not more lead labels.
The six-link chain that usually breaks
The useful unit is the entire hand-off, not the integration logo. The six links and their specific failures are:
- Click ID captured. The GCLID must enter a hidden form field when the enquiry is created. This fails when the field is absent, a redirect strips the parameter or an embedded form never receives it. For phone enquiries, call tracking must associate the click ID with the caller’s session.
- Stored on the record. The identifier must survive the move into the sales record. This fails when a connector sends visible answers but omits hidden values, or when later updates overwrite the original identifier.
- Stage reached. A genuine commercial milestone must be recorded consistently. This fails when salespeople leave opportunities in an old stage, workflows fire on record creation instead of qualification, or rejected enquiries remain marked as viable.
- Value assigned. The event needs actual deal value or a defensible expected value. This fails when the value is blank, every outcome receives the same nominal amount or currency handling changes the economics.
- Uploaded. The event, time, value and conversion action must reach the correct advertising account. This fails through stopped schedules, malformed timestamps, duplicate event identifiers or uploads targeting the wrong action.
- Matched. The platform must connect the uploaded event to its original click. This fails when the GCLID was altered, belongs to another account or arrives outside the permitted window.
Inspect 10 recent paid-search records before commissioning more plumbing. If even 1 of 10 lacks its click ID, stop the upload work and repair capture first.
Run a separate acceptance test after uploading. A match rate of 90% passes; 70% fails. Below 90%, keep the imported action secondary and trace rejected rows before allowing value-based bidding to use it.
Calls follow the same chain. A recorded telephone number without its originating click ID can support sales reporting, but it cannot close the advertising feedback loop.
Reliable imports require every link to survive.
Which stage should carry offline conversion ROAS
Closed-won sounds pure and is usually too sparse, too delayed and too vulnerable to the GCLID window.
The primary stage must pass three tests: sales has verified it, the stage carries defensible economic value, and it occurs often enough to train bidding. A sales-qualified opportunity usually wins.
A raw form fill fails the first test because spam, job seekers and poor-fit firms still count. A marketing-qualified lead often remains too shallow because behavioural scoring does not prove buying potential. Closed-won passes the quality test but usually starves the bidder of timely signals.
Use a hard volume rule. If closed-won produces fewer than 15 matched events in a rolling 30 days, make sales-qualified opportunity the primary bidding conversion and retain closed-won as a secondary reporting action.
Quality needs its own boundary. If more than 10% of records entering the chosen stage are later rejected as duplicates, mistakes or obvious poor fits, tighten the qualification gate or move one stage later.
Google Ads will not import a GCLID-based conversion more than 90 days after the ad click. Compare that constraint with the 90th-percentile click-to-stage time, not the reassuring average.
At 85 days or less, the GCLID route retains a five-day operating buffer. Above 85 days, upload an earlier genuine commercial milestone occurring inside 90 days rather than waiting for closed-won. If no meaningful stage happens within 90 days, optimise towards the earliest defensible milestone and evaluate eventual revenue outside the platform.
The honest limit here is that earlier-stage value is confounded by changing close rates, margins and sales discipline. Expected value is a model, not booked revenue.
The claim is falsifiable: if qualified-opportunity imports leave query mix and cost per qualified opportunity unchanged after two full conversion-lag windows at stable spend, the bidding benefit did not materialise.
Optimise to the earliest stage carrying credible commercial value.
A worked offline conversion ROAS example
Take an illustrative UK consultancy converting one month of closed deals into uploaded values. The seven labelled inputs are:
- Monthly Google Ads spend input: £8,000
- Deal A net revenue input: £18,000
- Deal B net revenue input: £12,000
- Deal C net revenue input: £30,000
- Deal D net revenue input: £20,000
- Gross-margin rate input: 60%
- Eligibility assumption: all four deals retain valid, matched GCLIDs inside the upload window
The re-runnable arithmetic is:
Deal A uploaded value = £18,000 × 60% = £10,800
Deal B uploaded value = £12,000 × 60% = £7,200
Deal C uploaded value = £30,000 × 60% = £18,000
Deal D uploaded value = £20,000 × 60% = £12,000
Monthly closed-deal revenue = £18,000 + £12,000 + £30,000 + £20,000 = £80,000
Monthly uploaded gross-profit value = £10,800 + £7,200 + £18,000 + £12,000 = £48,000
Revenue ROAS = £80,000 ÷ £8,000 = 10.0x
Gross-profit return on ad spend = £48,000 ÷ £8,000 = 6.0xDo not upload one £48,000 monthly conversion. Send 4 deal-level events carrying £10,800, £7,200, £18,000 and £12,000 respectively.
In this illustrative account, the platform view changes from £0 imported gross-profit value to £48,000, while spend remains £8,000 versus £8,000. It also exposes a 10.0x revenue ROAS versus a 6.0x profit-value return; those are different measures and should be labelled accordingly.
Four closed wins remain below the 15-in-30-days primary-conversion rule. The closed-won action therefore stays secondary while a sufficiently frequent qualified-opportunity action trains bidding.
Consistent value definitions make uploaded ROAS interpretable.
If the path from ad click to signed revenue still has gaps, Actualyse will trace each hand-off with you — book a call
What does not work
Spend often gathers around four fixes that leave the commercial signal untouched:
- Buying a sophisticated integration before fixing capture. It moves blank fields more efficiently. No connector can reconstruct a GCLID that the landing-page form never collected.
- Using closed-won as the only primary conversion. Bidding receives too few signals after too much delay. The cleanest outcome becomes the least useful training event when deal volume is low.
- Assigning every upload a flat £1 value. The platform learns that events happened, but not which ones deserve more budget. Small opportunities and strategically valuable ones become indistinguishable.
- Uploading a retrospective spreadsheet once per quarter. Feedback arrives after bidding decisions were made, and older GCLIDs may already exceed the 90-day import window. A quarterly ritual is reporting, not an operating loop.
A new dashboard does not solve any of these failures. It presents the same weak inputs with better colour and cleaner charts.
Automation cannot repair missing or commercially meaningless data.
Three setup paths, with hard acceptance rules
The cheapest reliable route wins because plumbing has no commercial value of its own.
- Use the native CRM-to-platform connection when it passes all four payload elements: click ID, conversion time, conversion action and value. Accept the route only when at least 9 of 10 recent eligible records appear with the correct values and timestamps.
- Use middleware or an API workflow when the native route omits a required element or several sources must converge. Three triggers justify automation: more than 50 eligible events per month, more than one form-or-call source, or over 15 minutes of manual handling each working day.
- Use a controlled daily file upload when volume is 50 events per month or fewer and reconciliation takes under 15 minutes daily. Two missed upload days in one month trigger a move to automation because the manual process lacks a dependable owner.
Tool choice must follow a commercial B2B Google Ads strategy, not dictate the conversion definition. Within our B2B Google Ads management work, a connection is not treated as live until capture, values, matches and duplicates pass acceptance.
Reliable simplicity beats impressive plumbing.
FAQ
Four implementation questions matter after the first successful upload.
Should calls and forms share one conversion action?
Keep them separate unless both pass the same sales qualification gate and use the same value basis. If their median expected values differ by more than 20%, separate actions prevent the stronger source from subsidising the weaker one.
How should duplicate submissions be handled?
Deduplicate at opportunity level and send a unique event identifier with every upload. If duplicates exceed 1% of monthly uploads, pause the job and repair the deduplication rule before bidding consumes inflated volume.
What happens when an imported deal is cancelled or reduced?
Use a conversion adjustment rather than leaving false value in the platform. Retract a complete cancellation within 7 days of its status change; restate the value when a partial reduction exceeds 5%.
Who owns reconciliation?
Use a three-owner model: marketing operations owns the weekly import, sales operations owns stage accuracy, and finance validates value monthly. A discrepancy above 5% between eligible CRM value and matched platform value blocks the next bidding change.
Clear ownership keeps tracking accurate after launch.
Summary
Six operating rules:
- Reject integration work until 10 recent records prove click-ID capture.
- One blank click ID among 10 records triggers a capture repair.
- Fewer than 15 matched wins in 30 days makes qualified opportunity primary.
- A 90th-percentile lag above 85 days requires an earlier commercial stage.
- Upload deal-level values; never post the monthly total as one conversion.
- A match rate below 90% blocks value-based bidding until reconciliation passes.
Actualyse builds measurement and attribution setups that tie B2B ad spend to real revenue. Book a call to talk through where yours stands.

