Inbound vs Outbound CAC
A fair 2026 comparison.
There is no universal inbound-versus-outbound customer acquisition cost benchmark. Stripe says SaaS CAC has no universal benchmark and defines CAC as sales and marketing cost divided by newly acquired customers. Compare paths only after fixing the same customer definition, cost boundary, period, currency, and attribution rule. Otherwise a lower figure may reflect different accounting rather than a cheaper channel. 1
- Count new paying customers. A lead or trial registration is not a customer until it pays. 1
- Include allocated labor, tools, content, and direct spend under a consistent cost policy. 1
- Compare payback using gross margin and revenue per account, and read the result alongside retention. 2
Define CAC before choosing a channel
The proposed numerator is fully loaded sales and marketing cost assigned to acquiring a cohort. The denominator is distinct new paying customer accounts under a documented billing rule. Stripe's formula divides total sales and marketing costs by new customers acquired; it excludes preliminary lead and trial counts unless they become paid. Cost per lead answers a different question and must not be renamed CAC. 1
Stripe lists advertising, content production, salaries and commissions, and acquisition tools as possible acquisition expenses. ChartMogul distinguishes fully loaded CAC from ad-only cost. Ask finance to decide which actual payroll, commissions, creative costs, CRM seats, data licenses, agency invoices, and campaign expenses belong in each channel. Reconcile shared expenses so each amount appears once. 12
Some work supports both customer acquisition and retention. Stripe calls out the need to allocate such expenses. For shared brand, manager, or platform costs, record the allocation driver and use it consistently across inbound and outbound. A staffing percentage should be backed by a local time or responsibility record; a software split should be backed by seats or usage where possible. These are proposed finance controls, not ratios reported by a survey. 1
Set an inbound and outbound rule
For this worksheet, inbound origin means a buyer-initiated entry such as an organic visit or direct request without a preceding qualifying outbound touch inside the defined window. Outbound origin means a seller-initiated contact that precedes the buyer response. Decide where paid search, referrals, events, partner introductions, and retargeting sit before counting customers. Keep unknown origin visible. Stripe explicitly distinguishes segmentation by channel, customer type, and acquisition motion. 1
Sales assistance is a separate dimension. An inbound-origin account may need an account executive, while an outbound-origin account may eventually buy through a self-serve checkout. Record initial origin, actual sales assistance, and paid path separately. Avoid labeling every salesperson-assisted purchase outbound. Stripe's channel versus self-serve and sales-assisted distinction supports separating these dimensions, but your exact route rules remain editorial choices. 1
Match costs and conversions in time
Choose an entry cohort and a close-observation window. Stripe notes that spending in one quarter can produce conversion in the next and that sales cycles may span months. A calendar-period view divides spending assigned to one period by customers closed in it. A cohort view follows accounts that entered together through an observation cutoff. Both can be useful, but label them differently and flag cohorts that have not had enough time to close. 1
Web-analytics source fields are not automatically billing-account origins. Google Analytics distinguishes user-scoped acquisition information from session-scoped traffic information. An account can have multiple visitors and each visitor can have multiple sessions. Reconcile website identities to CRM accounts and new paid billing accounts before treating a web channel as a customer-level attribution field. Keep missing or disputed identity as a separate count. 41
Define an attribution model. Google Analytics offers last-click credit to the final marketing channel and data-driven credit across channels. These models can assign different credit to the same path, so preserve both the raw touch history and the selected primary origin. A model is a rule for credit, not proof that removing a channel would lose the customer. Report a sensitivity view under another rule if the decision depends on attribution. 3
Hypothetical US-dollar cohort comparison
Everything in this section is invented for arithmetic, not an observed benchmark. Assume a United States B2B software cohort with accounts entering in one quarter and six months of close follow-up. Direct inbound acquisition cost is $60,000 and direct outbound cost is $80,000. Allocate $20,000 of shared acquisition cost equally under a documented finance policy. Assume 20 inbound-origin accounts and 16 outbound-origin accounts become distinct paying customers.
| Hypothetical item | Inbound | Outbound |
|---|---|---|
| Direct cost | $60,000 | $80,000 |
| Shared-cost allocation | $10,000 | $10,000 |
| Fully loaded cost | $70,000 | $90,000 |
| New paying accounts | 20 | 16 |
| CAC | $3,500 | $5,625 |
Blended CAC is $160,000 divided by 36 new customers, or approximately $4,444.44. It is weighted by customer counts, not the simple average of the two channel figures. If shared costs appear in the blended numerator but vanish from both channel rows, the report does not reconcile. Under this model every new customer receives one primary origin; fractional multi-touch credit would require a different display.
Now assume inbound annual contract value, or ACV, is $12,000 and outbound ACV is $24,000. Assume a 75% gross margin for both, with revenue earned evenly through a year. Monthly margin per account is then $750 for inbound and $1,500 for outbound. Using ChartMogul's CAC divided by monthly revenue per account times gross margin formula, payback is approximately 4.67 months inbound and 3.75 months outbound. The higher outbound CAC has shorter modeled payback because assumed contract value differs. None of these inputs is a published channel benchmark. 2
ACV here is the annualized contracted amount for a new paying account under the chosen billing rule. Gross margin is the percentage of account revenue remaining after the chosen cost-to-serve definition. Compare cohorts only after aligning those definitions, geography, and currency. If a real report combines currencies, keep original amounts and document the exchange-rate date and method. Do not invent a conversion factor to make unlike cohorts look comparable. These are proposed reporting rules.
How to judge an external benchmark
A public-company sales-and-marketing expense total cannot by itself produce inbound or outbound CAC. The channel-level numerator, customer-level denominator, and cohort timing are missing. Likewise, an observational sample with a different contract mix cannot establish that one acquisition motion is causally superior. Stripe explicitly says there is no universal SaaS CAC benchmark. 1
For any external comparison, ask for sample size, collection period, geography, currency, cost boundary, acquisition definition, customer count, ACV, margin, and attribution model. Then compare your own fully loaded CAC, payback, and retention by cohort. ChartMogul cautions that payback should be read with churn and retention. A low CAC with short-lived customers may be less attractive than a higher CAC that recovers from durable margin. That is an inference from the formulas, not a study of channel causation. 2
FAQ
What belongs in the CAC denominator?
Why can blended and channel CAC differ?
Does last-click attribution prove channel causation?
Why does gross margin matter to payback?
How we researched this
We read Stripe's CAC method, ChartMogul's payback explanation, and two Google Analytics attribution pages on October 2, 2026. Four dated excerpt snapshots contain the exact evidence behind the fact markers. The sources define metrics and attribution choices; none supplies a controlled inbound-versus-outbound comparison for the hypothetical cohort above. 1234
Rather have outbound done for you?
Modern Inbound runs the whole stack: the data, the inboxes, the copy and the replies. You take the meetings.
Have Modern Inbound build the outbound systemSources
- Stripe, CAC in SaaS, verified October 2, 2026.
- ChartMogul, CAC payback, verified October 2, 2026.
- Google Analytics, attribution models, verified October 2, 2026.
- Google Analytics, traffic-source scopes, verified October 2, 2026.