The problem with CPL
Most B2B marketers optimize ads by CPL - cost per lead. A channel with a CPL of $30 looks better than one with a CPL of $120. Budget shifts toward “cheap” leads. The result a quarter later: revenue isn’t growing, even though there are more leads.
CPL is a top-of-funnel metric. It doesn’t answer the question of which leads actually became customers.
What’s actually happening
In a typical B2B company with a deal cycle of thirty to ninety days:
- Channel A delivers leads at $40. Conversion to deal: 3%. Average deal size: $2,000. Cost per deal: $1,333.
- Channel B delivers leads at $120. Conversion to deal: 18%. Average deal size: $3,500. Cost per deal: $667.
By CPL, channel A wins. By cost per deal and ROI, channel B is twice as efficient.
A marketer optimizing by CPL will move the budget to channel A and lose money.
Why CPL survives as a metric
Simply because CPL is easy to calculate. The ad platform shows clicks and landing page conversions. Data on closed deals lives in the CRM - separately from the ad account.
To calculate cost per deal, you need to connect two data sources: the ad account and the CRM. That requires either manual work (comparing reports once a month) or a tool that does it automatically.
Most teams choose the manual approach or don’t do this analysis at all.
What to measure instead of CPL
Primary metric: cost per closed deal (cost per won deal)
Formula: ad spend by channel / number of closed deals from that channel for the period.
The challenge: you must know which channel each closed customer came from. This requires attribution - linking the deal to the traffic source.
Additional metrics for B2B:
- Cost per SQL (Sales Qualified Lead) - the cost of a qualified lead if you have an SDR team
- CAC by channel - full cost of acquiring a customer including sales salaries
- Revenue per channel - the revenue each channel generated
Why attribution is hard in B2B
In B2C the customer sees an ad, buys in twenty minutes. Attribution works through the pixel.
In B2B: the customer sees a LinkedIn ad, a week later finds an article on Google, two weeks later a colleague sends them a link, a month later the lead fills out a form on the site, sixty days later the SDR closes the deal. Which channel gets credit for the sale?
Standard last-click attribution attributes everything to the form or the last click - and devalues everything that came before.
The right approach: first-party attribution storing first and last touch, plus a manual “how did you hear about us” field in the CRM.
Practical transition
First step: add UTM parameters to all ad links and store utm_source, utm_medium, utm_campaign in the CRM when the lead is created. This gives basic first-touch attribution.
Second step: build a CRM report that shows won deals broken down by source. This alone lets you calculate cost per deal manually once a month.
Third step: automate with a tool that connects ad platform data to the CRM in real time. Prooflytics does exactly this - shows real CAC by channel without manual pivot tables.
Takeaway
CPL is a useful operational metric for tracking ad performance. But making budget decisions based on CPL means optimizing the top of the funnel and ignoring everything else.
Transitioning to cost per deal requires work: attribution, data integration, alignment with sales. But this is what enables budget decisions based on revenue, not form counts.