"What's a good CAC?" is the wrong question. Customer acquisition cost is a number with no meaning on its own — $40 is excellent for a business making $120 of gross profit per order and fatal for one making $22. The right question is what an order actually earns, and whether acquisition costs less than that.
This guide covers calculating CAC honestly, the profit figures it has to be compared against, and the thing most CAC calculations get quietly wrong: the denominator.
Calculating CAC
Estimated CAC = Ad spend ÷ Distinct customers with delivered orders
Two words in that formula are doing a lot of work.
Estimated. Unless you track acquisition source per customer, you cannot separate customers who arrived through advertising from customers who arrived organically, through a referral, or because they already knew you. Dividing all ad spend by all new customers charges advertising for people it did not acquire. That makes the figure a proxy, and it should be labelled as one — a number presented as precise CAC when it is a ratio of two loosely related totals invites decisions it cannot support.
Distinct customers. Not orders. If the denominator is orders, you are not calculating acquisition cost, you are calculating cost per order — a legitimate metric, and a different one. A customer who ordered three times in the period was acquired once.
The denominator problem
Counting distinct customers requires knowing which orders belong to the same person, and that is harder than it looks.
The same customer may order once with an email address and once without, once with their phone number formatted with a country code and once without, or twice with slightly different spellings of their name. If your system treats each of those as a separate customer, your customer count is inflated and your CAC is understated — it will look like you are acquiring people more cheaply than you are.
The practical implication for CAC: the quality of your customer identity is an input to the metric. If identity resolution is weak, CAC is optimistic. If a meaningful share of orders carry no identifying information at all, those orders cannot contribute a customer to the denominator — and the honest response is to report how many orders could be resolved, so the reader knows what the figure covers.
A note on repeat customers
A repeat customer is one with two or more distinct delivered orders. Buying four items in a single checkout is one order and one purchase occasion, not repeat purchasing — a definition that sounds pedantic until you notice how much it flatters a repeat rate calculated on line items instead of orders.
The numbers CAC must be compared against
CAC on its own is a cost with no context. These are the figures that give it one.
| Metric | Formula | What it tells you |
|---|---|---|
| AOV | Realized revenue ÷ Delivered orders | Order size. Not profit — do not compare CAC to this. |
| Gross profit per order | Gross profit ÷ Delivered orders | What an order earns after the goods. The ceiling for CAC. |
| Net profit per order | Net profit ÷ Delivered orders | What an order leaves after everything, ads included. |
The comparison that matters is CAC against gross profit per order. Comparing CAC to AOV is the most common error in this whole area: AOV is revenue, and revenue has not yet paid for the product. A $60 AOV with a 40% gross margin produces $24 of gross profit, so a $30 CAC is a loss on the first order even though it looks like half the order value.
The first-order ceiling
Maximum CAC (first order) = Gross profit per order
Above that, the first order loses money before any operating cost is counted. At exactly that point it contributes nothing toward fulfillment, processing, software or salaries. So the real working ceiling is lower — gross profit per order minus the variable operating cost of serving that order, and then lower again by whatever margin you need the business to actually make.
A worked example
Illustrative figures for one month.
| Line | Value |
|---|---|
| Ad spend | $18,000 |
| Realized revenue | $74,400 |
| Delivered orders | 1,240 |
| Distinct customers with delivered orders | 1,060 |
| Gross profit | $40,920 |
| AOV | $60.00 |
| Gross profit per order | $33.00 |
| Estimated CAC | $16.98 |
CAC of $16.98 against $33.00 of gross profit per order leaves $16.02 per order toward operating costs and profit. That is a workable position, and the headroom tells you how much CAC can rise before it is not.
Note the denominators: 1,240 delivered orders but 1,060 distinct customers. AOV and gross profit per order use orders; CAC uses customers. Mixing them produces a CAC of $14.52 — a 14% understatement, and entirely an artifact of using the wrong denominator.
What the repeat rate changes
Those 1,240 orders from 1,060 customers mean roughly 1.17 orders per customer in the period. If a customer reliably ordered twice, the acquisition cost would be spread across $66 of gross profit rather than $33, and a much higher CAC would be sustainable.
This is where lifetime value arguments normally enter, and where they should be treated carefully. A future repeat purchase is a forecast, not a measurement, and businesses have justified unsustainable acquisition costs on repeat rates that never materialized. If you are going to lose money on the first order deliberately, the repeat behavior has to be something you have observed in your own historical cohorts — not an assumption.
Reading CAC over time
The trend is more informative than the level. Some patterns and what they usually mean:
- CAC rising, AOV flat, margin flat. Acquisition is getting more expensive. Either the audience is saturating or competition has increased. The headroom between CAC and gross profit per order is being consumed.
- CAC flat, gross profit per order falling. The problem is not acquisition — it is discounting or product cost. CAC will become unaffordable without changing at all.
- CAC falling while revenue falls. Often means spend was cut and the remaining volume is largely organic. Efficiency improved because advertising stopped, which is not the same as advertising improving.
- CAC falling sharply with no change in spend. Check the denominator before celebrating. A change in how customers are counted — a new integration, an import, a resolution change — moves CAC without anything real happening.
Common mistakes
Comparing CAC to AOV
AOV is revenue. The goods have not been paid for yet. Compare CAC to gross profit per order.
Using orders as the denominator
That is cost per order, not cost per customer acquired. Both are useful; they are not the same number and should not share a name.
Counting all customers as acquired by advertising
Organic, referral and returning customers are in the denominator too unless you can separate them. This makes CAC look better than it is — which is why the figure is called estimated.
Using total orders instead of delivered orders
Orders that were cancelled or returned never produced revenue or gross profit. Including them inflates the denominator of every per-order figure and understates what an order actually earns.
Justifying a CAC on unmeasured repeat purchasing
"We lose money on the first order and make it back later" is a sound strategy and a dangerous assumption. It requires repeat behavior you have measured in your own data, with enough history to be confident, not a rate borrowed from an article.
Ignoring how customers are identified
If the same person is counted as three customers, CAC is a third of what it should be. This is invisible on the dashboard and shows up as a business that cannot explain why profit is not following its metrics.
How ORVX reports this
ORVX resolves orders to durable customer records rather than treating a raw phone number as an identity, and it declines to merge when the signals are ambiguous — preferring two possible duplicates over one incorrect merge, because a false merge cannot be undone once it has been seen.
Estimated CAC uses distinct customers with delivered orders as the denominator, and is labelled estimated because acquisition source is not tracked. Where orders carry no identifying signal, ORVX reports how many could and could not be resolved rather than quietly counting each one as a customer — which would deflate CAC toward ad-spend-per-order without saying so.
AOV, gross profit per delivered order and net profit per delivered order are reported alongside it, which is the comparison that makes CAC mean something. See ROAS vs profit for the campaign-level view and how to calculate ecommerce profit for where these figures sit in the P&L.
Frequently asked questions
What is a good CAC for ecommerce?
There is no figure that is good in isolation. CAC is affordable when it sits comfortably below your gross profit per order with enough room left to cover fulfillment, fees and overhead. A $40 CAC is healthy at $120 gross profit per order and ruinous at $22.
Should I compare CAC to AOV or to profit?
To profit — specifically gross profit per delivered order. AOV is revenue and has not paid for the goods yet, so comparing CAC to AOV consistently makes acquisition look more affordable than it is.
Why is my CAC different from my cost per purchase in the ad platform?
They measure different things. The platform divides its spend by the conversions it attributes to itself, at purchase, within its own window. CAC as described here divides total ad spend by distinct customers with delivered orders — which excludes orders that were cancelled or returned and includes customers the platform never claimed.
Can I afford a CAC above my gross profit per order?
Only if repeat purchasing reliably makes up the difference, and only if you have measured that in your own cohorts rather than assumed it. Losing money on the first order is a deliberate strategy with a real failure mode: if the repeat rate is lower than assumed, the loss scales with the spend.
Does a multi-item order count as a repeat customer?
No. Repeat means two or more distinct delivered orders. Four items in one checkout is a single purchase occasion, and counting line items instead of orders inflates the repeat rate substantially in categories where people buy several things at once.