Measure true CAC payback, by channel.
CAC payback tells you how many months it takes to earn back the cost of a customer — the single clearest signal of whether paid acquisition is working. But a blended, once-a-quarter spreadsheet number hides your best and worst channels and is wrong the moment a customer churns. Here's how to measure it correctly, and how to automate it against Stripe.
The formula, and what it really means.
CAC payback period is the number of months it takes to recover what you spent to acquire a customer, using the gross profit that customer generates. It's the truest read on capital efficiency in SaaS — shorter payback means faster reinvestment and less runway at risk.
The gross-margin term matters: you recover CAC out of profit, not revenue. Skipping it makes payback look better than it is.
How the numbers connect.
Four steps to a number you can trust.
Total acquisition spend, per channel
Sum ad spend (and any acquisition costs) for each channel separately — never blended. Blended spend hides which channels actually pay back.
Count new paying customers per channel
Attribute each paying customer — not trial starts — to the channel that acquired them. This is where pixel data breaks and Stripe truth matters.
Apply monthly ARPA and gross margin
Divide CAC by monthly ARPA × gross margin to get payback in months. Use gross profit, not revenue, so the number reflects reality.
Repeat per channel, keep it current
Recompute as spend, conversions and churn change. A payback number is only useful if it's live — not a quarterly snapshot.
The math is easy. Doing it accurately, every week, isn't.
The formula is simple — but feeding it correct, current, per-channel inputs by hand is where CAC payback quietly goes wrong.
It goes stale immediately
A spreadsheet is accurate the day you build it and drifting the next. Expansion, downgrades and churn all move payback, and manual refreshes can't keep up.
Trial counts corrupt the input
If you count trial signups instead of paying customers, CAC is understated and payback looks artificially fast — right up until those trials don't convert.
Blended hides the truth
A healthy blended payback can contain a fast brand channel subsidizing a channel that never pays back. Only per-channel measurement tells you where to spend.
Connect Stripe, and payback measures itself.
Connect spend and Stripe
Ad spend from every platform and MRR from Stripe are joined to the same paying customer — automatically, with no exports.
Compute payback per channel
CAC, payback and ROAS are calculated for each channel using real ARPA and margin, reconciled to Stripe.
Stay current, get alerted
Payback recomputes as revenue changes, and you're alerted the moment a channel drifts past your threshold.
Benchmark your payback against SaaS norms.
Benchmarks are directional. What matters most is payback by channel and paired with retention — a channel with slower payback but strong LTV:CAC can still be your best.
Payback finance and the board will trust.
A payback number is only worth acting on if it's real. Signal Sparrow reconciles every figure to Stripe — attributed plus direct/unknown equals your net MRR for the period, to the cent — so the CAC payback you present ties out to the revenue in your account. No inflated inputs, no blended averages hiding the truth.
Stop calculating, start deciding.
Illustrative figures; payback varies by channel mix, ARPA, margin and retention.
Real CAC payback in 30 minutes.
Connect Stripe and your ad accounts over OAuth, add the snippet, and Signal Sparrow measures CAC payback per channel automatically — no formula to maintain, no spreadsheet to refresh, no sales call. Your first reconciled payback view is ready the same day.
Questions, answered.
Everything teams ask before switching their attribution to Stripe truth. Still curious? Talk to us.
Divide CAC by the monthly gross profit per customer: CAC ÷ (monthly ARPA × gross margin %). For example, a $300 CAC with $150 ARPA at 80% margin ($120 gross profit) is a 2.5-month payback. Using gross profit rather than revenue keeps the number honest.
Most B2B SaaS targets under 12 months, with best-in-class under 6. Enterprise businesses with strong retention can tolerate 12–18. Anything beyond 18 months — especially early-stage — is a warning to examine channel mix and churn.
Total spend and count paying customers separately for each channel, then apply ARPA and margin per channel. Blended payback averages winners and losers together; per-channel measurement is the only way to know where to spend.
Spreadsheets go stale immediately, often count trial signups instead of paying customers, and usually blend channels. All three understate or distort payback. Automating it against Stripe keeps the inputs correct and current.
Yes. You recover acquisition cost out of gross profit, not revenue. Leaving margin out makes payback look faster than it really is — include it for an accurate, defensible number.
CAC payback measures how fast you recover acquisition cost; LTV:CAC measures how much total value a customer returns relative to that cost. They're complementary — use payback for cash efficiency and LTV:CAC for long-term channel quality.
Ready to see which ads actually pay?
Start free, connect Stripe in 30 minutes, and get attribution that reconciles to the cent.
- Free to start — no credit card
- Live data in 30 minutes
