Key takeaways
- Customer acquisition cost is only comparable between periods and teams if the inclusion rules are written down. Decide the cost lines once, label the result "media-only" or "fully loaded", and change the rules only with a dated note.
- A narrow CAC is easy to produce. Harvard Business School Online's worked example divides marketing cost alone by new customers; this workbook adds fees, tools, people and sales cost so the number answers a business question rather than a channel one.
- Blended CAC divides all acquisition cost by all new customers, organic included. Channel CAC needs an original source on every customer record, and an honest "unattributed" row for those without one.
- CAC payback period is the months of gross margin needed to recover CAC. Use gross margin, not revenue, and read payback from a cohort grid that shows what actually happened in each month.
- Benchmarks are attributed and limited. Skok writes that many of the best SaaS businesses recover CAC in 5 to 7 months, and Harvard Business School Professor Christina Wallace calls an LTV-to-CAC ratio of three or higher attractive. Neither is a target for your business.
- Match cost to customers by period. When sales cycles run for weeks or months, this month's spend produced earlier customers, so the workbook gives a lagged method and says when to use it.
01
What belongs in customer acquisition cost, and what to write down first
Customer acquisition cost is, in the words of Harvard Business School Online, the cost it takes to acquire a new customer. That sentence hides a decision: which costs count. HBS Online's worked example in its LTV-to-CAC explainer divides a marketing cost by a number of customers, which is a legitimate narrow version. Most businesses that spend on people, tools and agencies as well as ads need a wider one, because a CAC that leaves them out makes a channel look cheaper than the business experiences it.
The first job in this workbook is therefore a written inclusion list. Go through the cost lines in the table below and mark each one include, exclude or allocate, with the rule for any allocation. Then name the two versions you will report. A media-only CAC counts advertising spend alone. A fully loaded CAC counts every cost line you marked include or allocate. Both are useful. Media-only tells you whether a channel is efficient at the point of buying attention. Fully loaded tells you whether the business is winning customers at a price it can afford. The mistake is to quote one under the name of the other.
A working test for each doubtful line is to ask whether the cost would disappear, or shrink, if you stopped trying to win new customers. Ad spend fails that test immediately, so it is in. A sales representative who spends part of the week on renewals and part on new business needs an allocation, such as the share of their logged activity that went to new-business opportunities. A cost that the business would carry regardless, such as rent, is often left out of CAC and put in overhead. That is a defensible rule if it is written down and applied every period. We recommend this test; it is our method, not a standard.
Write each rule in a sentence a finance reviewer could check. "Sales salaries are allocated to CAC in proportion to the share of opportunities created that were new-business, by quarter" is a rule. "A fair share of sales cost" is not. Keep a change log with the date, the old rule, the new rule and the effect on the most recent CAC, so a drop in CAC that came from a rule change is never mistaken for a drop that came from performance.
| Cost line | Media-only CAC | Fully loaded CAC | Rule to write down |
|---|---|---|---|
| Advertising media spend | Include | Include | Source: platform invoices or the bank statement, not the platform dashboard |
| Agency and freelancer fees for acquisition work | Exclude | Include | Match the fee period to the spend period; split retainers that also cover retention work |
| Creative and content production for acquisition | Exclude | Include | Allocate shared assets by the share of use in acquisition campaigns |
| Marketing and sales software | Exclude | Include or allocate | Allocate tools that serve acquisition and support, by seats or usage |
| Marketing salaries and benefits | Exclude | Allocate | Share of time on acquisition, from a stated method, reviewed each quarter |
| Sales salaries, commissions and bonuses | Exclude | Allocate | Share spent on new business; commissions on new deals count in full |
| Events, sponsorships and travel for acquisition | Exclude | Include | Count the cost in the period it was paid, or spread over the event dates; say which |
| Referral and affiliate payouts | Exclude | Include | Count when earned, not when paid, so that payouts line up with customers |
| Introductory discounts and free trial cost | Exclude | Decide and record | Either treat as acquisition cost or as lower first-order revenue; do not do both |
| Onboarding and implementation cost | Exclude | Usually exclude | Most teams treat these as cost of delivery; record the choice |
| General overhead (rent, finance, management) | Exclude | Usually exclude | If included, state the allocation base and apply it every period |
02
Blended CAC and channel CAC: two numbers, two different questions
Blended CAC divides all acquisition cost in a period by all new customers in that period, whichever channel they came from. It includes organic search, referrals and word of mouth in the denominator, because those customers arrived while the business was spending to acquire customers. Blended CAC is the right number for questions about the whole business: can we afford to grow at this pace, and is the cost of growth rising or falling over time. It is hard to flatter and easy to calculate, because it needs no attribution.
Channel CAC divides the cost attributable to one channel by the customers attributed to it. It answers a different question: where should the next unit of budget go. It needs two things the blended number does not. The cost side needs a rule for splitting shared costs, such as agency fees, across channels. The customer side needs an original source on each customer record, which means the source and the ad click identifier must be captured when the lead is created. Google Ads describes offline conversion import as a way to see what happens after someone clicks an ad, and that import depends on a stored click identifier. If it is not on the record at creation, it usually cannot be added later.
Expect a share of customers with no usable source, and report them. The worksheet has an "unattributed" row for this purpose, so the channel numbers add up to the blended total instead of quietly dropping the customers nobody could trace. A large unattributed row is a finding about tracking and the CRM, not about marketing. It also means every channel CAC is overstated, since the customers it did win are partly sitting in the unattributed row. Say so beside the table.
Do not treat the channel numbers as a ranking without reading their limits. A platform will credit conversions under its own attribution rules, and a customer who met three channels before buying belongs to all of them in some sense. If you use the CRM original-source field, you are using first touch as recorded; if you use the platform, you are using whatever the platform decides. Choose one, write it next to the table, and use it for every channel so the comparison is like for like. If the two methods disagree sharply, the gap is itself worth a short note in the report.
| Measure | Formula in words | Answers | Needs |
|---|---|---|---|
| Media-only CAC | Advertising spend in the period, divided by new customers in the period | Is a paid channel efficient at winning customers | Spend from invoices; new customers from the CRM |
| Fully loaded CAC (blended) | All cost lines marked include or allocate, divided by all new customers | Can the business afford its growth rate | The inclusion list and allocation rules |
| Channel CAC | Cost attributed to a channel, divided by customers whose original source is that channel | Where should the next budget go | Original source on every customer record and a rule for shared costs |
| Unattributed share | Customers with no usable source, divided by all new customers | How much of the channel view is guesswork | A source field that defaults to unknown, never blank |
03
How to calculate CAC payback period, with gross margin and a worked example
The CAC payback period is the number of months it takes for the gross margin from a new customer to repay what was spent to win them. Bessemer Venture Partners describes it as a statement in months of the time to pay back the sales and marketing investment, after accounting for the variable expenses of serving the customer. Gross margin is what makes that second half work. A customer who pays 100 a month and costs 40 a month to serve repays CAC at 60 a month, not 100.
The formula in words is: fully loaded CAC, divided by the monthly gross margin of one new customer. Here is an illustration with invented numbers. Suppose the fully loaded cost in a period is 15,000 and the business wins 30 new customers. Fully loaded CAC is 15,000 divided by 30, which is 500. If a typical new customer pays 100 a month and costs 40 a month to serve, monthly gross margin per customer is 60, and payback is 500 divided by 60, which is about 8.3 months. Every figure in that paragraph is illustrative. Replace them with your own and keep the formulas.
Two published reference points exist, and both need care. David Skok, writing about SaaS metrics, says that many of the best SaaS businesses are able to recover their CAC in 5 to 7 months. Harvard Business School Online quotes Professor Christina Wallace's rule of thumb that an LTV-to-CAC ratio of three or higher is attractive. They come from the subscription-software world, they are rules of thumb and not measurements of your sector, and a business with annual prepayment or high margin can accept a very different payback than one that is cash constrained. The acceptable payback is a finance decision. Agree it with finance before the workbook produces its first result.
Payback and lifetime value answer different questions. Payback is about cash and risk: how long until the money comes back. Lifetime value, and the ratio of lifetime value to CAC, is about whether the whole relationship is worth the price. Lifetime value is a forecast, and a forecast built on a short customer history can be wrong by a wide margin. If your oldest customers are eight months old, a three-year lifetime value is an assumption, and the report should label it as one. Prefer the cohort grid in the next section, which shows only margin that has actually arrived.
04
The payback and cohort sheet: observing payback in real months
A single payback figure assumes every customer behaves like the average. A cohort grid removes that assumption. Group customers by the month they became customers, then for each cohort track the cumulative gross margin per customer in month 0, month 1, month 2 and so on. The month in which cumulative gross margin per customer first reaches that cohort's CAC is the observed payback month. Cohorts that have not reached it yet are shown as "not yet", which is honest and more useful than a projected value.
The cohort sheet in this workbook has one row per cohort. The columns are the cohort month, the number of new customers, the fully loaded cost attributed to that cohort, CAC, and then cumulative gross margin per customer for each month since acquisition. Three formulas do the work. CAC for the cohort is its cost divided by its new customers. Cumulative gross margin per customer in month n is the total gross margin from the cohort over months 0 to n, divided by the cohort's new customers. Observed payback is the first month where that cumulative figure is at least the CAC. The sheet explains each in its instruction rows, and the example rows are illustrative.
Be clear about where the data comes from. The gross margin per customer has to come from billing or the CRM, because that is where revenue and cost live. Google Analytics has a cohort exploration report, but it groups users by an attribute such as acquisition date and tracks behavior over time using device data, and Google notes that User-ID is not considered when creating a cohort. That is useful for retention of visitors. It is not a source of margin per customer. Use it for behavior and use the CRM or billing export for money.
A CRM report can produce the inputs. HubSpot documents custom reports that analyze objects such as deals and contacts, including funnel reports that measure conversion between lifecycle or deal stages. A report of closed-won deals by close month, with the amount and the original source property, gives you the new customers and the first-order revenue per cohort. Margin needs cost data from outside the CRM, so plan the join in a spreadsheet or in your warehouse and note who owns it.
When cohorts are small, treat the grid with suspicion. A cohort of six customers can move payback by months because of one large or one early-cancelling customer. Show the customer count beside every row, and avoid reading trends from cohorts below a size you agree in advance. We do not give a minimum, because the right one depends on how variable your customers are. Write yours into the sheet.
| Column | How it is calculated | Check before you trust it |
|---|---|---|
| Cohort month | Month the customer was won, from the CRM close date | Use one definition of "customer" across the whole sheet |
| New customers | Count of customers won in that month | Count customers, not deals or contacts |
| Cohort cost | Cost lines marked include or allocate, matched to the period by your rule | Same inclusion list as the CAC sheet |
| CAC | Cohort cost divided by new customers | Recompute by hand for one cohort |
| Cumulative gross margin per customer, month n | Sum of cohort gross margin in months 0 to n, divided by new customers | Margin, not revenue; refunds and credits netted off |
| Observed payback month | First month where cumulative gross margin per customer is at least CAC; otherwise "not yet" | Shown only when the cohort has enough months of data |
05
Matching cost to customers when the sales cycle is long
A simple period calculation assumes that the money spent in a month produced the customers won in that month. That is close to true for a business with a same-week sales cycle and wrong for one where deals take two or three months. Spend in January may produce customers in March. If spend is rising, dividing this month's cost by this month's customers makes CAC look better than it is, because the customers were won with the cheaper spend of earlier months. If spend is falling, the error runs the other way.
The lagged method fixes this. Take the typical time from first contact to won deal in whole months, from the CRM, and divide each period's customers by the cost from that many months earlier. If the median cycle is two months, March customers are divided by January cost. State the lag and where it came from, and recompute it every quarter, because sales cycles change. The median is a reasonable starting point; a sales cycle with two clear clusters, such as small fast deals and large slow ones, is better split by deal size and calculated separately.
A cohort-by-spend-month view is the cleanest version of the same idea. Group the leads by the month they were created, attribute the cost of that month to that group, and watch how many of them become customers in the months that follow. It takes longer to read because the answer for recent cohorts is incomplete, but it keeps cost and outcome attached to each other. Pair it with the lagged calculation as a cross-check and report the difference if they disagree.
Whichever method you choose, hold it constant across the periods you compare. Changing the lag in the middle of a trend line is the same kind of mistake as changing an inclusion rule, and it belongs in the same change log.
- Short cycle (under a month): same-period calculation is usually adequate; note the cycle length
- Cycle of one to three months: lagged calculation, with the lag taken from the CRM median
- Mixed cycle: separate small and large deals and calculate each with its own lag
- Always: write the method and the lag beside the number, and log any change
06
Setup checklist: from cost lines to a result you can defend
Work through the steps in order. Each has a gate that someone other than the person who did the step can check. The usual failure is not arithmetic. It is a number produced from inputs that two people would have collected differently, so the gates concentrate on inputs and rules.
Review the first full result with finance and sales together, and record any disagreement as an open question, not as an adjustment to the numbers. Revisit the inclusion list and the payback threshold each quarter, and whenever the business adds a channel, a pricing change or a new type of customer.
| Step | Owner | Gate to pass before moving on |
|---|---|---|
| Fill the cost-inclusion checklist and write the allocation rules | Finance lead with marketing lead | Every cost line marked; every allocation has a rule a reviewer can check |
| Define "new customer" and confirm the count source | Revenue operations | One written definition; the count reproduced from the CRM by a second person |
| Pull cost from invoices and statements for a closed period | Finance | Totals reconcile to the ledger; platform dashboards used only for cross-checks |
| Calculate media-only and fully loaded blended CAC | Analyst | Both labeled; a hand calculation of one period matches the sheet |
| Add original source to customer records and calculate channel CAC | CRM administrator and analyst | An unattributed row exists and the channel rows plus unattributed equal the blended total |
| Agree the payback threshold and the margin definition | Finance lead | Threshold and margin basis written down and dated |
| Build the cohort grid for at least the last six cohorts that have data | Analyst | Customer count beside every row; "not yet" shown where payback has not happened |
| Set the period-matching method and its lag | Analyst | Lag derived from the CRM and recorded with the date it was measured |
| Publish the monthly view with definitions and a change log | Marketing lead | Definitions on the page; any rule change since the last report is listed |
Was this useful? Send it to someone who owns this problem.
Primary sources and further reading
Use the source material to validate details against your own context and current platform configuration.
- LTV/CAC Ratio: What It Is & How to Calculate It — Harvard Business School Online
- The five accounting metrics for cloud companies — Bessemer Venture Partners
- SaaS Metrics 2.0 - A Guide to Measuring and Improving what Matters — David Skok, For Entrepreneurs
- [GA4] Cohort exploration — Analytics Help (Google)
- Create custom reports — HubSpot Knowledge Base
- Set up offline conversions using Google Click ID (GCLID) — Google Ads Help
This guide follows the XenGrowth editorial policy: primary sources where available, visible limitations, material review dates, and no invented first-hand experience.
Stay with the problem
Related field notes
Revenue OperationsMarketing Audit: A 12-Point Check for Where Your Spend Leaks
GTM StrategySales Enablement for Small and Mid-Size Teams: Build What Sales Will Actually Use, and Measure It Honestly
GTM StrategyBrand Messaging Framework: A One-Page Version That Sales and Marketing Can Both Use, With a Fill-In Table