Customer acquisition cost formula for ecommerce
Customer acquisition cost is ad spend divided by new customers. See the formula, a worked example, and the most you can pay for a first order.
Customer acquisition cost (CAC) is what you pay in advertising to win one customer. For a shop running Google Shopping or Performance Max, the formula is the easy part. The harder question is what you can afford to pay for a first order, because a first order is often the only purchase you can count on.
nCAC (new customer acquisition cost) is how this post writes CAC, to make clear that only first-time buyers are counted, and section 3 turns it into a break-even you can set for your own products. The worked example uses round numbers you can check by hand, so swap in your own. For the short definition, see CAC in the glossary.
1. How do you calculate customer acquisition cost?
The formula is customer acquisition cost = ad spend ÷ new customers. Google Ads defines it the same way: according to Google Ads Help, Customer Acquisition Cost is “the ad spend allocated to new customers divided by the total of unique new customers acquired through a campaign.”
Take an example with round numbers (illustrative data). A shop spends €10,000 on Google Ads in a month and receives 200 orders at an average of €100. Of those, 120 came from customers who had never bought before, and each of them ordered once.
| Measure | Result |
|---|---|
| Cost per order (CPA) | €50.00 |
| nCAC | €83.33 |
| ROAS | 2 |
CPA is €10,000 ÷ 200 orders, nCAC is €10,000 ÷ 120 new customers, and ROAS is €20,000 revenue ÷ €10,000 of ad spend. To run the same sums on your own account totals, use the MER and nCAC calculator.
€10,000 of ads: what does each order and each new customer cost, in €?
Show the dataHide the data
| What the ad spend is divided by | Ad spend per order or new customer |
|---|---|
| Cost per order | €50.00 |
| Cost per new customer (nCAC) | €83.33 |
Cost per order is the number that flatters you. It spreads the spend over 80 orders from returning customers, who were not acquired that month, so it understates what each new customer cost. The same split is what separates cost per acquisition from CAC.
2. nCAC, CPA and ROAS answer different questions
nCAC tells you what a new customer costs, CPA what an order costs and ROAS what revenue each euro of ads returned. They use the same ad spend but divide it by different things, so they can disagree about the same campaign.
| Metric | Formula | Counts | Question it answers | Example |
|---|---|---|---|---|
| nCAC | Ad spend ÷ new customers | New customers only | What does a first order cost? | €83.33 |
| CPA | Ad spend ÷ orders | All orders | What does an order cost? | €50.00 |
| ROAS | Revenue ÷ ad spend | Revenue | How much revenue per euro of ads? | 2 |
| POAS | Profit after variable costs ÷ ad spend | Profit | Did the ads earn back more than they cost? | 0.8 |
The example looks acceptable on CPA and ROAS, but at a 40% margin its break-even ROAS is 2.5, so a 2 ROAS loses money. POAS is ROAS multiplied by the contribution margin, here 2 × 0.40 = 0.8; see POAS vs ROAS for the maths. For where each metric sits at account level, see ROAS, MER, POAS and nCAC.
nCAC adds what ROAS cannot: how much of the spend went on customers who had never bought. A campaign can show a strong ROAS because it reaches people who would have bought anyway, and a high nCAC shows you are not reaching new ones.
3. Break-even nCAC
The most a new customer can cost on their first order is the profit from that order. That is the break-even nCAC: basket value × contribution margin, with prices excl. VAT and the margin after cost of goods and variable order costs.
A €100 first order: how much can a new customer cost, in €, at each margin?
- Most a new customer can cost (break-even nCAC)
- nCAC the example pays (€83.33)
- Profit
- Loss
Show the dataHide the data
| Contribution margin on the order | Most a new customer can cost (break-even nCAC) |
|---|---|
| 20% | €20.00 |
| 30% | €30.00 |
| 40% | €40.00 |
| 50% | €50.00 |
In the example, the basket is €100 and the margin is 40%, so first-order profit is €40.00. The nCAC is €83.33, so the first order loses €43.33 per new customer.
One new customer: first-order profit against the cost to win them, in €
Show the dataHide the data
| Profit, cost and the gap between them | € per new customer |
|---|---|
| First-order profit | €40.00 |
| nCAC | €83.33 |
| Shortfall on the first order | €43.33 |
A first-order loss can be a deliberate bet. If customers come back, later orders can repay it, and shops that can wait for repeat orders may accept a gap. Place the bet on the number of orders you actually see, not on hope. If you value new customers on a forecast instead, predicted LTV explains how to check it against the orders that follow.
How many €100 orders until a new customer repays their €83.33 cost?
- Total profit from the customer so far (€)
- Cost to win the customer (nCAC) (€83.33)
- Cost repaid
- Still to repay
Show the dataHide the data
| Number of orders the customer has placed | Total profit from the customer so far (€) |
|---|---|
| 1 | €40.00 |
| 2 | €80.00 |
| 3 | €120.00 |
| 4 | €160.00 |
At €40.00 profit per order, this customer needs a third order: two orders reach €80.00, which is still €3.33 short of €83.33. If your new customers rarely place a third order, the nCAC is too high, whatever the average nCAC says. LTV:CAC for ecommerce covers how to count those later orders. To find the break-even for a product, start from its margin with the break-even ROAS calculator.
4. How Google counts new customers
Google Ads can report customer acquisition, but only for Purchase conversions. According to Google Ads Help, “Customer acquisition reporting only works with ‘Purchase’ conversions in Google Ads.”
Three parts of Google’s setup decide how nCAC is counted:
- Detection: for each conversion, Google can auto-detect whether it is new, or you can report it yourself via the conversion tag, which Google says allows better accuracy. The tag parameter is
new_customer, and for Google Analytics or uploads it iscustomer_typewith the valuesnewandreturning. - Lapse window: 540 days is recommended and set by default, but not required. It decides how long a past customer still counts as existing.
- Goals: per Google Ads Help on customer lifecycle goals, New Customer Value tells Google to “bid higher for new customers than existing ones”. New Customer Only means “only bid for new customers”. New Customer Value works with Target ROAS and Maximise conversion value in Search, Performance Max, Shopping and Demand Gen campaigns.
A first order is the signal Google gets at bid time, so the quality of the new or returning flag matters. With Full Signal Tracking every order is marked new or returning, so you can increase priority for first orders. It gets through every adblocker on a unique endpoint on your own domain, so the new customer purchases a blocker would otherwise remove are still counted. Details are on the Full Signal Tracking page.
New customers get their own conversion action in Google Ads. Product Metrics delivers these as separate conversion actions: Product Metrics - New Customer, New Customer Profit, Returning Customer, Returning Customer Profit, Revenue, Profit, Revenue LTV and Profit LTV. That lets Smart Bidding value a first order differently from a repeat one.
5. A weekly nCAC routine
Keep nCAC under what a first order earns, or know exactly why you accept the gap.
- Send new or returning status with every purchaseGoogle can auto-detect it, but reporting it yourself on the conversion gives better accuracy. With Full Signal Tracking every order is marked new or returning.
- Set New Customer Value on your purchase campaignsIt works with Target ROAS and Maximise conversion value and needs at least one Purchase conversion goal.
- Work out first-order profit for each productTake the price excl. VAT minus cost of goods and variable order costs. That figure is the break-even nCAC for a first order.
- Compare nCAC with first-order profit every weekLook at each product as well as the average. Where nCAC is above first-order profit, you are relying on repeat orders.
- Check the repeat orders you are relying onCount how many later orders your new customers actually place, and how much profit they add, before you accept a gap.
Keep the weekly check short. Take last week’s ad spend and new customers, calculate nCAC and put it next to first-order profit. Allow for conversion lag before you judge a recent week, because orders can arrive days after the click.
Judge a change over several weeks, not one. A single week with few new customers swings nCAC sharply. Write down the window you compare, so a month of promotions is not set against a quiet one.
Same €10,000 of ads: how nCAC (€) moves with the number of new customers
Show the dataHide the data
| New customers won in the period | Ad spend per new customer (nCAC) |
|---|---|
| 100 new customers | €100.00 |
| 120 new customers | €83.33 |
| 150 new customers | €66.67 |
6. nCAC per product
nCAC per product shows which products bring new customers cheaply and which do not. Product Metrics shows nCAC per product and as an average.
What a new customer costs per product (nCAC, €), against the average
- Ad spend per new customer (nCAC)
- Average nCAC of the three (€83.33)
Show the dataHide the data
| Product | Ad spend per new customer (nCAC) |
|---|---|
| Product A | €40.00 |
| Product B | €60.00 |
| Product C | €150.00 |
In this example, Product C costs nearly four times as much to win a new customer as Product A. The average of €83.33 describes none of them. A product with a low nCAC and a good margin is a place to increase priority. A product that only wins customers at a high nCAC needs a closer look at its price, margin or ads before it takes more budget.
Seeing nCAC per product next to the average is what makes Product C’s €150.00 visible before it takes more budget. Product Segmentation then places each product in one of six segments by its ad clicks and return, so you see where every product stands without working through them one by one; it suggests, and you decide what each product gets.
Read product-level nCAC with the same care as the average. It rests on the orders and new customers your ad platform and shop recorded, so a product whose purchases are missing from either looks cheaper or dearer than it is. So get the purchase data complete first, with server-side tracking where a blocker eats orders, and only then act on these numbers.
Start with one best seller
The break-even ROAS calculator gives you the margin-based floor for each product, and break-even ROAS per product walks through the maths. To send new and returning customers to Google Ads, see Full Signal Tracking, which comes with the Pro subscription at no extra charge; see the pricing page.
I’d start with one best seller. Work out its break-even nCAC (price excl. VAT times contribution margin), divide last month’s ad spend by its new customers, and compare the two. If nCAC comes out higher, count how many later orders those new customers actually place.
Keep reading.
Enhanced conversions vs server-side
What enhanced conversions are, how to set them up and check them, how they differ from server-side tracking and how Full Signal fits. With our ad blocker lab.
Google tag gateway vs server-side tagging: how to choose
Google tag gateway, server-side tagging and Full Signal Tracking compared: what each moves first-party, what it costs and which gets past ad blockers.
Marketing efficiency ratio vs ROAS, POAS, ROI and nCAC
Marketing efficiency ratio (MER) is total revenue ÷ total marketing spend. See how it differs from ROAS, POAS, ROI and nCAC, and which to steer by.
Frequently asked questions.
What is a good customer acquisition cost?
What is the difference between CAC and CPA?
How do I calculate new customer CAC in Google Ads?
What is nCAC?
See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.
Check one product first: work out its break-even ROAS in the calculator. Then see where all your products stand.
Not ready to connect? Book a demo: a video call with Berend, then a demo account.