Skip to content

What is customer acquisition cost for ecommerce?

Customer acquisition cost (CAC) is usually what you spend to win new customers in a period, divided by the first-time buyers you won. It prices one new customer. Count costs and customers the same way every month, and set CAC next to what a first order earns.

By , Founder & CEOUpdated 6 min read

Run the numbers for your store: the free LTV:CAC ratio calculator.

Customer acquisition cost (CAC) is usually what you spend to win new customers in a period, divided by the first-time buyers you won. It is the price of one new customer. It only means something if you count costs and customers the same way every month, and set it next to what a first order earns.

For illustration, €14,000 of acquisition spend and 350 first-time buyers in a month make a CAC of €40. The division is the easy part. The trouble is that several numbers in your reports look like CAC, and each one divides by something different.

The numberWhere you see itWhat it divides by
Cost per resultMeta Ads ManagerEvery result Meta credits, such as a purchase by a new or returning buyer
Cost per key eventGA4, All channels reportEvery selected key event, so every purchase if purchase is selected
Customer acquisition costShopify's campaign reportFirst-time customers attributed to that campaign
Blended CACYour own sumEvery first-time customer in the period, however they arrived

Only the last two divide by new customers, and only the last one counts all of them. Shopify's first-time customer is someone who placed their first order with your store, which is exactly what CAC needs.

GA4 offers two near misses. New users counts people visiting for the first time, buyers or not. First time purchasers counts users GA4 saw make a first purchase. On websites, GA4 usually tells users apart by a device ID from the client ID. So one shopper on a phone and a laptop can count twice.

What one store's data shows

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
All channels added up in the touched view110.4%Channels sheet, Touched column total
Journeys with 1 touch (0.5 days to buy)79.5%Journeys sheet, 1 touch row

The export holds no spend and no customer counts, so it can't produce a CAC. It does show why three honest CAC figures for the same month disagree.

Start with Direct. In that store's Channels sheet, Direct holds 57.7% of revenue in the last click, first click and touched views. A blended CAC spreads the ad spend over every new customer, including buyers who arrived with no paid touch at all. If your Direct row is that big, blended CAC leans kind to the ads.

A channel CAC leans the other way. It divides each channel's spend by the customers credited to it, and Direct's buyers go to no channel. Some of them first met you through an ad, so each channel's figure comes out harsher than its true price.

Platform figures lean kind again, for a different reason. Add up that store's touched column on the Channels sheet and you get 110.4%, because a journey that touched two channels is counted under each. Ad platforms count their own touches in the same spirit, and Meta can credit a purchase to an ad someone only saw. Add up what each platform calls new customers and you can pass the number Shopify recorded.

One more row explains where the count of new customers should come from. Journeys with 1 touch carry 79.5% of that store's revenue, and those buyers took 0.5 days to buy. GA4 can't say whether that single visit was a first meeting or a regular coming back. Shopify's order history can.

So read any CAC with its lean in mind. None of the three says how many of those customers the spend caused.

Why does the textbook CAC formula mislead?

  • It hides the recipe. Two teams can report different CACs for one month and both be right. One counted ad spend only, the other added agency fees and creative. Write the recipe next to the number, every time.
  • It counts every new customer as bought. Blended CAC divides by customers who found you through a friend or an old search. Many would have come with no spend at all. Spend that quietly takes credit for them looks cheaper than it is.
  • It trusts each platform's idea of new. Meta's audience segments call people new when they have not interacted with your products or services. Meta judges that against the existing-customer audience you give it. Leave that audience empty and old buyers can count as new.

What can CAC not tell you?

  • Whether the customer was worth the price. CAC is a price tag. Its partner is the gross profit a customer returns over time, which is what LTV to CAC compares.
  • How many customers the ads caused. CAC counts customers, not causes. To see how many new customers disappear without the ads, pause the channel in some regions and compare first-time customers by region.

What to do this week

  1. Relabel GA4's Cost per key event. In GA4, click Advertising, go to Planning, open All channels and check which key events are selected. Pass: your reports call this number cost per purchase or cost per key event. Fail: a deck calls it CAC, so rename it before anyone budgets on it.
  2. Put Meta's cost per result next to your CAC. In Meta Ads Manager, read last month's Cost per result for purchase campaigns. Set it beside your blended CAC. Pass: you can explain the gap, such as repeat buyers and view-based credit. Fail: someone sets budgets on cost per result as if it were CAC.
  3. Tell Meta who your existing customers are. In Ads Manager, open the left navigation, select All tools, choose Advertising settings and click Audience segments. Pass: the Existing customers segment uses a current customer list. Fail: it is empty or stale, so Meta's new audience includes people who already bought.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Measuring marketing performance (Shopify Help Center); Cost per result (Meta Business Help Center); All channels performance report (Google Analytics Help); Customers reports (Shopify Help Center); Analytics dimensions and metrics (Google Analytics Help); Reporting identity (Google Analytics Help); About conversion count differences between Meta Ads Reporting and third-party reporting tools (Meta Business Help Center); Create audience segments in Meta Ads Manager (Meta Business Help Center).

Frequently asked questions

  • Is cost per acquisition the same as customer acquisition cost?
    Not usually. Ad platforms divide spend by conversions, and a conversion can be any purchase, including a repeat order. CAC divides by first-time customers only. If returning buyers purchase through your ads, cost per acquisition will look cheaper than your CAC.
  • Should returning customers count when I work out CAC?
    No. CAC prices new customers, so its bottom line is first-time buyers only. Spend aimed at people who already bought, such as win-back campaigns, belongs in a separate retention cost. For mixed campaigns, count the full cost and say so next to the number.
  • Why is my CAC lower in Meta than in Shopify?
    Meta counts purchases it can credit to its own ads, including some after a view with no click. Shopify counts each first-time customer once, whatever brought them. When several platforms claim the same buyer, each platform's figure looks cheaper than the store-wide one.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.