Calculate your CAC
Unknown means the source has not been confirmed. Observed zero means the source confirms a real $0.
$35,000.00 ÷ 20 customers
- Status
- Estimate
- Scope / view
- Quick input / undeclared
- Provenance
- Manual input
Complete matched-cohort record, import and exports
Paste a raw record, the fenced record from the build prompt, or this page’s hash-bound JSON envelope. Rejected imports leave the previous accepted record unchanged.
Scope and cohort evidence
Cost lines
Allocation lineage
Customer events
Source coverage and provenance
Open requests
Enter three numbers:
- Marketing cost: Media, agencies, creative, marketing salaries, software, events and other costs included under your rule.
- Sales cost: Sales salaries, commissions, sales tools, travel and other new-business costs included under your rule.
- New paying customers: Unique customers who meet your declared acquisition definition.
The calculator shows a quick CAC when all three values are known. It calls the result fully loaded only after the record confirms the required cost sources, allocation rules, customer identities and cohort maturity.
You can also load the worked example. It shows a complete record with shared-cost allocation, customer deduplication, a cost window and a cohort cutoff.
Missing and zero mean different things here. If you know sales cost was $0, enter zero. If you have not received the sales cost yet, leave it Unknown.
The calculator will show the known subtotal and name the missing source. It will not turn a missing number into zero.
If the customer count is zero, the result stays on hold. You will still see the included spend and the exact reason for the hold, but the calculator will not return $0, Infinity or a made-up finite CAC.
What should you include in customer acquisition cost?
Start with the costs used to win new customers. A common teaching formula uses sales and marketing expenses. In practice, you need to say which expenses you included and why.
The SEC's guidance on company performance metrics does not prescribe a CAC formula. It says a metric should have a clear definition, calculation and explanation of material estimates or assumptions. Those details also make an internal CAC record easier to review.
Use one row for each cost. Record the amount, period, source, owner and decision. The table below gives you the question to settle; your approved policy supplies the answer.
| Cost | Starting question | What to record |
|---|---|---|
| Paid media | Does it belong to this acquisition scope and window? | Platform or finance source, amount and dates |
| Marketing salaries | What share of the work supported acquisition? | Allocation method, percentage and owner |
| Sales salaries and commissions | What share was used to win new business? | Payroll or commission source, period and owner |
| Agency and contractor fees | Which contracted work supported this scope? | Scope, invoice dates and allocation rule |
| Creative and production | Which motion and period used the work? | Campaign or motion, source and period |
| Marketing and sales software | Does the tool need to be included or allocated? | Tool, amount, users or usage basis and owner |
| Events and travel | Which cohort can reasonably be tied to the activity? | Event, amount, dates and follow-up rule |
| Onboarding, support and delivery | Does this happen after acquisition? | Exclusion reason and the metric where it belongs |
| Renewal and expansion work | Does the work serve an existing customer? | Customer stage and exclusion reason |
These are prompts for a policy decision. They are not a universal accounting policy.
The most common mistake is to include an expense because its department is called marketing or sales. The department name does not tell you whether the work supported new business, existing customers or both.
Suppose a $10,000 team expense supports acquisition and retention. The finance owner uses the team's approved time-allocation record and assigns 40% to the acquisition motion for this period.
The CAC record includes $4,000 and shows the other $6,000 as unassigned to this calculation. It retains the source, method and finance owner beside the allocation.
If the percentage arrives without a method or owner, keep the $10,000 visible and hold the motion result. The next request is specific: ask finance for the allocation basis and the person who approved it.
That is better than adding the full $10,000 to every motion. It is also better than hiding the allocation inside a spreadsheet formula.
Match the cost window to the customer cohort
B2B deals often close weeks or months after the work that created them. Same-month CAC can be misleading when January costs helped create March customers.
Choose one view and name it:
- Calendar close view: Costs and new customers are grouped by the period in which they were recorded. This is easy to produce, but it may mix different acquisition efforts.
- Origin cohort view: Costs are attached to the acquisition work or cohort that started in a named period. Eligible customers can close later, up to a declared follow-up cutoff.
- Rolling view: Several periods are combined to reduce volatility. This can make the number steadier, but it does not prove that the costs and customers are matched.
For a matched cohort, record four dates or rules:
- The cost window.
- The event that puts a customer in the cohort.
- The last eligible customer event.
- The date when the cohort is mature enough for the intended decision.
Imagine a January acquisition cohort with a follow-up cutoff of 30 April. A customer enters the cohort in January and becomes a paying customer on 10 March. The origin cohort view can include that customer because the March close falls inside the declared follow-up rule.
A March calendar close report would also show the customer, but it would answer a different question. Keep the view name beside the result so nobody treats the two reports as interchangeable.
An immature cohort can still produce a provisional subtotal. It cannot support the same conclusion as a mature cohort. If the record is reviewed on 1 April and its follow-up cutoff is 30 April, the next action is to refresh the customer source after 30 April. A checkbox cannot make the cohort mature early.
There is no universal B2B maturity period. Use your real sales cycle and a documented policy. If the rule changes, record the old rule, the new rule and the effect on the result.
Count new customers once
The denominator needs a stable customer identity.
Start with a customer or account ID from the system that establishes a paying customer. Then record the event that qualifies the account as new.
Do not silently increase the denominator when you see:
- The same customer twice.
- A renewal.
- An upsell.
- A repeat purchase.
- A contact that belongs to an existing customer account.
- A platform label that conflicts with CRM or billing records.
Google Ads separates new-customer acquisition from retention and re-engagement settings. Its documentation recommends first-party customer data for identifying existing customers.
That label records what the platform classified under the configured inputs. It does not prove that billing saw a first payment or that two platform identities belong to different customer accounts.
The worked example starts with 20 unique new paying customers. It then adds a duplicate, a renewal, an upsell and a repeat purchase. The denominator stays at 20.
If two records have conflicting identities or dates, hold them for review. Do not quietly discard one and do not count both.
Fully loaded CAC and media-only cost per customer
These two numbers answer different questions.
Fully loaded CAC includes every acquisition cost allowed by the declared rule. It can include media, sales, salaries, agencies, software, creative, events and allocated shared costs.
Media-only cost per customer divides media spend by the same eligible customer count. It is a useful diagnostic when you want to compare media with the full cost base. It is not fully loaded CAC.
Use the worked example:
- Media cost: $20,000
- Direct sales cost: $15,000
- Shared team expense: $10,000
- Acquisition allocation: 40%, or $4,000
- Unique new paying customers: 20
Included acquisition cost is $39,000.
Fully loaded CAC = $39,000 ÷ 20 = $1,950
Media-only cost per customer = $20,000 ÷ 20 = $1,000
The record also shows the $6,000 unassigned remainder from the shared expense. It does not add the full $10,000 again.
Both numbers can be correct. They should never share the same label.
Can you calculate CAC by channel or motion?
You can calculate a motion-level CAC when both sides of the formula use the same scope.
That requires two decisions:
- How shared costs are allocated to the motion.
- How customers are assigned to the motion.
If one team, agency or tool supports several motions, record the original expense once. Then assign shares under a declared method. The calculator blocks a reviewed motion result when one expense is allocated 60% to one motion and 60% to another.
The customer side needs the same discipline. A customer assigned to two motions cannot count twice in the blended rollup.
A channel CAC is method-dependent. It does not prove that the channel caused the customer. Keep the attribution source and model beside the result.
If you only have media spend and platform conversions, use a platform cost-per-result calculation. If you have all acquisition costs and deduplicated new paying customers, use CAC. If you have recognized return and reconciled spend, continue to the ROAS calculator.
What does a good CAC look like?
There is no useful universal answer.
A $1,950 CAC could be excellent for one business and impossible for another. You need compatible economics and the same basis on both sides of the comparison.
Before comparing CAC with LTV or payback, supply:
- The value basis, such as contribution or gross margin.
- The time horizon.
- The source and cutoff date.
- The policy used for refunds, churn or credits.
- The same customer scope used by the CAC record.
Do not compare a fully loaded CAC with an unverified revenue forecast and call the ratio healthy. Do not calculate payback from lifetime value alone. The calculator leaves these fields unavailable until the required inputs are present.
The first useful interpretation is simpler: ask whether the CAC record is complete enough for the decision in front of you.
Review the record before you use it
A reviewable CAC record answers these questions:
- What acquisition scope does this number cover?
- Which cost window and customer cohort does it use?
- Which costs were included, excluded or allocated?
- Which system establishes a new paying customer?
- How were duplicates, renewals and upsells handled?
- Is the cohort mature for the intended decision?
- Which sources are missing?
- Who owns each missing fact or policy choice?
If a required salary or agency source is missing, keep the subtotal visible and mark fully loaded CAC as incomplete. If a known media cost is zero, preserve zero. A missing source and a zero source should never collapse into the same cell.
When an input changes, the prior accepted result becomes historical. Review the new record before exporting it as current.
Download the CAC handoff
The calculator exports the same record in three formats:
- JSON for re-importing and exact field-by-field review.
- CSV for finance and operations workbooks.
- Markdown for a readable handoff in a task, document or email draft.
The handoff includes the scope, dates, customer rule, included and excluded costs, allocations, customer counts, calculation, evidence coverage and open requests.
Start with the blank CAC record when you are assembling a calculation from source files. Open the completed synthetic record when you want to see every required field. The JSON Schema defines the field contract for your systems or reviewer.
Use the build prompt with the schema and your redacted source files. It creates a candidate record and keeps missing facts open.
Then use the review prompt with the same schema and candidate. It recomputes the result, checks dates, allocations and customer identity, and returns a pass or hold with exact repairs.
Download the worked record, send each open request to its named owner, and update the record when the source arrives. Re-importing an unchanged accepted record must reproduce the same $1,950 fully loaded CAC and $1,000 media-only cost per customer.
If an import is missing fields, has been tampered with or fails validation, the calculator keeps the previous accepted record. It labels that record as unchanged and explains why the import was rejected.
The standalone prompts contain the formula, required inputs, source links, privacy limits, missing-input rules, worked adaptation and output contract. A reviewer can run them without this article.
Common CAC mistakes
Counting purchases instead of customers
One customer can make several purchases. A net-new customer denominator counts the customer once under the declared identity rule.
Using the close month without naming the view
A March close can belong to a January origin cohort. Calendar-close and origin-cohort reports are both possible, but they answer different questions.
Treating Unknown as zero
Unknown means you do not have the fact. Zero means you checked the source and observed zero.
Allocating the same shared cost more than once
Record the original expense, the assigned share and the remainder. Reject total allocations above 100%.
Calling media cost fully loaded CAC
Media spend divided by customers is a useful number. Label it media-only cost per customer.
Using a benchmark before checking the basis
Confirm the numerator, denominator, horizon and margin basis before comparing two CAC numbers or a CAC and LTV figure.
Treating an immature cohort as final
Show the provisional result and the date or event required for maturity. Do not remove the hold because the arithmetic works.
Which Maestro resource should you use next?
Use the Facebook ads cost calculator when you are planning forward spend and qualified outcomes for Meta.
Use the Facebook ads reporting template when you need a recurring platform-to-CRM reporting workflow.
Use the ROAS calculator after the cohort matures and spend can be reconciled with the chosen return basis.
Browse all resources for the rest of the paid-media planning and review tools.
If the calculation exposes a paid-media measurement problem you want help fixing, bring the record to a free Demand Gen Roast. The review can start with the setup, evidence and open requests already in the file.
Sources
- U.S. Securities and Exchange Commission, KPI and metric guidance, 30 January 2020.
- Maxio, Customer Acquisition Cost: Everything You Need to Know, accessed 1 October 2026.
- Wall Street Prep, Customer Acquisition Cost Formula and Calculator, accessed 1 October 2026.
- Google Ads Help, About customer lifecycle goals, accessed 1 October 2026.
The examples on this page are fictional. They show how the calculator behaves. They are not Maestro client results or benchmarks.
Download the complete CAC handoff kit
Download and extract the CAC execution bundle. Inside that folder, run node verify-cac-envelope.mjs EXPORTED-ENVELOPE.json to recompute an exported record and reject tampering. The archive keeps the verifier and its complete import graph together.