Click IDs captured at source, CRM stages mapped to distinct conversion actions, and scheduled uploads with retractions when a deal reverses.
About this service
Google Ads accepts an offline conversion up to 90 days after the click, but Smart Bidding learns from what arrives, not from what eventually happens. If your median lag from click to qualified lead is six weeks, the bidder spends most of a quarter optimising against a partial signal. So the first thing this engagement produces is your lag distribution — click to lead, lead to qualified, qualified to closed — and a recommendation on which stage to upload, which is nearly always earlier than the stage the sales director wants credit for.
Click ID capture at the right layer:
GCLID, GBRAID and WBRAID are captured on landing, written to a first-party cookie and a hidden form field, and persisted onto the CRM record at the moment it is created, not attached afterwards by a nightly job that guesses. Salesforce, HubSpot, Dynamics and Bullhorn each handle this differently, and the field has to survive record merges, which is where most implementations quietly lose a third of their matches. Where the click ID is genuinely absent — direct traffic, an inbound call, a form completed a fortnight later on another device — Enhanced Conversions for Leads carries the match on a normalised email or phone number, hashed with SHA-256 before it leaves your systems.
Stage mapping:
Each CRM stage that matters becomes a distinct conversion action with its own count and value, rather than one blended conversion the bidder cannot separate. In insurance that tends to be quote started, quote completed, policy bound. In recruitment: application, interview, placement. The mapping is agreed with the CRM owner and the person accountable for spend in the same room, because it commits both of them to a definition they will be measured against.
Uploads that keep running:
A scheduled job against the Google Ads API, Meta's offline event endpoint and the LinkedIn Conversions API — not a person exporting a spreadsheet on a Monday. Retractions and adjustments are handled: a deal uploaded as won and later reversed is corrected rather than left to distort a lookback window. Every run logs match rate, rejected rows with reasons, and lag, so a break is visible the day it happens instead of the month someone notices bidding drifting.
What we refuse:
No unhashed personal data leaves your boundary, and we will not build an upload path that would permit it. We do not upload from a CRM where stage dates are typed in by hand after the fact; the timestamps are the signal, and if a salesperson can backdate them, the model is being trained on somebody's memory. We will not create conversion actions inside an ad account with no named person accountable for what bidding does next, because this work changes spend and should not land in an account nobody owns. And we do not do the CRM hygiene that should already exist.
Who this is not for:
Accounts below roughly fifty qualified leads a month. Beneath that the platforms have too little to learn from, and importing offline conversions gives you an accurate report and no bidding benefit — worth doing for measurement, not worth this price. It is also wrong for anyone expecting reported conversions to rise. The usual first-month outcome is a fall, because volume previously counted at form fill turns out to be unqualified.