saas

SaaS CAC Payback by Channel: Months-to-Recover, Done Right

SaaS payback is a duration, not a ratio. Why ecom ROAS thinking breaks the calculation, and how to measure CAC payback in months — by acquisition channel, on a cohort basis, gross-margin adjusted.

By Admaxxer Team • June 14, 2026 • 11 min read

Audience: SaaS / subscription businesses. This is not an e-commerce post — there is no AOV, no ROAS-as-headline, no "today's purchases." If you sell a recurring subscription with trials, MRR, and customers who pay over many months, this is for you. If you sell physical products with one-time orders, read our ecom benchmark and attribution material instead.

CAC payback is the single most clarifying metric in SaaS unit economics — and the one most often computed at the wrong altitude. The common mistake is to compute one blended payback number for the whole business and steer the budget with it. That blended number hides the fact that a paid-search customer and a paid-social customer can recover their acquisition cost months apart, on totally different gross margins, with totally different retention curves. Steering spend on the blend systematically over-funds the channel that looks cheap on day one and under-funds the channel that compounds.

This post is methodology-first. It defines CAC payback the way SaaS finance actually defines it, explains why importing e-commerce ROAS instincts breaks the calculation, and lays out how to measure months-to-recover by acquisition channel, on a cohort basis. Where we use a number, it is either tied to a public reference we link or explicitly framed as an illustrative example you can replicate on your own data.

What CAC payback actually means in SaaS

CAC payback period is the number of months it takes the gross-margin-adjusted recurring revenue from a customer (or cohort) to repay the fully-loaded cost of acquiring them. The standard form most SaaS finance teams use is:

CAC payback (months) = CAC ÷ (new MRR per customer × gross margin %)

A few parts of that definition do the heavy lifting, and each one is a place teams get it wrong:

For the conceptual companion on cohort LTV and when a payback number is even trustworthy, see our post on cohort LTV and CAC payback timing. This post goes one level deeper: payback split by channel.

Why e-commerce ROAS thinking misleads SaaS payback

Three ecom instincts, each of which quietly corrupts a SaaS payback read:

1. "Measure the return in the conversion window"

In ecom, the order completes within days of the click, so a 7- or 30-day window captures most of the value. In SaaS, the money arrives over many months and the signup-to-paid conversion itself often lags the click by weeks (free trial, then a credit-card conversion; or a no-card trial that converts on a later visit). A channel's true contribution is invisible inside any short window. We cover the lag side of this in depth in the companion guide, trial-to-paid attribution setup.

2. "Higher ROAS = better channel"

ROAS rewards immediate revenue. But the SaaS channel with the fastest first payment is frequently not the channel with the shortest payback — because payback depends on retention. A brand-search customer might convert at a high price and stay for years; a broad-prospecting customer might convert cheaply but churn before month three. Judging either on a same-day return multiple gets the ranking backwards.

3. "Attribute revenue to the click that converted"

Ecom last-click is defensible when the click and the purchase are the same session. In SaaS, the click creates an anonymous trial signup that only later becomes an identified paying customer. Without an identity stitch between those two events, the channel that drove the signup gets no credit for the MRR. This is exactly the gap the platform's SaaS analytics setup is built to close — identifying the user at signup so the channel that earned the trial also earns the eventual MRR.

The metrics to track for channel-level payback

To compute payback by channel honestly, track these per channel and per monthly cohort:

A widely-cited rule of thumb in SaaS investing is that a CAC payback under ~12 months is healthy for many B2B models — but treat that as directional, not a law. The benchmark varies enormously by ACV, motion (self-serve vs sales-led), and segment. For the framing behind these efficiency rules-of-thumb, see the Bessemer cloud benchmarks and a16z's writing on SaaS metrics. Do not paste a competitor's published payback number onto your own board deck — compute yours.

Methodology — measuring CAC payback by channel on your own data

You do not need a benchmark report. You need four steps against your own billing and acquisition data.

Step 1 — Stitch identity so MRR maps to a channel

The whole calculation collapses if you cannot connect a paying customer back to the channel that acquired them. The durable pattern: capture the acquisition channel at first touch (UTM source / medium, click ID, or first-touch referrer), persist it to the user record, and identify the user at signup so every later billing event inherits the channel. Concretely, with the platform pixel that is one call at account creation:

// On signup — links the anonymous ad-clicker to the customer record,
// so the channel that drove the trial also earns the eventual MRR.
admaxxer.identify(userEmail);
admaxxer('Signup', { plan: 'starter' });

Then connect your billing source of truth (a read-only restricted Stripe key) so MRR, trial-to-paid, and churn flow in automatically and join to that channel. See SaaS analytics setup for the end-to-end wiring.

Step 2 — Build monthly acquisition cohorts, by channel

Group newly-acquired paying customers by the month they converted and the channel that acquired them. Cohort-by-conversion-month (not signup-month) is the cleaner choice for payback, because payback is measured from the first dollar, not the first trial. Each cohort carries: customer count, fully-loaded CAC for that channel-month, and starting MRR.

Step 3 — Compute months-to-recover per cohort, per channel

For each channel-cohort, accumulate gross-margin-adjusted MRR month over month and find the month where the running total crosses the cohort's fully-loaded CAC. That crossing month is the realized payback — and because it walks the actual retained revenue forward, it automatically penalizes channels whose customers churn before recovery. A channel can show a short formula payback yet never actually cross the line if its cohort decays fast enough; the cohort walk is what surfaces that.

Step 4 — Rank channels by realized payback, and reconcile to the blended number

Now you have a payback curve per channel. The fast-payback channels can absorb more budget at the margin; the slow-but-retentive channels deserve patience, not a kill decision, if their cohorts cross the line and keep compounding. Always reconcile the sum of channel cohorts back to your overall blended payback — if they disagree, your identity stitch is dropping customers (some MRR is landing in an "unattributed" bucket), which is itself the most important finding.

Illustrative example

A self-serve B2B SaaS runs two paid channels. All numbers below are illustrative — the point is the shape, not the figures.

The naive blended read ("social is cheaper, shift budget to social") is exactly backwards. The cohort-walk read ("search pays back faster and compounds; fix social's retention before scaling it") is the one the data actually supports. The figures are invented for illustration; the methodology is what transfers to your account.

What we do at Admaxxer

Admaxxer is built for SaaS unit economics, not just ecom orders. For subscription businesses it:

See the SaaS marketing overview for the product view, and our companion guide on setting up trial-to-paid attribution for the hands-on wiring. For the conceptual groundwork on when a payback number is even reliable, read cohort LTV and CAC payback timing, and for the broader channel-attribution framing, SaaS marketing attribution by channel.

FAQ

How is CAC payback different from ROAS, and why can't I just use ROAS for my SaaS?

ROAS is a same-period revenue-to-spend ratio designed for transactions that complete near the click — it answers "how many dollars back this week." CAC payback is a duration that answers "how many months until this customer's gross margin repays what we spent to get them." In SaaS the revenue accrues over many months and the conversion itself lags the click by weeks, so a same-period ratio captures almost none of the real value. Reporting SaaS acquisition as a ROAS multiple silently applies an e-commerce model to a subscription business and will mis-rank your channels.

Why measure payback by channel instead of one blended number?

Because a single blended payback hides that different channels recover on different timelines and different retention curves. A channel that looks cheap to acquire can churn before it ever recovers its cost, while a pricier channel pays back fast and compounds. Steering budget on the blend over-funds the channel that looks good on day one. Splitting payback by channel — on a cohort basis — is what lets you fund the channels that actually recover and compound.

Should I cohort by signup month or by paid-conversion month?

For payback, cohort by paid-conversion month — payback is measured from the first dollar, so the clock starts when the customer begins paying, not when they signed up for a trial. (For trial-to-paid rate analysis, signup-month cohorts are the right choice; the two analyses use different cohort definitions on purpose.) Our trial-to-paid attribution guide walks through both.

Do I include gross margin in the calculation?

Yes. You recover gross profit, not revenue. Dividing CAC by raw MRR (skipping the margin adjustment) makes every payback number optimistically short. Use a company-wide gross-margin percentage if you don't have per-customer cost data; per-segment margin is better when you have it. Public SaaS margin framing is discussed in the Bessemer cloud benchmarks.

What counts as "CAC" — just ad spend?

No — CAC should be fully loaded: media spend plus the tooling, agency fees, and acquisition-team salaries attributable to winning new customers, divided by new customers in the period. A channel that looks cheap on media alone can be expensive once the human cost of operating it is included. The point of fully-loaded CAC is that it is comparable across channels that need very different amounts of human effort.

Is a 12-month CAC payback good?

It's a common directional rule of thumb for many B2B SaaS models, not a universal law — the healthy range varies sharply by average contract value, sales motion (self-serve vs sales-led), and segment. Treat published figures from investors like a16z or Bessemer as framing for how to think about efficiency, and compute your own number. Don't paste a competitor's published payback onto your board deck.

How does attribution affect the payback calculation?

Decisively. If you cannot connect a paying customer back to the channel that acquired them, that customer's MRR lands in an "unattributed" bucket and the channel gets no credit — making every per-channel payback number wrong. The fix is an identity stitch: capture the acquisition channel at first touch and identify the user at signup so all later billing events inherit it. That is the core of the platform's SaaS analytics setup.

saas cac-payback unit-economics mrr cohort-analysis attribution
Try Admaxxer Free