Customer Acquisition Cost Calculation for LinkedIn B2B Programs
How to stop miscalculating what B2B customer acquisition actually costs.

Total spend divided by new customers. That's the formula most finance teams default to, and on paper it looks tidy enough to drop into a board deck without a second thought. For a B2B LinkedIn program, that number falls apart the moment someone asks a follow-up question about it. The formula doesn't fail because the math is wrong. It fails because it ignores three things that are true about how B2B deals actually get sourced and closed, and LinkedIn sits right at the center of all three.
Start with timing. LinkedIn works high up in a long consideration funnel, so a deal that starts with someone seeing an ad in January might not close until May. If the cost window is a single calendar quarter, costs and customers stop lining up: the quarter gets charged for a deal it only partially funded, and the quarter that actually funded it gets credit for nothing. Spend also gets measured too narrowly. Most teams plug in media spend alone and skip the salaries, agency retainers, and software seats that paid for the campaigns. That produces a CAC that looks great on a slide and falls apart the moment someone checks the math against payroll. Then there's the denominator. It often gets stuffed with expansions, upsells, and renewals alongside genuinely new accounts, which pushes the customer count up and the CAC down, even though none of that growth required the acquisition motion to do new work.
SaasHero's 2026 B2B SaaS CAC guide names this problem directly: traditional CAC calculators fail B2B SaaS because they ignore sales-cycle timing, skip fully loaded personnel costs, and don't separate new logos from everything else, which produces a number that falls apart under scrutiny. These problems stay invisible if the only use for CAC is a rough gut check. These problems appear the first time a board member, investor, or CFO asks how the number was built. Each of the next three sections takes on one piece of the fix: what belongs in the cost side, what time window the costs and customers should actually sit in, and what counts as a "new customer.
Building the cost inventory: what belongs in the numerator
A CAC number that can survive a hard question needs a cost inventory that captures everything that went into winning a new logo, including the line items that are hardest to pull from an ad platform. Most teams report only a fraction of the real cost, which makes the number look better than the business actually performs.
Start with people. Every SDR, account executive, and sales engineer whose time touches new-logo pipeline belongs in the numerator at their fully loaded cost, meaning base pay plus the employer's share of payroll taxes plus benefits, not just the salary line. Commissions and bonuses belong there too, but only the ones tied to new-logo closes. Renewal commissions get tracked separately, in a retention cost pool, because paying a rep to keep an existing account has nothing to do with the cost of winning a new one. The same fully loaded logic applies to marketing headcount: every marketer whose work drives demand generation counts, including a prorated share of a VP of Marketing's time when that role covers both acquisition and retention work. On top of payroll, the numerator needs every dollar of paid media running during the acquisition motion, not just LinkedIn, but Google and any other channel working alongside it. Agency and contractor fees belong in there as well, whether that's a performance marketing retainer, a freelance copywriter, or a design contractor working on campaign assets. So does marketing software, prorated to the share actually used for acquisition: CRM seats, marketing automation, intent data tools, attribution platforms. Creative and content production costs count too (ad creative, landing pages, video, lead magnets built for new-logo campaigns), along with events and field marketing where the main goal is generating pipeline, covering booth fees, sponsorships, travel, and staffing. A proportional share of shared overhead, allocated to sales and marketing headcount, rounds out the list.
What stays out matters just as much as what goes in. Customer success salaries, expansion campaign spend, renewal commissions, and upsell-focused content don't belong anywhere near new-logo CAC. Mixing them in inflates the number and muddies what it's actually measuring. SaasHero's guidance here is straightforward: keep a separate cost pool for retention and expansion, and report it on its own. EnrichLabs' 2026 CAC guide points to a related failure mode: teams running PPC campaigns without tying closed-won data back to the CRM. Skipping that connection makes the paid CAC number look better than it is. Leaving agency fees out of the numerator makes every lead that agency sourced look cheaper than it actually cost to produce.
It helps to separate two versions of this number with different jobs. Simple CAC, built from direct media and sales spend alone, works fine for a quick comparison between channels. Fully loaded CAC, built from the complete inventory above, is the version that belongs in front of a board or in any real conversation about profitability. Using the simple version where the fully loaded version is called for is how a CAC number ends up looking healthier than the business actually is.
Matching the measurement window to the actual sales cycle
If there's one mistake that does the most damage to a B2B CAC number, it's using a calendar quarter as the measurement window no matter how long the sales cycle actually runs. It's common, and it reliably makes CAC look better than it is.
The mechanics are simple once laid out. A 90-day cost window applied to a 180-day sales cycle captures only one cycle's worth of spend, while the customers closing in that window were actually funded by two cycles' worth of prior spend, most of which never gets counted. That mismatch makes CAC look artificially low until someone checks it against a longer time frame, at which point it falls apart.
The fix is a lag-adjusted window built in six steps, and SaasHero lays out the workflow clearly enough to run as a repeatable process rather than a one-off exercise. Start by pulling the median sales cycle length from the CRM, using closed-won opportunities from the past 12 months, measured from the first meaningful sales engagement (not the date the lead was created) through contract signature, segmented by deal size if enterprise and SMB motions behave differently. Next, set the cost window to match that median sales cycle length exactly: if the median comes out to a certain number of days, the cost window covers that same span. Then set the customer window to begin right where the cost window ends, so that customers closing in month five get attributed to the costs incurred in months one through four, the period that actually funded their acquisition. From there, add up every line item from the cost inventory within that cost window, then count only the net-new logos that close within the customer window, leaving out expansions, upsells, and renewals. The final step is just division: total costs in the cost window divided by new logos in the customer window.
Two worked examples from SaasHero show how much the window choice changes the result. In a 30-day sales cycle, a mid-five-figure ad spend combines with prorated salaries and software and agency fees into one monthly total, which gets divided by the new logos that closed that same month. In a 90-day sales cycle, monthly paid media across Google and LinkedIn gets multiplied across all three months, added to fully loaded personnel costs, software, overhead, and agency fees, and the resulting 90-day total gets divided by the new logos that close in the customer window that follows. Same formula, very different inputs, because the window length changes what counts as "the costs that produced these customers."
Companies running a self-serve motion alongside an enterprise sales motion need two separate CAC calculations, not one blended figure, because a blended number ends up describing neither motion accurately, and it's exactly the kind of thing that falls apart the moment an investor or board member asks a basic follow-up question about it.
Why the denominator must be net-new logos only
Counting expansions, upsells, and renewals as "new customers" is probably the single easiest way a B2B company makes its CAC look better than it is, without anyone technically lying. It just quietly makes growth look cheaper than it actually was to produce.
The logic for excluding them is simple. A customer who expands from one seat to ten didn't cost the acquisition motion anything to win; that expansion is a customer success and account management achievement, and its cost belongs in a different pool. Folding that customer into the new-logo count spreads the acquisition budget across a bigger base of "customers" than actually required new acquisition spend, which produces a lower per-unit cost that doesn't reflect what it actually takes to land a brand-new account. The practical effect compounds over time: a company leaning on expansion revenue while new-logo growth slows down will watch its blended CAC improve quarter over quarter, even as the engine that's supposed to bring in new business quietly stalls. The metric keeps looking fine on the topline while the actual problem builds underneath it, unseen by anyone just glancing at that number.
Segment CAC by channel, by customer type (SMB versus enterprise), and by motion (self-serve versus sales-assisted), and tie the whole thing to revenue operations so that ads, CRM, and billing all share one customer ID. That's what turns "new logo" from a loosely estimated category into something that can actually be audited. Which points to a broader test for whether a CAC number belongs in front of a board in the first place: it needs a defined, documented meaning of "new customer" (net-new contracts signed, with expansions, upsells, and renewals explicitly excluded), a repeatable way to capture the underlying data, and an audit trail someone could actually walk through. Get the denominator right, and the next question becomes which channel is actually producing those new logos, and at what real cost.
Channel-level CAC: isolating LinkedIn's true cost per new logo
A single CAC number for an entire program hides more than it reveals, because it can't tell anyone which channel is actually doing the work. Pulling LinkedIn's true cost per new logo out of that blended number means tracing cost, leads, pipeline, and closed-won deals all the way back to where they started, and the number that comes out the other end rarely matches what raw cost-per-lead would suggest.
That gap starts with a simple distinction: LinkedIn cost-per-lead is a funnel metric, not a CAC. A lead costing some number of dollars still has to survive qualification, a sales cycle, and a signed contract before it counts as an acquired customer, and each of those stages changes the real cost of that eventual logo. Stackmatix's LinkedIn cost-per-lead benchmarks for Lead Gen Form campaigns, across nine industries including cybersecurity, financial services, HR tech and people ops, marketing technology, healthcare and healthtech, manufacturing and industrial, professional services, education and edtech, and clean energy and sustainability, show the same pattern holding across every one of them: Lead Gen Form CPL comes in lower than landing page CPL industry by industry. That's a useful planning input, but it's still a cost-per-lead figure, and treating it as a stand-in for CAC skips the entire conversion chain that turns a lead into a paying customer.
Building LinkedIn's piece of CAC properly means adding in everything beyond the raw media spend: the prorated time of whoever manages the campaigns, the cost of producing the ad creative and landing pages, any agency or contractor retainer tied specifically to LinkedIn work, and LinkedIn's attributed share of whatever marketing software gets used to run and track the program. Once all of that gets rolled in and divided by the net-new logos that LinkedIn can actually be credited with sourcing, within the right measurement window, the resulting number tends to look a good deal different from what the ad platform's own dashboard reports. That's the number to bring into a budget conversation, because it's the one built from the full chain rather than from the cheapest-looking step in it.
A Series B Cybersecurity Company's LinkedIn CAC Reduction
Once a company has a LinkedIn CAC number it can actually trust, the obvious next question is how to bring it down. Most teams reach straight for audience targeting: narrower job titles, higher seniority, tighter geography. The lever that tends to move the number more is somewhere else entirely, in how the offer itself is built and what format it's delivered in.
A Series B cybersecurity company offers a useful illustration of that distinction. Rather than refining who the ads were aimed at, the shifts that actually moved the CAC number came from changes to the offer and the ad format, the kinds of changes that affect how someone responds to an ad rather than who gets shown it. That's a meaningfully different kind of fix than the audience-tuning most teams default to, and it points to a broader lesson: the assumption that moving the number means retargeting the audience is wrong, because a CAC number built the right way (the full cost inventory, a window matched to the actual sales cycle, a denominator limited to net-new logos) doesn't just produce a defensible figure for the board. It also points a team toward the levers that actually move that figure, instead of the ones that only look like they should.


