---
title: "Cost Per Conversion: Definition, Formula, and Use in B2B SaaS Pipeline Reporting"
description: "Cost per conversion is spend divided by platform conversions. Learn the formula, how it differs from cost per SQL, and how to report it to a B2B SaaS board."
date: "2026-11-07T18:35:04.140Z"
updated: "2026-11-07T18:35:04.147Z"
author: "Ishan Manchanda"
canonical: "https://revopsforb2bsaas.com/feeds/blog/cost-per-conversion-formula"
tags: ["cost per conversion", "cost per SQL", "cost per conversion formula", "Google Ads cost per conversion", "offline conversion import"]
---

# Cost Per Conversion: Definition, Formula, and Use in B2B SaaS Pipeline Reporting

*By the Editorial Team. Published November 4, 2026.*

Cost per conversion is total ad spend divided by the number of conversions an ad platform records, which in B2B SaaS can mean anything from a form fill to a sales-qualified lead (SQL). The label hides a lot of difference.

A platform can report a low figure while the customer relationship management (CRM) system shows almost no pipeline. In GrowthSpree's June 2026 audit of 104 Google Ads accounts, 78% of form fills never became an SQL. This article defines the metric, shows the formula with a worked example, explains why platform and CRM numbers diverge, and covers how to report it to a board. For channel-level rates, see the [sales conversion rate benchmarks](https://revopsforb2bsaas.com/feeds/blog/sales-conversion-rates-b2b-saas).

> **Key Takeaways**
> - Cost per conversion is ad spend divided by platform-counted conversions, and its meaning depends on which event is set as the conversion.
> - Cost per SQL is spend divided by CRM-confirmed sales-qualified leads, and it is the number a board can compare with CAC payback.
> - Platform and CRM figures diverge because of counting rules, click-date reporting, lost Google click IDs, duplicates and consent modelling.
> - Sending qualified CRM stages back to Google Ads as offline conversions closes the gap, within a 90-day Google click ID window.

## What is cost per conversion and how is it calculated?

Cost per conversion is total advertising spend divided by the number of conversions an ad platform counted in the same period. Google Ads reports it as "Cost / conv." The formula is simple, but the result depends on which event counts as a conversion, so a B2B SaaS team must name that event before comparing any figures.

![Brushed steel calculator key beside a stack of ruled paper on a pale desk](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_img1_20261104134117.webp)

**Cost per conversion** is the average amount spent to produce one counted conversion. The calculation is: total spend ÷ total conversions. If $5,000 produces 50 conversions, the result is $100. The ratio reads the same whether the conversion is a download or a demo request, and that is the problem for B2B SaaS.

WebFX puts cross-account Google Ads cost per acquisition (CPA) at $50 to $80 and B2B services at $100 to $300 ([WebFX](https://www.webfx.com/blog/ppc/google-ads-benchmarks/), 2026). These are ranges of platform conversions, not SQLs. WordStream's 2026 edition lifted the average Google Ads conversion rate to 8.18% from 7.52% in 2025 ([WordStream](https://www.wordstream.com/blog/conversion-rate-benchmarks), 2026), which shows the denominator can move on its own.

### Which conversion event is being counted?

The same formula gives four different metrics, depending on the event.

| Conversion event | What gets counted | Resulting cost metric | Where it is counted |
|---|---|---|---|
| Form fill | A submitted web form | Cost per lead | Ad platform |
| Marketing-qualified lead (MQL) | A lead that meets a score or firmographic threshold | Cost per MQL | CRM |
| Sales-qualified lead (SQL) | A lead that sales accepts against written criteria | Cost per SQL | CRM |
| Closed-won | A signed deal | Customer acquisition cost (CAC) | CRM |

## What is the difference between cost per conversion and cost per SQL?

Cost per conversion is the platform's cost for whatever event the account was told to count, while cost per SQL is total spend divided by sales-qualified leads confirmed in the CRM against written stage definitions. The two can move in opposite directions, because form fills are cheap and most never qualify.

![Two glass jars on a desk, one full of small tokens and one holding a few](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_img2_20261104134117.webp)

**Cost per SQL** is total ad spend divided by the number of sales-qualified leads the CRM confirms. A campaign optimised for the cheapest form fill can look efficient on the platform and poor in the pipeline. Every one of those platform conversions still has to pass through lead, MQL and SQL stages before it counts as pipeline.

> **GrowthSpree audit finding:** In GrowthSpree's June 2026 audit of 104 Google Ads accounts ($78.0M in spend), 78% of form fills never became an SQL. Also, 91% of accounts had no Google click ID (GCLID) reaching the CRM, and 89% ran default attribution. After a 90-day attribution fix, the share of closed-won deals traced to a campaign went from 0% to 67%.

A separate GrowthSpree study from June 2026 found that cost per SQL tracked pipeline with a correlation of 0.71 across 1,412 ad variants in 96 accounts, while click-through rate correlated at 0.09. In plain terms, the metric closest to the CRM predicted pipeline far better than the metric closest to the click.

Stage definitions matter too. An SQL in one company is a lead with a meeting booked; in another it is a lead that sales has simply accepted. Write the criteria down once and use the same ones in every report. The [attribution models guide](https://revopsforb2bsaas.com/feeds/blog/attribution-models-b2b-marketing) covers how credit gets assigned once the stages agree.

## Why don't my Google Ads conversions match my CRM?

Google Ads conversions and CRM records differ because they count different events on different dates with different identifiers. The main causes are conversion counting settings, click-date reporting, lost Google click IDs, duplicate form fills and consent-mode modelling. Each cause can shift the reported figure without any real change in campaign performance.

![Two printed ledger pages with slightly misaligned rows laid next to each other](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_img3_20261104134117.webp)

The **Google click ID (GCLID)** is a parameter Google adds to ad click URLs so that a lead can be matched back to the click. Without it stored in the CRM, the system cannot say which campaign produced a deal. GrowthSpree's June 2026 audit found that 91% of the 104 accounts had no GCLID reaching the CRM.

| Cause | How it moves the platform number | What to check |
|---|---|---|
| Counting setting ("One" vs "Every") | "Every" counts repeat form fills from one person as separate conversions | The conversion action's counting option |
| Click-date reporting | Google Ads Help describes primary conversion columns as attributed by click time, so an SQL created weeks later lands on the original click date | Date ranges when comparing to the CRM |
| Lost click ID | Deals have no campaign source in the CRM | Whether the GCLID is stored on the lead record |
| Duplicate form fills | One buyer counted more than once | Duplicate rules in the CRM |
| Consent-mode modelling | Modelled conversions are added where consent was denied | Consent Mode settings |

Two 2026 platform changes can also move the reported figure. On June 15, 2026, Google moved Google Ads data controls onto Consent Mode, with ad_storage as the single control for what data reaches the account ([UniConsent](https://www.uniconsent.com/blog/google-ads-consent-mode-change-2026), 2026). That can change conversion counts and modelled conversions. Teams relying on [last-touch attribution](https://revopsforb2bsaas.com/feeds/blog/last-touch-attribution) are exposed to the same blind spots.

## How do I calculate cost per SQL from Google Ads spend?

Cost per SQL is ad spend divided by the number of sales-qualified leads that the CRM attributes to that spend. When only form fills are tracked, work backward: cost per lead divided by the lead-to-MQL rate, then by the MQL-to-SQL rate. Each stage rate multiplies the cost, so small rate differences change the answer sharply.

![Hand-drawn funnel diagram on graph paper with a pencil and eraser](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_img4_20261104134117.webp)

Use these steps, substituting your own CRM rates:

| Step | Formula | Input comes from |
|---|---|---|
| 1. Cost per lead (CPL) | Ad spend ÷ form fills | Ad platform |
| 2. Cost per MQL | CPL ÷ lead-to-MQL rate | CRM |
| 3. Cost per SQL | Cost per MQL ÷ MQL-to-SQL rate | CRM |
| 4. Cost per opportunity | Cost per SQL ÷ SQL-to-opportunity rate | CRM |
| 5. CAC | Cost per opportunity ÷ win rate | CRM |

### What does a worked example look like?

The numbers below are a hypothetical illustration, not a statistic. Assume $10,000 of monthly spend and 100 form fills. Assume the CRM shows a 50% lead-to-MQL rate and a 13% MQL-to-SQL rate.

| Step | Calculation | Result |
|---|---|---|
| Cost per lead | $10,000 ÷ 100 | $100 |
| MQLs | 100 × 50% | 50 |
| Cost per MQL | $10,000 ÷ 50 | $200 |
| SQLs | 50 × 13% | 6.5 |
| Cost per SQL | $10,000 ÷ 6.5 | about $1,538 |

The platform would report $100 per conversion, yet the cost per SQL is about 15 times higher.

For the MQL-to-SQL input, First Page Sage client data from 2019 to 2025, as reported by Growth Stack Advisory, gives an average of about 13% for B2B SaaS, with industries ranging from 10% to 26% ([Growth Stack Advisory](https://growthstackadvisory.com/resources/mql-to-sql-conversion/), 2025). That source defines an SQL as vetted by a salesperson with a meeting booked. The Digital Bloom reports 15 to 21% ([The Digital Bloom](https://thedigitalbloom.com/learn/pipeline-performance-benchmarks-2025/), 2025). It does not clearly state its sample, so treat it as a corroborating range only.

## How do I import SQLs from my CRM into Google Ads as offline conversions?

Importing SQLs means sending qualified CRM stages back to Google Ads as offline conversions, then reporting cost per SQL and payback to the board instead of platform conversions. This works only if each lead's Google click ID is stored in the CRM, and uploads must respect Google's time windows.

### What are the import steps?

**Offline conversion import** is the process of sending CRM outcomes such as SQLs back to the ad platform so that bidding learns from qualified pipeline. The setup has three steps:

1. Store the GCLID or an equivalent click parameter with every lead record in the CRM.
2. Define SQL or opportunity as a conversion action, and mark it as the primary action for bidding.
3. Send those conversions back to Google Ads daily.

Timing rules apply. Google retains the GCLID for 90 days, so GCLID-based imports must happen inside that window. Enhanced conversions for leads uploads made more than 63 days after the last click are not imported ([Verto Digital](https://vertodigital.com/content-hub/blog/crm-offline-conversion-tracking-b2b-advertising), 2026, citing Google's import guidelines).

From June 15, 2026, offline conversion import and enhanced conversions for leads uploads are migrating to the Data Manager API ([Enrich Labs](https://www.enrichlabs.ai/blog/google-ads-conversion-tracking-setup-2026), 2026). Enrich Labs is a vendor blog, so verify the rules in Google's documentation. The [marketing reporting dashboard guide](https://revopsforb2bsaas.com/feeds/blog/marketing-reporting-dashboard-revops) shows how to display the imported stages beside sales figures.

![A brass key being inserted into a small padlock on a wooden surface](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_img5_20261104134117.webp)

### How should cost per SQL be framed for a board?

Lead with pipeline and cost per SQL, then place platform metrics in an appendix. Budgets are tight: Gartner's 2026 CMO Spend Survey found budgets flat at 7.8% of revenue, with 56% of CMOs saying they lack the budget for their 2026 strategy ([Gartner](https://www.gartner.com/en/newsroom/press-releases/2026-05-11-gartner-2026-cmo-spend-survey-finds-cmos-allocate-15-point-3-percent-of-marketing-budgets-to-ai-but-only-30-percent-are-ready-to-scale-ai-capabilities), 2026). Ewan McIntyre of Gartner for Marketers put it this way: "CMOs are being asked to deliver growth, efficiency and transformation without meaningful budget expansion." ([Financial Marketer](https://financial-marketer.com/where-cmos-are-moving-budget-into-2026/), 2026)

Then connect cost per SQL to payback. Aleph states that "The median B2B SaaS company recovers its customer acquisition cost in 16 months." ([Aleph](https://www.getaleph.com/answers/cac-payback-period-saas-2026), 2026) That improved from 18 months in 2024. Top-quartile companies recover CAC in 6 months or fewer, and the bottom quartile takes 24 months or more (Aleph x Benchmarkit, 2025 actuals).

![Lollipop chart: Median B2B SaaS CAC payback period, 2025 actuals: top quartile, median and bottom quartile. Highest: Bottom quartile (24 months or more) at 24 months.](https://ai-website-manager-media.s3.ap-south-1.amazonaws.com/blog_images/item_653_chart_c2.png)

*Source: [Aleph x Benchmarkit](https://www.getaleph.com/answers/cac-payback-period-saas-2026), 2026*

## What is a good cost per conversion for B2B SaaS?

No single cost per conversion is good for every B2B SaaS company, because platform conversions, SQLs and customers each cost different amounts. WebFX puts B2B services Google Ads CPA at [$100 to $300](https://www.webfx.com/blog/ppc/google-ads-benchmarks/) (2026), but that counts platform conversions. Judge your own cost per SQL by whether it pays back CAC within your target window.

Benchmarks are weak guides because each source defines a conversion, a sample and a funnel stage differently. Keep these limits in mind:

- **Different definitions.** The Growth Stack Advisory page notes that First Page Sage's separate SaaS funnel report gives much higher MQL-to-SQL rates by channel than the 13% average ([Growth Stack Advisory](https://growthstackadvisory.com/resources/mql-to-sql-conversion/), 2025). The stage definition changes the answer, so the two should not be averaged.
- **Thin samples.** The Digital Bloom's 15 to 21% range does not clearly state its sample ([The Digital Bloom](https://thedigitalbloom.com/learn/pipeline-performance-benchmarks-2025/), 2025).
- **Single-publisher data.** The 104-account and 1,412-variant figures come from one publisher's audits.
- **Moving rules.** Google changed import and consent rules in 2026, so recheck documentation before building a pipeline.

This approach does not suit companies with no CRM or no sales team. Without a CRM, there is no SQL to count, and the platform number is the only one available.

## Frequently Asked Questions

### Is cost per conversion the same as cost per acquisition (CPA)?

In most ad platforms, yes. Both metrics divide ad spend by counted conversions. The difference is the event being counted. A conversion can be a form fill, a call or a purchase, so CPA only means the cost of a customer when the conversion action is a closed-won deal.

### How long does the Google click ID (GCLID) last for offline conversion imports?

Google retains the Google click ID (GCLID) for 90 days, so GCLID-based offline imports must happen inside that window. Enhanced conversions for leads uploads made more than 63 days after the last click are not imported. Check Google's current documentation, because import rules changed in 2026.

### How much discrepancy between Google Ads and the CRM is normal?

No verified benchmark exists for a normal gap between Google Ads conversions and CRM records, so treat any quoted percentage with caution. The gap is expected because the two systems count different events. Track it over time and investigate when it widens, using the stage definitions as the reference.

### Should Google Ads bidding optimize to form fills, MQLs or SQLs?

Bidding should optimize to the deepest stage that still produces enough conversions for the platform to learn from. Form fills are plentiful but low quality. SQLs match pipeline best, so import them from the CRM as offline conversions once volume allows, and keep form fills as a secondary action.

## Conclusion

Cost per conversion is an ad platform's cost for one counted event. For B2B SaaS, cost per SQL is the number that holds up in front of a board.

- Name the conversion event before quoting any figure.
- Calculate cost per SQL from CRM-confirmed stages, and substitute your own rates for benchmarks.
- Store the GCLID on every lead and import qualified stages inside Google's time windows.
- Present cost per SQL and CAC payback first, and platform metrics second.
- Recheck platform rules each time Google changes them.

For tool criteria, read the [attribution software guide](https://revopsforb2bsaas.com/feeds/blog/marketing-attribution-software-b2b-saas). To check your own setup with a revenue operations (RevOps) expert, Meet with an expert.
