
Last week I sat on a build call with a client in retirement planning. Their sales cycle runs 60 to 90 days from first click to signed client. Sometimes longer. And Google Ads, for all practical purposes, trains its bidding algorithm on about two weeks of data.
That mismatch is the quiet killer in most B2B and financial services ad accounts. If the only conversion Google ever sees is a form fill, it optimizes for form fillers. If you wait to report the closed deal, the signal arrives months too late to matter. Salesforce to Google Ads offline conversion tracking is how you fix it, and this post is the exact setup we build: the conversion stages worth sending back, the Salesforce to Zapier to Google Sheet plumbing, and the details that quietly break these builds.
Yes, this is the whole playbook. If you want to do it yourself, here you go. And if you want a partner to implement this for you, that's what we're here for.
Why long sales cycles break Google Ads optimization (and how offline conversion tracking fixes it)
Here is the constraint that shaped the whole conversation. You can report conversions back to Google Ads for up to 90 days after the click. That is when the Google click ID expires. But in my experience, the bid strategies really only leverage conversion data inside a much shorter window, roughly 14 days, when training the algorithm.
So a closed deal at day 75 still imports. It shows up in your reports. It just does not steer bidding in any meaningful way. And a deal that closes at day 100? It will not import at all.
On this call, the client's team asked exactly the right question: does our 60 to 90 day sales process change your recommendation? It changes everything. It means the conversions that train the algorithm have to come from earlier in the funnel, and they have to be quality signals, not just activity.
This is the Reverse Optimization Trap in action. Feed Google raw lead volume and it will find you more people who fill out forms. Feed it qualified stages and it finds you more people who become clients. The platform optimizes toward whatever you give it, including against your business if you give it the wrong thing.
The six conversion stages we send back (and why Closed Won is not enough)
For this client we landed on six stages:
- Lead Submission: they completed the first page of a multi-step form.
- Full Lead Submission: they finished every step of the form. Much higher intent.
- Screening Qualified: every new lead runs through a screening tool that estimates whether they're qualified or not, automatically.
- Contact Made: the appointment setter actually reached them. Same-day speed to lead.
- Qualified Prospect: a planner held the intro meeting and confirmed both assets and intent.
- Closed Won: signed client.
Why not just track Closed Won and optimize toward real revenue? Volume. Signed deals alone give you great quality of data but nowhere near enough volume to optimize from. The best training signal is usually the first qualified stage. It carries real quality information, it happens at meaningful volume, and it usually lands inside the window where Google is actually learning.
One rule from doing this a lot: only build stages your sales team actually uses. I have worked with businesses that set up ten or twelve stages, and half of them never get touched. Unused stages do not just clutter dashboards. They create the illusion of tracking without the data.
Weight the stages by value
Every stage gets a conversion value, and the later stages should be worth dramatically more. Then you can optimize toward all of the stages proportionally. Early signals keep the volume up. Late signals keep the algorithm honest about what a lead is actually worth.
The build: Salesforce to Zapier to Google Sheet to Google Ads
Step 1: capture the click ID before anything else
None of this works if the Google click ID never makes it into the CRM. On this build, the landing page forms POST directly to Salesforce with the GCLID and UTM parameters included in the payload. The forms are multi-step and fire at every step, so even a partial completion captures the critical contact info and the click ID.
If you are auditing your own setup, start here. Your conversion tracking may already be lying to you in ways that make everything downstream unreliable.
Step 2: trigger on CRM stage changes and write to a Google Sheet
Zapier watches Salesforce for stage changes. When a lead hits one of the six stages, it writes a row to a Google Sheet: the click ID, the conversion name, the conversion time, and the value. Google provides the sheet template.
You can sometimes push directly from Zapier into Google Ads. I have had better success with the sheet. It gives you a visible, auditable middle layer, and the client can own it.
Each stage needs its own zap, which is mostly duplication and reconfiguration. Expect an extra 30 minutes of build per stage and a slightly bigger Zapier bill. Worth it.
Step 3: schedule the upload
In Google Ads, connect the sheet as an upload source, run one manual upload to confirm it works, then set a schedule. Every 24 hours is the most frequent Google allows. I set mine for midnight so that whenever I am in an account, the data is always current through yesterday.
The details that break these builds
- Conversion names must match exactly. Every stage needs a conversion action created in Google Ads, and the name in your sheet has to mirror it perfectly.
- Conversion time needs timezone handling. The template expects a specific format, and if your zap writes times without the right timezone conversion, uploads fail or conversions land on the wrong day.
- The same click ID will appear multiple times. One person moving through six stages produces six rows. That is correct, not a bug.
- Share the sheet with the upload service address Google gives you, or Google cannot read it and the scheduled upload never runs.
A side benefit of firing everything from the CRM: your tracking survives landing page changes. Swap forms, redesign pages, or swapping from a form to a scheduling tool later. As long as the data lands in Salesforce, the pipeline back to Google Ads keeps working.
What this setup can and cannot do
Be honest with stakeholders about the limits. With a 60 to 90 day cycle, some closed deals will land outside the 90-day click window and never import. Google Ads will never be your revenue source of truth. Your CRM is. The point of this build is not perfect attribution in the ad platform. It is giving the algorithm enough qualified, timely signal to hunt for the right people. Your CRM data is the most valuable asset in your ad account precisely because it is the only place the full story lives.
We build some version of this for nearly every lead gen client, because running paid ads on a long sales cycle without offline conversion tracking is guesswork with a budget. If you would rather have a second set of eyes before you build it, we do a free system review where we look at exactly this: what your ads are optimizing toward, and whether that matches what your business actually wants.
Sources
- Google Ads Help: How to set up a Salesforce integration
- Google Ads Help: About Google Ads Conversion Import for Salesforce (90-day click-to-conversion window)

About the author
Kyle Rutledge
Owner
I’m Kyle, founder of Gradari, a paid ads lead generation agency that helps B2B and SaaS companies stop wasting budget on low-quality leads and start building systems that actually drive growth.
