If you optimize SaaS Google Ads to cost per lead, you will get cheaper leads that close less often — that is the whole problem in one sentence. Cost per lead counts every form fill the same, so the bidding algorithm chases the cheapest form-fillers it can find, most of whom never become customers. Cost per SQL — your spend divided by only the leads sales actually qualified — is the honest channel benchmark, because it ignores the junk and ties paid search to real pipeline. This post is how I get accounts off the cost-per-lead trap and onto bidding to qualified pipeline and revenue.
I manage paid search for a couple hundred SaaS companies, and the single most common reason an account looks fine on the dashboard but feels broken to the business is this exact mismatch: the cost per lead is falling, everyone is happy, and the sales team quietly stops taking the meetings because the leads are garbage.
What cost per lead actually hides
Cost per lead treats a serious buyer and a bored competitor as identical conversions. A demo request from a 200-seat company on your ideal-customer keyword and a free-tier signup from a student writing a term paper both count as "1 lead." When those go into the same bucket, your cost per lead is an average of two completely different populations — and Smart Bidding optimizes against that average.
Here is the trap in numbers. Say you spend $20,000 and get 200 leads, for a $100 cost per lead. Looks great. But only 30 of those leads were sales-qualified, so your real cost per SQL is $667. Now you "improve" the account and push cost per lead down to $70 — 286 leads on the same spend. The board claps. But the new cheap leads skew even worse, only 28 are qualified, and your cost per SQL quietly rose to $714. The headline metric improved while the business got worse. That is not a hypothetical; it is the default outcome of bidding to form fills.
Why cost per SQL is the honest benchmark
A sales-qualified lead is one your sales team has looked at and agreed is a real opportunity — right company profile, real buying intent, worth a rep's time. Cost per SQL is your ad spend divided by that count. It is harder to game and harder to fool yourself with, which is exactly why it is the number I report to founders instead of cost per lead.
It is also the only lead-stage metric that correlates with revenue across keywords. Two campaigns can have identical $90 costs per lead and wildly different costs per SQL — one converts 25% of leads to SQLs, the other 4%. Cost per lead says they are twins. Cost per SQL says one is carrying your pipeline and the other is lighting money on fire. For realistic ranges by segment, I keep a fuller reference in our B2B SaaS CAC benchmarks post, but the short version: cost per SQL for B2B SaaS commonly runs $800–$2,500, with developer tools lower and regulated verticals higher. Treat those as industry ranges, not targets.
How to feed SQL data back into Google Ads
Measuring cost per SQL in a spreadsheet is a start, but the real win is feeding that qualification signal back to Google so the bidding algorithm optimizes toward it. The mechanism is offline conversion import, and the chain looks like this:
- Capture the GCLID. Every lead that arrives from Google Ads carries a Google Click ID in the URL. Grab it with a hidden form field and store it on the lead record in your CRM. No GCLID, no offline conversions — this step is non-negotiable.
- Stamp the qualification event. When sales marks a lead as an SQL (and again when it closes), record the timestamp and, ideally, a value — the deal's expected or actual revenue.
- Upload it back to Google Ads. On a daily schedule, push those GCLIDs with their conversion action ("SQL", "Closed Won") and value into Google Ads, via a native CRM-to-Ads connector, the Google Ads API, or a tool like Zapier for lower volumes.
- Switch the bid strategy. Point the campaign's conversion goal at the SQL or revenue action and move to value-based bidding (Maximize Conversion Value or tROAS). Now the algorithm is learning from qualified pipeline, not form fills.
Once that loop is live, Google can see that the $14 click on a high-intent keyword produced three SQLs and a closed deal, while the $4 click from a broad-match afterthought produced forty leads and zero revenue — and it bids accordingly. Teams that make this switch routinely see materially more pipeline at a lower true cost per qualified lead, because the algorithm is finally pointed at the right outcome. If you want the full tracking setup, our SaaS Google Ads management engagements start exactly here, because nothing downstream works without it.
When you can't bid all the way to revenue
The honest answer is that not every account can bid straight to closed revenue. Smart Bidding needs enough conversion volume to learn — a rough rule of thumb is something like 30+ conversions per campaign over the trailing month. If your sales cycle is six months and you close a handful of deals a quarter, "Closed Won" is too sparse and too slow a signal for the algorithm to optimize against.
In that case, bid to the deepest signal that still has volume — usually the SQL. An SQL fires within days of the click instead of months, and for most SaaS funnels there are enough of them for the algorithm to learn. You still import the eventual closed-won value for reporting and to validate that your SQLs are translating to revenue, but the live bid target is the SQL. The principle holds: bid to the most qualified signal you have enough of, and use raw form fills only as a temporary bootstrap while you wire up the deeper events.
How to make the switch this month
You do not need a six-month data project to fix this. Start by pulling last quarter's leads from your CRM, tagging which became SQLs, and computing cost per SQL by campaign and by keyword. That alone will reveal which "cheap" campaigns are actually your most expensive, and it is the fastest audit you can run on a paid search account that feels off. Then get GCLID capture and offline conversion import live so the next quarter optimizes itself toward pipeline instead of form fills.
If you want a second set of eyes on whether your account is bidding to leads or to revenue, that is the first thing I check in a free Google Ads audit — it is the difference that separates SaaS accounts that scale from ones that just spend. And if you'd rather have a SaaS specialist run the whole loop end to end, that's exactly what I do as a Google Ads consultant for B2B SaaS. Cheap leads are easy. Qualified pipeline is the only thing worth paying for.