The deal closed in Salesforce four months after the original ad click. Salesforce knows it closed. Google Ads has no idea it happened, has never heard of it, and is still optimizing bidding toward whatever signal it could actually see back when the click occurred — usually just a form fill.
Why this gap exists by default
Ad platforms and CRMs are separate systems that don't talk to each other unless something specific connects them. Google Ads sees a click and, at best, a form submission shortly after. Salesforce sees a lead record that, over the following weeks or months, moves through qualification, opportunity stages, and eventually closes — entirely inside its own system, invisible to the ad platform that originally generated it.
How the connection actually gets built
- 01Capture the click ID at lead capture. When a visitor clicks a Google or Meta ad, the URL carries a click identifier (gclid, fbclid) — see GCLID and FBCLID explained. Capture this value in a hidden form field and store it on the resulting Salesforce Lead record.
- 02Track the lead through Salesforce's own stages. Lead → Marketing Qualified Lead → Opportunity → Closed Won, each with a timestamp, gives you the full lifecycle the ad platform can't see on its own.
- 03Send qualified-stage events back to the ad platform, matched by the stored click ID, using each platform's offline conversion import mechanism — see offline conversion tracking for how that import actually works.
How this typically gets implemented
- Native/AppExchange integrations — Google Ads and Meta both have official or third-party-maintained connectors that can sync qualified Salesforce stages back automatically on a schedule.
- Salesforce Flow / scheduled batch jobs — for custom stage definitions or less common platforms, an automated export of qualified records (with their stored click IDs) can be built to run on a recurring schedule.
- Manual CSV export — the simplest starting point, and often enough for lower-volume accounts: export qualified/closed records periodically and upload them through the ad platform's own offline conversion import interface.
What this actually changes
Once qualified-lead or closed-won data flows back to Google Ads or Meta, their bidding algorithms can start distinguishing between campaigns generating real pipeline and campaigns generating high volumes of leads that never go anywhere — often revealing they're not the same campaigns.
If you use HubSpot instead of Salesforce
The underlying mechanics are identical regardless of CRM — capture the click ID, track the lead through defined stages, send qualified outcomes back. See HubSpot attribution reporting for the HubSpot-specific version of this same loop, and B2B attribution for the broader picture this connects to.