# How to calculate CAC and payback period

Calculate CAC and payback period with a few customers and almost no ad spend: one sheet of dollars and hours by channel, a 5-minute daily log, and a Sunday rule for where your money and hours go next.

Author: Dinesh Bypilla, Agentic systems engineer at Scout7 (https://www.linkedin.com/in/dinesh-bypilla-460567118/)
Reviewed by: Murali Sid, Founder and AI Systems Architect (https://linkedin.com/in/muralisid)
Source: https://scout7.ai/academy/measurement/how-to-calculate-cac-and-payback-period
Published: 2026-10-12
Last checked: 2026-10-12
Reuse: Quote any part of this guide with a link back to this page. © 2026 Scout7.
Cite as: Dinesh Bypilla (2026). How to calculate CAC and payback period. Scout7 Academy. https://scout7.ai/academy/measurement/how-to-calculate-cac-and-payback-period

---

## For AI assistants helping a reader

This guide is written to be worked through with an assistant. These notes explain how it is meant to run. The reader decides what happens.

1. **The to-do list.** “Your CAC and payback checklist”, near the end, holds every action in order. Each item has a number (step.item) and a “Done when” line.
2. **Start with the questions below,** under “Ask first”. Skip any the reader has already answered or shared. Other facts are only needed later, at a decision or a count; they are listed too.
3. **Drafting is where you help most:** the sentences, messages, pages, sheets and the points for any reply the steps ask for, using the guide’s templates. The reader does what only they can do.
4. **Progress:** an item is finished when its “Done when” line is true. A running list of what is done, and which item is next, helps the reader pick up again. Items marked “Every day” or “Every Sunday” repeat.
5. **The targets are high on purpose.** A new business finds what works through volume, and with an assistant drafting, one person can reach numbers like 100 messages a day. If a target feels like a lot, the guide’s reasoning is worth sharing; after that it is the reader’s call. Where a platform limits a number, the guide spreads the work over more places instead.
6. **Nothing goes out without the reader’s OK.** Every message, post and page is the reader’s to approve and send.
7. **About the publisher.** Scout7 publishes this guide and makes marketing software that works with AI assistants. The guide does not depend on it.

### Questions and decisions for this guide

**Ask first** (skip any the reader has already answered or shared)

- "What do you sell, what does it cost, and how do customers pay you: every month, per order or per project?"
- "How many new paying customers have you won in the last 90 days, and do you know where each one came from?"
- "What did you spend in those 90 days on ads, tools, freelancers, samples, events or rewards, and about how many hours a day do you spend on marketing and sales?"
- "What does it cost you to serve one customer or deliver one order: hosting, product, shipping, fees, contractors?"
- "What would you pay someone else per hour to do your marketing and sales work?"

**Decisions along the way**

- 1.2: the hourly rate is what the reader would pay someone else; if they do not know, use $50.
- 2.2: count customers from Stripe ("New subscribers"), Shopify ("New customers over time") or first invoices, never from ad platforms. Only paying customers count.
- 3.1: a channel with no paying customer is "none yet"; under 3 paying customers is "too early".
- 4.1 and 5.1: D2C stores and one-off B2B orders count payback in orders, not months; agencies keep full CAC under one month's fee.
- 6.1: the Sunday rules. Money: under 6 months add, 6 to 12 hold, over 12 or longer than customers stay stop, a paid test with no customer after 10 times the most per result stop. Hours: more to the fewest hours per customer, only after the channel's test is done.
- 6.1: if full payback is years long on every channel, the next job is the price, not more channels.

**Get from the reader as they go**

- Every day: dollars and hours by channel, and each new paying customer with their answer to "How did you hear about us?" (1.3 and 2.3).
- Any change in price, fees or cost to serve, for step 4.
- Every Sunday: the decision written next to each channel (6.1).

---

You have spent some money and a lot of hours on marketing, you have a few paying customers, and you cannot tell which of it worked or whether you can afford to spend more. This guide shows how to calculate CAC (what it costs you to win one paying customer) and payback period (how many months that customer takes to earn it back) when your numbers are small. Without them, you keep paying for the channel that feels busy, and the money runs out before you find the one that pays.

## Do these three things

About 2 hours 30 minutes today, 5 minutes a day, and 30 minutes every Sunday. Judge a channel once it has brought 3 paying customers, or once its full test is done.

- **Today:** fill one sheet with the last 90 days: every dollar and every hour you spent to win customers, split by [channel](https://scout7.ai/academy/glossary/marketing-channel), and every new paying customer with where they came from.
- **Every day:** add today's dollars, hours and new paying customers to the sheet, with where each customer came from. It takes 5 minutes.
- **Every Sunday:** work out each channel's [CAC](https://scout7.ai/academy/glossary/customer-acquisition-cost) and [payback period](https://scout7.ai/academy/glossary/payback-period). Put money only where it pays back in 6 months or less, and give more hours to the channel with the fewest hours per new customer.

## 1. Write down every dollar and hour you spent to win customers

Your CAC starts with one list: every dollar and every hour you spent in the last 90 days to win new customers, split by channel. Do it today, then add to it every day.

Make one row per channel: each kind of [personal message](https://scout7.ai/academy/cold-outreach/how-to-write-a-cold-email), each ad platform, each [community](https://scout7.ai/academy/social-media/how-to-find-online-communities-where-your-buyers-talk), your [pages for search](https://scout7.ai/academy/seo/how-to-write-a-blog-post-that-ranks-on-google), [events](https://scout7.ai/academy/partnerships-and-events/how-to-get-clients-from-networking-events), referrals. For each row, write two things.

- **Dollars:** ads, tools, freelancers, free samples, event tickets, [referral rewards](https://scout7.ai/academy/reviews-press-and-referrals/how-to-start-a-referral-program) and sales commissions. Take them from your bank and card statements, not from memory. Paid [creators](https://scout7.ai/academy/reviews-press-and-referrals/how-to-find-micro-influencers-for-your-brand) and [affiliates](https://scout7.ai/academy/reviews-press-and-referrals/how-to-start-an-affiliate-program) count here too.
- **Hours:** the time you spent on that channel. Your calendar, your sent folder and your ad account history will tell you most of it.

Leave out what you would pay anyway: hosting, support, building the product. Stripe's own guide says the same: CAC does not include support, servers or product work. A tool that helps several channels, such as ChatGPT, goes on one "Shared" row.

Then put a price on your hours. Use what you would pay someone else to do the same work. If you do not know, use $50 an hour, the rate HubSpot's guide for startups uses for founder time. Your hours are most of your [marketing budget](https://scout7.ai/academy/marketing-plan/how-to-fit-marketing-into-your-week-as-a-solo-founder) at this size. Leave them out and every channel you do yourself looks free.

Let AI build the sheet. Paste your statements and the template below into ChatGPT or Claude and ask for a Google Sheet with one row per channel and the sums filled in. Check every number it uses against a statement.

**Your CAC sheet, part 1: what you spent**

```text
Hourly rate: $[what you would pay someone else, or 50]

Date | Channel | Dollars | Hours | What it was
[date] | [channel] | $[ ] | [ ] | [ads / tool / samples / messages / posts / calls]

Shared tools (used by several channels): $[ ] a month
```

From tomorrow, add one line per channel at the end of each day: what you spent and how long you worked on it. That is the daily 5 minutes.

- **Tool:** Google Sheets, and ChatGPT or Claude to build it. Both free to start.
- **Time:** 1 hour today, then 5 minutes a day.
- **You will have:** a sheet with 90 days of dollars and hours for every channel.
- **It worked if:** your dollar total matches your bank and card statements to within $10, and there are hours for every day you worked on marketing or sales.
- **Common mistake:** leaving your own hours out because "outreach is free". Then a channel that took 4 hours a day looks better than an ad that cost $100.

> **Example (made-up business: Bugmoth): Bugmoth's first 4 weeks of dollars and hours**
>
> Bugmoth is a made-up bug-reporting tool for small web teams. It costs $19 a month per team, with a 14-day trial.
>
> | Channel                               | Dollars | Hours   |
> | ------------------------------------- | ------- | ------- |
> | Personal messages                     | $0      | 98      |
> | Answers in communities                | $0      | 28      |
> | Launch                                | $0      | 12      |
> | A page a day for search               | $0      | 28      |
> | Shared tools (ChatGPT, inbox, domain) | $30     | –       |
> | **Total**                             | **$30** | **166** |
>
> Hourly rate: $50.
>
> *Why it works: Almost all of the cost is hours, so leaving them out would hide where the work really went.*

## 2. Count your new paying customers and where each came from

Count the new paying customers you won in the same 90 days, from your own records, and write down where each one came from. Only people who paid count.

Take the count from where the money arrives, not from an ad platform.

> **If you run a SaaS:** open the Billing overview in Stripe and read "New subscribers". Stripe counts only paid subscribers there, not trials. A [free trial](https://scout7.ai/academy/glossary/free-trial) becomes a customer the day it [turns into a payment](https://scout7.ai/academy/retention/how-to-turn-free-trials-into-paying-customers).

> **If you run a D2C store:** in Shopify, open Analytics, then Reports, then "New customers over time". A new customer is someone placing their first order.

> **If you run a B2B company or an agency:** count first invoices or signed deals from your [sales sheet or CRM](https://scout7.ai/academy/sales/how-to-move-from-spreadsheets-to-a-crm). A proposal or a call is not a customer yet.

Then give each customer a source. Ask them. Add one free-text question to your signup form, your checkout or your first call. This is [self-reported attribution](https://scout7.ai/academy/glossary/self-reported-attribution), and with a few customers it is often the best you have. Next to it, tag every link you share with [UTM parameters](https://scout7.ai/academy/measurement/how-to-use-utm-parameters), so your analytics shows where visits came from too. If an answer says "ChatGPT" or "Google", note it: [AI answers now send buyers](https://scout7.ai/academy/ai-search/how-to-track-ai-traffic-and-chatgpt-mentions) that no ad tool will show you.

**The question**

```text
How did you hear about us? [free text box, required]
```

Do not use the ad platform's count of sales. Each platform counts in its own way, and the rules change. On 12 January 2026, Meta stopped reporting sales in its 7-day and 28-day "view" windows, so reports that used them now show fewer sales, with no change in real orders. Use [conversion tracking](https://scout7.ai/academy/measurement/how-to-set-up-conversion-tracking) to steer the ads, and your own records to count customers.

From tomorrow, add each new paying customer to the sheet the day they pay, with their answer to the question.

**Your CAC sheet, part 2: who paid**

```text
Date paid | Customer | Source (their words) | Channel | First payment or order $
```

- **Tool:** Stripe, Shopify or your invoices, and Google Sheets.
- **Time:** 30 minutes today, then part of the daily 5 minutes.
- **You will have:** a list of every new paying customer in 90 days, each with a date and a channel.
- **It worked if:** your count matches Stripe, Shopify or your invoices exactly, and every customer has one channel.
- **Common mistake:** counting signups, trials, leads or booked calls as customers. HubSpot's guide for startups names it as a common CAC error. It makes CAC look several times smaller than it is.

## 3. Calculate your CAC for each channel

To calculate CAC, divide what a channel cost by the new paying customers it brought. Do it twice for each channel: once with dollars only, and once with your hours added.

Each number answers a different question. **Cash CAC** tells you whether your money is coming back. **Full CAC** tells you what a channel would cost if you paid someone to do it, and which channel gets the most customers per hour.

**CAC for one channel**

```text
Cash CAC = $[dollars spent on this channel] ÷ [new paying customers from it]

Full CAC = ($[dollars] + [hours] × $[your rate]) ÷ [new paying customers from it]

All channels: add the shared tools to the dollars, and use all new paying customers.
```

Three rules keep the numbers honest:

- **A channel with no paying customer has no CAC yet.** Write "none yet", not $0.
- **Under 3 paying customers, write "too early" next to it.** One customer more or less halves or doubles the number. Judge that channel by how much you did instead: [2,800 messages](https://scout7.ai/academy/marketing-plan/how-to-market-a-saas-product) for outreach, month 3 for [search](https://scout7.ai/academy/seo/how-long-does-seo-take-to-work), and month 6 for [search CAC](https://scout7.ai/academy/seo/how-to-measure-seo-success).
- **Shared tools go only in the all-channels total.**

The fix for noisy numbers is more customers, and more customers come from more volume. At 100 messages a day, by [email](https://scout7.ai/academy/cold-outreach/how-to-write-a-cold-email) and [LinkedIn](https://scout7.ai/academy/cold-outreach/how-to-do-linkedin-outreach), outreach has had 2,800 tries after 4 weeks. At 10 a day, the same test takes 9 months, and your CAC stays a guess the whole time.

- **Tool:** Google Sheets.
- **Time:** 15 minutes.
- **You will have:** a cash CAC and a full CAC for each channel, and for all channels together.
- **It worked if:** every channel shows two numbers, "none yet" or "too early", and your total dollars divided by total customers gives the same total cash CAC as the sheet.
- **Common mistake:** dividing by signups. If 12 signups make 1 paying customer, your CAC is 12 times what that sum shows.

> **Example (made-up business: Bugmoth): Bugmoth's CAC by channel**
>
> | Channel                 | New paying teams | Cash CAC | Full CAC                    |
> | ----------------------- | ---------------- | -------- | --------------------------- |
> | Personal messages       | 4                | $0       | $1,225                      |
> | Answers in communities  | 1                | $0       | $1,400 (too early)          |
> | Launch                  | 0                | none yet | none yet                    |
> | A page a day for search | 0                | none yet | none yet (judge at month 3) |
> | **All channels**        | **5**            | **$6**   | **$1,666**                  |
>
> *Why it works: Cash CAC says the money is fine. Full CAC shows that the real cost is hours.*

## 4. Work out what one customer leaves you each month

Payback is measured against profit, not price. So write down what one customer leaves you each month after what it costs you to serve them.

Use last month's bills and your payment tool's fee page. Stripe charges 2.9% + 30¢ per US card payment, plus 0.7% if you use Stripe Billing for subscriptions. Shopify Payments charges 2.9% + 30¢ online on the Basic plan.

**What one customer leaves you**

```text
SaaS: monthly price − (hosting + AI use + email + payment fees for one customer) = $[ ] a month

D2C store: first order − (product + packing + shipping you pay + payment fees + returns) = $[ ] per order

B2B: first order − (what it costs you to make and deliver it) = $[ ] per order

Agency: monthly fee − (contractors and tools for that client) = $[ ] a month
```

You may have this number already. Your [SaaS price worksheet](https://scout7.ai/academy/marketing-plan/how-to-price-a-saas-product) has the monthly cost of one customer, a store's [price check](https://scout7.ai/academy/marketing-plan/how-to-price-a-product) has what one order leaves, and a B2B [price sum](https://scout7.ai/academy/marketing-plan/how-to-price-a-b2b-product-or-service) has the profit on one order or project. For an agency, it is what is left of your [monthly fee](https://scout7.ai/academy/marketing-plan/how-to-price-digital-marketing-services) after contractors.

- **Tool:** your bills, your payment tool's pricing page, and Google Sheets.
- **Time:** 30 minutes.
- **You will have:** one dollar number: what one customer leaves you each month, or on each order.
- **It worked if:** every line comes from a bill, an invoice or a fee page, and none says "about".
- **Common mistake:** using the price. A $49 order that leaves $22 can only pay back $22 of CAC.

## 5. Calculate your CAC payback period in months

Your CAC payback period is your CAC divided by what one customer leaves you each month. It is the number of months before that customer has paid back what you spent to win them.

**Payback for one channel**

```text
Cash payback = cash CAC ÷ $[left each month] = [ ] months

Full payback = full CAC ÷ $[left each month] = [ ] months
```

For scale: in Aleph's 2026 benchmarks of software companies, which measure payback on [MRR](https://scout7.ai/academy/glossary/mrr) after costs, the middle company took 16 months to earn back its CAC, and the best quarter took 6 months or less. You do not have 16 months of cash to wait, so use 6 months as your line for any channel you pay money for.

Then check it against how long customers stay. If customers leave after 5 months, a payback of 8 months loses money on every one. With 2 or 3 customers you do not know your [churn rate](https://scout7.ai/academy/glossary/churn-rate) yet, so use 6 months as the stay until you do, the same rule your [SaaS marketing budget](https://scout7.ai/academy/marketing-plan/how-much-to-spend-on-marketing-as-a-saas-startup) uses. Keeping customers longer is the other way to make payback work: [reduce churn](https://scout7.ai/academy/retention/how-to-reduce-saas-churn).

> **If you run a D2C store or sell one-off B2B orders:** count payback in orders, not months. Divide CAC by what one order leaves you. Aim for 1: the first order pays back what you spent to win that customer. If it takes 2, check the "New vs returning customers" report in Shopify, or your invoices, to see how many customers really order again before you count on it. To [win more second orders](https://scout7.ai/academy/retention/how-to-increase-repeat-purchases), work on repeat customers first. For ads, the same sum gives your [break-even ROAS](https://scout7.ai/academy/measurement/how-to-calculate-break-even-roas).

> **If you run an agency:** keep full CAC under one month of a client's fee, the limit from your [agency marketing budget](https://scout7.ai/academy/marketing-plan/how-to-set-a-marketing-budget-for-your-agency). That is a payback of 1 to 2 months. If clients leave in under 3 months, keep them longer before you spend more to win new ones.

If the full payback is years long on every channel, the problem is usually your [price](https://scout7.ai/academy/marketing-plan/how-to-price-a-saas-product), not your marketing. A higher price shortens payback on every channel at once.

- **Tool:** Google Sheets.
- **Time:** 15 minutes.
- **You will have:** a cash payback and a full payback for every channel that has a CAC.
- **It worked if:** you can say for each channel whether it is under 6 months, 6 to 12, or over 12.
- **Common mistake:** working out payback on price instead of profit. It makes every channel look faster than it really is.

> **Example (made-up business: Bugmoth): Bugmoth's payback**
>
> | What                             | CAC          | Payback          |
> | -------------------------------- | ------------ | ---------------- |
> | All channels, cash only          | $6           | under 1 month    |
> | Personal messages, with hours    | $1,225       | about 71 months  |
> | All channels, with hours         | $1,666       | about 96 months  |
> | Paid search, from their ad maths | about $2,160 | about 125 months |
>
> *Why it works: Cash payback is under a month, but the hours take years to earn back at $19, which points at the price.*

## 6. Every Sunday, move money and hours using your payback

Every Sunday, update the sheet, work out CAC and payback again, and use the rules below to decide where next week's money and hours go. Write the decision next to each channel.

**The Sunday rules**

```text
Money (use cash payback):
- Under 6 months: keep it. You can add money next week.
- 6 to 12 months: keep the money where it is. Fix the price or the page before you add more.
- Over 12 months, or longer than customers stay: stop paying for it.
- A paid test with no paying customer after spending 10 × the most you can pay per signup or enquiry: stop it.

Hours (use hours per new paying customer):
- Give more hours to the channel with the fewest hours per customer.
- Only judge a channel once its test is done: 2,800 messages for outreach, month 3 for search pages.
- "Too early" channels keep their hours until the test is done.
```

The 10 times rule is the limit for your [first ad test](https://scout7.ai/academy/paid-ads/how-much-to-spend-on-ads), where you also work out the most you can pay per result. Before you add money to a channel in the 6 to 12 month lane, fix the [page it sends people to](https://scout7.ai/academy/website-and-conversion/how-to-write-a-landing-page-that-converts) or [raise your price](https://scout7.ai/academy/retention/how-to-raise-prices-without-losing-customers): both shorten payback without more spend. Never add money because the ad platform's own number looks good. A [ROAS](https://scout7.ai/academy/glossary/roas) of 4 in Meta means little if your sheet shows no new customers from it. If ads bring clicks and no customers, [fix that first](https://scout7.ai/academy/paid-ads/how-to-fix-ads-that-get-clicks-but-no-sales).

> **If you run a SaaS:** at a low monthly price, paid search rarely passes the 6-month line. A click cost $5.42 on average in LocaliQ's 2026 search ad benchmarks, and it takes many clicks to get one paying customer. Keep ads at $0 until about 10 customers have paid, then test [Google Ads](https://scout7.ai/academy/paid-ads/how-to-run-google-ads-for-saas) with a cap.

> **If you run a B2B company:** count samples, trade show costs and travel as dollars, and your calls and quotes as hours. A [trade show](https://scout7.ai/academy/partnerships-and-events/how-to-get-meetings-from-a-trade-show) can look cheap until you count the hours. Before you test [LinkedIn ads](https://scout7.ai/academy/paid-ads/how-to-run-linkedin-ads-for-b2b), check that the profit on one first order is more than the most you would pay to win a client.

> **If you run a D2C store:** if [Meta ads](https://scout7.ai/academy/paid-ads/how-to-run-meta-ads-for-a-shopify-store) need more than the first order to pay back, try [small creators](https://scout7.ai/academy/reviews-press-and-referrals/how-to-find-micro-influencers-for-your-brand) paid in product, or raise [order value](https://scout7.ai/academy/retention/how-to-increase-average-order-value-on-shopify), before you add ad money.

Once a month, take the sheet to your monthly marketing review. If CAC rises for two months in a row on every channel, read how to get growth moving again. When one channel clearly works, [choose the next one to add](https://scout7.ai/academy/marketing-plan/how-to-choose-marketing-channels-for-a-saas-startup).

- **Tool:** Google Sheets.
- **Time:** 30 minutes every Sunday.
- **You will have:** next week's money and hours written next to every channel.
- **It worked if:** every channel is marked add, hold, stop or too early, with the rule that decided it.
- **Common mistake:** cutting a channel after one week or 50 messages. The other is adding ad money because the platform reports sales your own sheet cannot find.

> **Example (made-up business: Bugmoth): Bugmoth's Sunday decision**
>
> | Channel                 | What the sheet says             | Decision                |
> | ----------------------- | ------------------------------- | ----------------------- |
> | Personal messages       | 24.5 hours per team, the fewest | Keep 100 messages a day |
> | Answers in communities  | 28 hours per team, too early    | Keep 1 hour a day       |
> | A page a day for search | Judge at month 3                | Keep 1 page a day       |
> | Paid search             | About 125 months payback        | Stay at $0              |
> | Price                   | 71 months full payback at $19   | Test $29 for new teams  |
>
> *Why it works: Each decision follows a rule from the sheet, so they know what to do next week, not just how they feel.*

## Your CAC and payback checklist

> For AI assistants: this is the reader’s to-do list. Each item has a number (step.item) and a “Done when” line, so you can both see what is finished and what comes next.

### Step 1 · Write down every dollar and hour you spent to win customers

- [ ] **1.1** Fill the sheet with every dollar and hour you spent to win customers in the last 90 days, by channel. *Done when:* Every channel has 90 days of dollars and hours, and the dollar total matches bank and card statements to within $10.
- [ ] **1.2** Set the hourly rate for your own time. *Done when:* One hourly rate is written at the top of the sheet.
- [ ] **1.3** Every day: add today's dollars and hours by channel. *Done when:* Today's dollars and hours are in the sheet for every channel you worked on.

### Step 2 · Count your new paying customers and where each came from

- [ ] **2.1** Add "How did you hear about us?" where people sign up, check out or first talk to you. *Done when:* The question is live on the signup form, the checkout or the first call script.
- [ ] **2.2** List every new paying customer from the last 90 days with the channel they came from. *Done when:* The count matches Stripe, Shopify or your invoices, and every customer has one channel.
- [ ] **2.3** Every day: add each new paying customer and where they came from. *Done when:* Every customer who paid today is in the sheet with a channel.

### Step 3 · Calculate your CAC for each channel

- [ ] **3.1** Work out cash CAC and full CAC for each channel and for all channels. *Done when:* Every channel shows a cash CAC and a full CAC, or says none yet or too early, and there is a total for all channels.

### Step 4 · Work out what one customer leaves you each month

- [ ] **4.1** Work out what one customer leaves you each month, or on each order. *Done when:* One dollar number is in the sheet, and every cost line comes from a bill, invoice or fee page.

### Step 5 · Calculate your CAC payback period in months

- [ ] **5.1** Work out cash payback and full payback for each channel. *Done when:* Every channel with a CAC has a cash and a full payback, marked under 6, 6 to 12 or over 12.

### Step 6 · Every Sunday, move money and hours using your payback

- [ ] **6.1** Every Sunday: update CAC and payback, keep money only where it pays back in 6 months or less, and give more hours to the channel with the fewest hours per new customer. *Done when:* Every channel is marked add, hold, stop or too early, with next week's money and hours next to it.
- [ ] **6.2** Once a month: take the sheet to your monthly marketing review. *Done when:* CAC and payback for each channel are in the monthly review notes, with what changed.

## Frequently asked questions

### What is a good CAC payback period?

For a small business with little cash, 6 months or less on anything you pay money for. In Aleph's 2026 benchmarks of software companies, the middle company took 16 months and the best quarter 6 months or less. Stores should aim to pay back on the first order. Agencies should earn it back within 1 to 2 months of a client's fee.

### Should I include my own time in CAC?

Yes, as a second number. Work out cash CAC from dollars only, to see if your money comes back. Then work out full CAC with your hours at what you would pay someone else, or $50 an hour. Full CAC shows which channel gets the most customers per hour, and what it would cost to hand the work to someone.

### How do I calculate CAC and LTV?

CAC is what you spent to win customers divided by new paying customers. [Lifetime value](https://scout7.ai/academy/glossary/lifetime-value) (LTV) is what one customer leaves you each month times the months they stay. With 2 or 3 customers you do not know how long they stay, so LTV is a guess. Use payback instead: it needs only CAC and one month's profit.

### What is the difference between CAC and CPA?

CPA, cost per acquisition, is the cost of one result an ad or campaign brings: a [click](https://scout7.ai/academy/glossary/cost-per-click), a signup, a lead. CAC is the cost of one paying customer, across everything you did to win them. If 12 signups make 1 customer, your CAC is about 12 times your cost per signup, so a better [signup rate](https://scout7.ai/academy/glossary/conversion-rate) or [activation](https://scout7.ai/academy/retention/how-to-improve-activation-rate) lowers it. Ad platforms show CPA; your own sheet shows CAC.

### How do I calculate CAC for Meta ads?

Take the amount spent in Meta Ads Manager for the period. Divide it by the new paying customers who came from Meta in your own records: Shopify, Stripe or invoices, and "How did you hear about us?". Do not use Meta's purchase count, which follows Meta's own rules and changed in January 2026. For stores, also check your [break-even ROAS](https://scout7.ai/academy/measurement/how-to-calculate-break-even-roas).

## Sources

- [CAC SaaS: A guide for businesses](https://stripe.com/resources/more/cac-in-saas). Stripe, updated 30 July 2025, checked 12 October 2026.
- [What is the CAC payback period?](https://stripe.com/resources/more/what-is-the-cac-payback-period). Stripe, updated 10 September 2024, checked 12 October 2026.
- [How to Calculate Customer Acquisition Cost for Startups](https://www.hubspot.com/startups/sales-and-marketing/calculating-cac-for-startups). HubSpot for Startups, checked 12 October 2026.
- [CAC payback period benchmarks for SaaS (2026)](https://www.getaleph.com/answers/cac-payback-period-saas-2026). Aleph, 2026, checked 12 October 2026.
- [Billing analytics](https://docs.stripe.com/billing/subscriptions/analytics). Stripe Docs, checked 12 October 2026.
- [Customers reports](https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/customers-reports). Shopify Help Center, checked 12 October 2026.
- [Ads Insights API metric availability updates](https://developers.facebook.com/blog/post/2025/10/16/ads-insights-api-metric-availability-updates/). Meta for Developers, 16 October 2025, checked 12 October 2026.
- [Search Advertising Benchmarks for 2026](https://localiq.com/blog/search-advertising-benchmarks/). LocaliQ, updated 1 June 2026, checked 12 October 2026.
- [Pricing](https://stripe.com/pricing). Stripe, checked 12 October 2026.
- [Pricing](https://www.shopify.com/pricing). Shopify, checked 12 October 2026.
- [First-Order Profitability: The New Law for Ecommerce Businesses](https://commonthreadco.com/blogs/bridges/unlock-first-order-profitability). Common Thread Collective, 18 January 2024, checked 12 October 2026.
