Closed Won hit Salesforce last week. Google Ads still shows only the form fill from the landing page.
The Opportunity has no Google click ID. Data manager has nothing to join to the click.
Store GCLID on Lead and Opportunity, then import the stage change. Do not map lead created as a second form conversion.
Turn on auto-tagging, pass the click ID through web-to-lead, and connect Salesforce in Google Ads Data manager. Import Opportunity Stage becoming Closed Won, not every status change.
Store the click ID before Salesforce can send anything
Google's Salesforce integration help starts with auto-tagging and a click-to-conversion cycle under 90 days. Conversions uploaded more than 90 days after the associated last click are not imported. A six-month sales cycle that never stored GCLID cannot be backfilled through this path.
Create a custom field whose Field Name is GCLID, in all capitals, length 255, on both Lead and Opportunity. Google says to make it read-only so reps do not edit it. Map Lead GCLID to Opportunity GCLID on convert, and turn on field history tracking for Lead status and Opportunity Stage.
Web-to-lead must include GCLID as a hidden field. The form has to live on the same domain as the rest of the site so the capture script can fill it.
Google's GCLID setup help is the capture method. Do not paste a one-off script on a single landing page and skip the rest of the site.
If a middleware form tool sits between the page and Salesforce, that tool must pass GCLID through. A dropped hidden field is an empty Opportunity, and Data manager cannot invent the click. Observe local cookie consent rules when storing the ID.
Test with a fake gclid query on the URL, submit the form, and confirm the Lead field shows that value. Convert the Lead.
The Opportunity field must show the same value. Repeat for every lead form.
Connect Salesforce in Data manager, not legacy Linked accounts
Google retired the legacy Salesforce conversion import after May 31, 2025. New setup is Tools, then Data manager.
Linked accounts for this job moved there. If the conversion source still looks like the old Salesforce import picker, migrate.
Authorize a Salesforce login with enough access to the objects and history fields. Google suggests System Administrator for the easiest setup if default access has not been locked down. Enable the Salesforce API and field history tracking before the first run.
Create a conversion action as Import, from CRM data, tracking conversions from clicks, with Salesforce as the source. Direct connection is the native path.
Zapier is listed as a third-party option that can charge a fee. Prefer the direct link.
Google maps GCLID automatically in the field mapper. Conversion time is not mapped by hand. It uses the timestamp of the Lead or Opportunity field change that met the event, from history.
Map a value field if Closed Won should carry Amount. Unmapped value defaults to one.
Import the stage that means revenue, not the form fill
Google's example event is Opportunity Stage becoming Closed Won. That is the offline event. Mapping Lead created, or a first Lead status, usually duplicates the website conversion already firing on the thank-you page.
Set that Closed Won action as primary only if bidding should optimize to sales. Leave earlier Salesforce stages as secondary if they are observation only. Google warns that mixing primary and secondary wrong will starve Smart Bidding of the signal it is supposed to use.
Enhanced conversions for leads can join on hashed email or phone when GCLID is missing. That still needs first-party email or phone on the site form and in Salesforce, plus Google's customer data policies. It is a join key, not a reason to skip storing GCLID when auto-tagging already provides one.
Wait 4 to 6 hours after creating the conversion action before the first import. Google says a run too soon can error, and those failed Salesforce events are not retried automatically.
Schedule daily. Reporting can take up to 24 hours after a successful import.
Read rows imported versus rows with errors
The first successful Salesforce import in Data manager looks back 14 days only. Older Closed Won rows from last quarter will not appear on that first run. Later runs import changes since the last successful run, not a fresh 90-day dump.
View data integration history. Rows imported means well-formed rows left Salesforce. They still may not show as Google Ads conversions if the click was not from Google.
Rows with errors means the row was not valid, such as a missing field. Fix the Salesforce field, then wait for the next scheduled run.
Owner routing in HubSpot is a different job, covered in how to fix lead routing rules that assign enterprise deals to a catch-all queue. This post is the click ID and the stage import, not who owns the Opportunity.
- GCLID is empty on the Lead, so convert mapping writes nothing to the Opportunity.
- The click is older than 90 days, so Google Ads drops the upload.
- The first Data manager run only looks back 14 days of Salesforce events.
- The conversion action is newer than 4 to 6 hours, so the first job errors and does not retry.
- A form middleware dropped the hidden GCLID field before Salesforce.
- Lead created is mapped as primary while the site already counts the form fill.
Unlike a full lifecycle marketing and automation engagement, this post covers only Salesforce stage import into Google Ads. For a look at whether GCLID is on the Opportunity or the event is the form fill twice, start with Get Free Assessment.
If this post is wrong, outdated, or you would take a different path
I write from work I have done on real sites. Search products change, and a step that was right when I published can go stale. I can also be wrong about the method.
If you disagree with the approach, the facts, or the outcome, I want the detail. Tell me what is off, what you would do instead, and where you saw it. I use that to correct the post so the next reader is not stuck.
This is not a comment thread. Use Contact me so the note is tied to this post and I can reply.
You are sending feedback for
How to sync offline conversions back to Google Ads via Salesforce
CRM & Marketing Automation
https://test.hammadshk.com/blog/how-to-sync-offline-conversions-back-to-google-ads-via-salesforce