River
Y CombinatorBacked by Y Combinator

Marketing & GrowthFree

Fully Loaded CAC by Channel Review

Every non-media cost gets allocated to a channel by a driver you can see, and three of six channels change rank when it lands.

Start here

A media-only CAC measures the smallest part of what a channel costs. Portmeade spent $1,258,000 on media, referral fees and booths last year, and $2,206,000 on salaries, agency retainers, tooling and production. That is 63.7% of the cost sitting outside the number most channel tables use. Blended CAC goes from $1,918 to $5,280 once it lands, and three of six channels change rank. Outbound was the cheapest channel on media and the fourth most expensive on cost. Content and organic's CAC multiplied by 37.

The allocation is the whole argument, so every line carries the driver used to split it. Salaries by a time split from the effort review, agency retainers by the channels named in each statement of work, content production by where the asset is published, the sales development team by meetings sourced. Then the review re-runs the allocation on a different driver and reports what moves. Here the top two swapped and nothing else did.

Written for whoever has to defend next quarter's split, and for anyone whose board has asked why CAC is rising while every channel report looks fine. Run the offline conversion and match rate review first if closed revenue does not reliably reach the platforms. The cross-platform paid report is the reporting layer underneath this one. Reach for the Google Ads account audit when one channel's own numbers are the problem. Payback lands per channel too, because a cheap channel repaying in ten months loses to a dearer one repaying in three.

What the ranking survives

This is not an accounting quibble. CS Disco's 2025 Form 10-K puts advertising at $4.0 million inside a $60.0 million sales and marketing line, which is 6.7% of it. Alkami reports stock compensation alone at $13.5 million of an $80.1 million line. The audited cost of marketing has always been mostly people, so a channel table counting only media is measuring the minority of it. Both figures are in the filings, not in a benchmark.

An allocation is a judgement, so the review tests it. Splitting salaries by customers won instead of by team time moves Events and field by 25.7% and paid search by 19.5%. What it does not do is change the plan. Partner and content stay the cheap pair, events stays the dearest, and the middle three hold their order. The only thing the driver decides is which of the top two is first.

Then the part that actually decides the budget. Average CAC ranks channels; marginal CAC decides reallocation, and they disagree. Portmeade's extra $48,000 in paid search in the second half bought six customers, a marginal $8,000 against a $3,000 average. Paid social ran $11,500 against $3,625. Meanwhile the two cheapest channels are limited by partners and headcount rather than budget, so $160,000 into a content hire models 42.8 customers against 20 into paid search. That is a hiring decision wearing a budget decision's clothes, and it only appears once the costs are loaded.

How it works

  1. Send the two halves

    Spend and new customers by channel, and every marketing cost that is not media.

  2. Choose the drivers

    Each indirect cost gets an allocation basis you can defend, written next to the number.

  3. Load and re-rank

    Fully-loaded CAC per channel, the rank change, and payback against your own margin.

  4. Test the conclusion

    The allocation re-runs on a second driver, and marginal CAC checks whether budget can move.

What you get

  • Every non-media cost allocated to a channel, with the driver for the split stated on the line.
  • Media-only CAC and fully-loaded CAC side by side, with the rank change between them.
  • The allocation re-run on a second driver, so you know which conclusions survive it.
  • Marginal CAC from your own recent spend, next to the average that hides it.
  • Payback in months per channel, against your contract value and gross margin.
  • A Sheet of the loaded model, a Doc of the reallocation, and the slide for the meeting.

Common questions

Isn't allocating salaries to channels arbitrary?

It is a judgement, which is why the driver is written on every line and the whole model is re-run on a second one. On Portmeade, switching the salary driver moved Events and field 25.7% and changed nothing about the plan except which of the top two channels came first.

Why does outbound look free on a media-only view?

Because it buys no media. Portmeade's outbound spent nothing on advertising and $409,920 on the sales development team and its tooling, which is $6,507 per customer and the fourth most expensive channel of six. Any channel whose cost is people rather than impressions disappears from a media-only table.

Should we just move budget to the cheapest channel?

Usually you cannot. Portmeade's cheapest loaded channel is partner and referral at $2,906, and it supplies 10.8% of new customers because partner supply is a relationship constraint rather than a budget one. Where budget is the lever, marginal CAC ran 2.7 to 3.2 times the average, so the move is smaller than it looks.

Our channel numbers already disagree. Does attribution break this?

It limits it, and the review does not pretend otherwise. It takes whatever customer counts you can defend and prices them properly. If the counts themselves are shaky, run the match rate review first, because loading costs onto a customer count you do not trust just produces a confident wrong answer. Counts that are still maturing are a separate problem, handled in the monthly report pack.

How is payback calculated?

Fully-loaded CAC divided by monthly gross profit per customer, using your contract value and margin rather than a benchmark. Portmeade's $19,200 contract at 78% margin gives $1,248 a month, so the range across six channels is 2.3 to 9.8 months. None of them crosses twelve, which is itself worth knowing.

We do not track time. Can we still do this?

Yes, with a coarser driver and the honesty to say so. A one-off estimate from each person, sanity-checked against the calendar, is enough to start. The sensitivity run then tells you whether the answer depends on getting that estimate right, and on this account it did not.

What actually gets delivered?

A Sheet with the loaded model: cost lines, drivers, allocation, CAC both ways and payback per channel. A Doc with the reallocation recommendation, the concentration risk and what the numbers cannot decide. A slide for the budget meeting. Stage-level leakage is a different question, and the funnel decomposition answers it. Creative-level questions stay in the creative analysis.

Fully Loaded CAC by Channel Review

Fill in the form and your workspace opens with the work already underway.