Book a call
Home / Notes / Salesforce Google Ads Integration

Tracking & attribution · Guide

Salesforce + Google Ads: make bidding see closed-won.

The Salesforce–Google Ads integration is the difference between optimizing on hope and optimizing on revenue. Here's the working architecture — and the three places it silently breaks.

In one paragraph

Salesforce Google Ads integration connects ad clicks to CRM outcomes: the Google Click ID (GCLID) is captured at lead creation, carried through Lead → Opportunity → Closed-Won, and exported back to Google Ads as an offline conversion — so Smart Bidding optimizes toward pipeline and revenue instead of form submissions.

The working architecture

  1. Capture. A lightweight script stores the GCLID in a cookie and writes it to a hidden field on every form. In Salesforce, that lands in a custom field (GCLID__c) on the Lead.
  2. Persist through conversion. Map the field so it survives Lead → Contact/Opportunity conversion — the most common silent break. If the field mapping is missing, every converted lead loses attribution.
  3. Define the export events. Typically two: an interim conversion at qualification (feeds bidding fast) and the money conversion at Closed-Won with the actual amount.
  4. Export back. Scheduled report → conversion import in Google Ads (daily), or the native Salesforce connector. Set imported conversions as primary; demote form fills to secondary.

The three silent failure modes

  • Lead conversion drops the field. Check field mapping explicitly; audit a sample of converted records monthly.
  • Duplicate management merges away the GCLID. Merge rules that prefer the older record erase the click ID from the surviving one. Configure merge priority for attribution fields.
  • The 90-day matching window. Long B2B and healthcare cycles blow past it. The interim conversion exists precisely so bidding still receives signal inside the window while Closed-Won lands whenever it lands.

CSV, API or native connector?

The native connector is convenient until it isn't — status flip-flops and sync gaps are hard to see from the outside. My standing position from production accounts: a scheduled CSV import is the auditable source of truth; if real-time matters, run API or connector plus a periodic CSV reconciliation that catches what the pipe dropped. Never trust a pure API path with revenue data you can't cross-check.

What it changes

Once bidding optimizes on Salesforce outcomes, the account stops recruiting form-fillers and starts recruiting buyers. On accounts I run, this switch — plus the restructure it enables — has been the single largest driver of results, including one healthcare program that now produces roughly nine times the verified outcomes at 78% lower unit cost. The generic mechanics are covered in the offline conversion tracking guide; the healthcare specifics in offline imports for healthcare.

AD CLICKGCLID → formSALESFORCEopportunityCLOSED-WONreal revenueGOOGLE ADSoffline importOFFLINE CONVERSION IMPORT — BIDDING LEARNS FROM VERIFIED REVENUE ONLY
GCLID to Salesforce and back: the import loop that lets bidding see closed revenue.
The field plumbing that must survive
Object / stepFieldFailure to check
Web formhidden GCLID fieldMulti-step forms dropping it
LeadGCLID__cNot created / not populated
Lead → Opportunityfield mappingMapping missing — most common break
Merge rulesattribution priorityOlder record wins, GCLID lost
ExportGCLID + name + time + valueTimezone format errors

Questions owners ask

Straight answers

Do I need a developer to integrate Salesforce with Google Ads?

For the GCLID capture script and field mapping, a few hours of admin/dev time. The export side is configuration, not code. I typically deliver the whole loop as a fixed-scope build.

Does this work with Pardot / Marketing Cloud forms?

Yes — the capture pattern is the same; the hidden field just has to survive the handoff into the Lead object. That handoff is exactly where to test.

Can HubSpot do the same thing?

Yes, with its own ads integration and the same GCLID logic. The architecture in this guide transfers; only the field plumbing differs.

Want the loop built and verified?

Fixed-scope integration: GCLID capture, Salesforce field mapping, import schedule, documentation. You verify every number afterward.

Book a 30-minute call$500 audit + 90-day roadmap