Skip to content

Cost per SQL for B2B Google Ads: How to Calculate It, What Counts and How to Use the Number

· by Digitelia team 5 min read

TL;DR

In B2B the cheapest lead is rarely the cheapest sales-qualified lead (SQL). Cost per lead (CPL) tells you what a form fill cost; cost per SQL tells you what a conversation your sales team actually wants costs, and it is the number that decides whether a campaign deserves more budget. To get it, you need three things: a written SQL definition, the click ID of every lead stored in your CRM, and a report that groups outcomes by the date the lead was created, not the date it qualified. The worked example below uses made-up numbers to show the arithmetic, not benchmarks: replace them with your own. We do not publish industry averages for cost per SQL because they depend entirely on your price, sales cycle and definition of “qualified”.

Why cost per lead misleads in B2B

A Google Ads account reports conversions, usually form submissions. Those conversions treat a student downloading a template and a head of marketing requesting a demo as the same event. Two campaigns can show the same CPL and produce very different pipeline.

Typical ways CPL lies:

  • Broad or informational keywords produce many cheap leads who never answer the phone.
  • Low-friction forms raise lead volume and lower lead quality at the same time.
  • Automated bidding follows the conversion you give it. If the conversion is “any form submit”, the system learns to find cheap form submits.

If you only look at CPL, you can end up pausing the campaign that quietly produces your best SQLs because its CPL looks high.

Define “SQL” before you calculate anything

There is no universal definition. Marketing-qualified lead (MQL) and SQL are labels each company sets for itself. Before you measure, write down:

  1. The qualification criteria. For example: matches the target company profile, has a named role with budget influence, has a stated problem and timeline, and accepted a call or demo.
  2. Who decides. Sales, not marketing. Marketing should not grade its own work.
  3. The moment it counts. The date the CRM stage changes to SQL.

Keep the definition stable for at least a quarter. If it changes every month, cost per SQL cannot be compared over time. If your team does not yet separate MQL and SQL, start with the simplest honest stage (“sales accepted the lead and booked a first call”) and refine later.

The formula

Cost per SQL = cost of the campaign (or channel) ÷ number of SQLs that came from it

Decisions that change the answer:

  • What goes into cost. Media spend is the minimum. For a true channel cost, add agency or management fees and the tools you pay for to run it. Choose one convention and use it every time.
  • Which period. B2B leads qualify days or weeks after the click. Report by lead creation date (a cohort): “of the leads created in October, how many became SQLs by today”. If you divide October spend by SQLs that qualified in October, you mix cohorts and the number swings with your sales cycle.
  • Attribution. An SQL belongs to the click that created the lead. Decide how you treat leads that arrive from several sources, and apply the same rule to all channels.

A worked example (illustrative numbers)

Assume a B2B SaaS spent 6,000 in a month on two campaigns. These figures are invented to demonstrate the arithmetic.

Campaign A: broad termsCampaign B: problem and vendor terms
Spend3,0003,000
Leads10030
Cost per lead30100
SQLs from those leads27
Cost per SQL1,500429

By CPL, campaign A looks three times better. By cost per SQL, campaign B is more than three times cheaper. This is the pattern the metric exists to expose.

A caution about small numbers. Two and seven SQLs are tiny samples. A single deal moving in or out of the SQL stage changes the ratio a lot. Treat results from a few SQLs as a hypothesis to keep testing, not as a verdict, and collect more volume before moving large budgets.

From cost per SQL to cost per won deal

Cost per SQL becomes useful when you compare it with what an SQL is worth. Add the next stages of the funnel:

  • SQL → won rate (your own historical figure, e.g. “one in four”).
  • Average contract value (ACV) and the gross margin on it.

Using invented numbers again: if one in four SQLs closes, campaign B’s cost per won deal is about 429 × 4 = 1,716. If a deal is worth 9,000 of annual revenue at a 70% gross margin, that deal contributes about 6,300 of gross profit.

Set a break-even ceiling

The maximum you can pay for an SQL before the campaign loses money:

Maximum cost per SQL = SQL → won rate × ACV × gross margin ÷ target payback multiple

With a one-in-four win rate, an ACV of 9,000, a 70% margin and a target of recovering 3× the acquisition cost, the ceiling is 0.25 × 9,000 × 0.70 ÷ 3 ≈ 525. In this made-up case campaign B (429) is under the ceiling and campaign A (1,500) is far over it. Write your own ceiling down before you review campaigns, so that decisions follow the numbers rather than the mood of the meeting.

What you need in place to measure it

  1. Store the click ID with every lead. Google Ads appends a gclid (and sometimes gbraid or wbraid) to the landing URL. Capture it in a hidden form field and save it on the CRM record along with the UTM parameters. Without it you cannot tell which campaign produced which SQL.
  2. Send stage changes back to Google Ads. Google supports importing offline conversions from your CRM, matched to the ad click, so you can see SQLs and won deals per campaign inside Google Ads (Google Ads Help: offline conversion imports). Google has also been moving these uploads to a newer API, so check the current help pages before building an integration.
  3. Report by lead creation date. Build one table in your CRM or spreadsheet: campaign, leads, MQLs, SQLs, won deals, cost, cost per stage.
  4. Set a minimum volume before optimizing to SQLs. Bidding on SQL conversions needs enough conversions to learn from. If you generate only a handful per month, keep optimizing on the earlier stage and report SQLs as the quality check.

How to use the number

  • Reallocate carefully. Move budget from campaigns above your ceiling toward those below it, in steps, and watch for diminishing returns: the next dollar usually buys a worse lead than the average one.
  • Look inside campaigns. Break cost per SQL down by keyword theme, match type, device and landing page. Search terms that never produce SQLs belong in your negative list.
  • Fix the form, not only the bid. Qualifying fields (company size, role, problem) lower lead volume but usually lift SQL rate. Judge the change by cost per SQL, not by lead count.
  • Compare against other channels with the same definition. See Google Ads vs Meta Ads for B2B SaaS for a framework on intent and stage.
  • Report to leadership in stages: spend, leads, SQLs, cost per SQL, won deals, cost per won deal. One line per campaign.

Common mistakes

  1. Mixing cohorts. Dividing this month’s spend by this month’s SQLs when the sales cycle is longer than a month.
  2. Letting marketing define “qualified”. The number loses credibility with sales the first time it is used to defend a bad campaign.
  3. Counting duplicates and non-targets. Remove existing customers, vendors and spam from SQL counts.
  4. Optimizing on very few events. A handful of SQLs is noise.
  5. Changing the definition mid-quarter.

Frequently asked questions

What is a good cost per SQL? There is no honest universal figure. It depends on your deal value, margin, win rate and sales cycle. Calculate your own break-even ceiling and compare campaigns against it.

Is cost per SQL better than cost per lead? It is closer to revenue, so it is better for budget decisions. CPL is still useful as an early signal because it arrives sooner and in larger volume.

How long should I wait before judging a campaign? At least one full sales cycle for the cohort, with enough SQLs to avoid reading noise. Review leading signals (lead quality, qualification rate) earlier.

Do I need a CRM to measure this? You need a place that records the click ID, the lead stage and the stage dates. A CRM is the normal tool, but a disciplined spreadsheet works to start.

Want this set up in your account?

We set up click-ID capture, CRM stage tracking and Google Ads reporting by campaign as part of our Google Ads management. If you want a second opinion first, request an account audit. For the structure and tracking side, see Google Ads lead generation: structure, tracking and lead quality, and for planning the budget behind it, Marketing Budget 2027: Build It Bottom-Up From Pipeline.

Tagged

#google-ads#b2b-saas#cost-per-sql#lead-generation#crm#offline-conversions#cac