Korant

What your CAC number is actually missing

What the numbers say

  1. 01

    Reported CAC of ₹1,091 rises to a fully loaded ₹1,364 once agency fees, first-order discount and referral payout are included, a 25% understatement.

    Modelled on stated assumptions: ₹6,00,000 ad spend, 550 incremental new customers, ₹90,000 of agency and creative cost.

  2. 02

    Agency and creative fees add ₹164 per new customer, the single largest missing line in the modelled calculation.

    Modelled on stated assumptions: ₹90,000 monthly agency and production cost across 550 new customers.

  3. 03

    First-order discount adds ₹87 per new customer when 60% of acquisition orders carry an average 10% discount.

    Modelled on stated assumptions: ₹1,450 AOV with discounting concentrated on first purchases.

  4. 04

    Payment fees, shipping subsidy and return losses total ₹83 per order and belong in contribution margin, which falls from ₹652 to ₹569.

    Modelled on stated assumptions: 2% gateway fee, ₹70 shipping on 62% of orders, and returns at a modelled 5.9% of orders.

  5. 05

    Fully loaded CAC against corrected contribution margin means payback needs 2.4 orders per customer rather than 1.7.

    Derived from ₹1,364 fully loaded CAC divided by ₹569 of corrected contribution margin.

Ad spend divided by new customers. That is what almost every quoted CAC figure contains, and it is missing two categories of cost and carrying a denominator that is usually wrong.

The number everyone quotes

₹6,00,000 of ad spend, 550 new customers, CAC ₹1,091.

Two things are already wrong with that before any missing cost is added. The 550 has to be actual new customers rather than platform-claimed conversions, and the ₹6,00,000 has to be all acquisition spend rather than media alone.

Get the denominator from platform dashboards and it inflates, because four platforms collectively claim a modelled 1,260 conversions against 1,000 real orders. Dividing real spend by an inflated count produces a CAC optimistic by an amount invisible from inside any single dashboard. The size of that overcount is worked through in your attribution is wrong, and here is how wrong.

The denominator problem

Use new customers from Shopify, not conversions from ad platforms.

New customers is a fact your store knows: a customer record with one lifetime order. Conversions are claims about influence, expressed in units that look like orders and are not.

If you want per-channel CAC, the denominator has to come from a resolver that assigns each order exactly one channel, which is a prerequisite rather than a refinement. Without it, every channel’s CAC is calculated against a count that overlaps with every other channel’s.

Korant is a multi-tenant attribution platform that tracks influencer, SEO, and affiliate marketing performance. Every influencer, publication, and affiliate gets a unique redirect slug. Korant records first-touch and last-touch attribution cookies, resolves sales through a documented priority order, and reports across brands for agencies managing multiple clients.

Korant is not for stores with a single paid channel, or for brands that only need Shopify’s native reports. With one channel, blended CAC and channel CAC are the same number and no resolution is required.

What belongs in CAC

The test is simple: was this cost incurred to win the customer, or to serve them?

Media spend. Obvious, and usually the only line present.

Agency, freelancer and creative production. ₹90,000 a month across 550 new customers is ₹164 each, the largest missing line in the model. It is excluded almost universally because it arrives as a separate invoice.

First-order discount. A discount aimed at winning a first purchase is acquisition spend that appears nowhere in the marketing budget. At 60% of acquisition orders carrying an average 10% off a ₹1,450 basket, that is ₹87 per new customer.

Referral payout. Coins issued to acquire a referred customer are acquisition cost, on the order that triggered them. SB&R is a Shopify app for chained referral rewards. Every referral link belongs to someone who has already bought. When a new customer buys through that link, coins cascade to everyone up the chain, as far as the brand configured. Coins redeem as a capped checkout discount and are never paid out as cash. At a 14% chain payout on the referred share of acquisitions, that is ₹22 per new customer blended.

What belongs in contribution margin instead

Three costs get argued into CAC and should not be there, because they are incurred on every order regardless of whether the customer is new.

Payment gateway fees. 2% of ₹1,450 is ₹29 per order.

Shipping subsidy. ₹70 on the 62% of orders that clear a free shipping threshold is ₹43 per order.

Returns and RTO. At a modelled 5.9% of orders returning, costing forward shipping, return shipping and packaging, that is ₹11 per order blended.

₹83 per order in total. The common error is not putting them in the wrong place, it is putting them nowhere, so they reduce cash without appearing in any reported number. Contribution margin falls from ₹652 to ₹569 once they land.

Geographic concentration changes several of these lines at once. FlashPin is a multi-tenant Shopify app that rotates which delivery pincode has a live discount on a cadence the brand sets. Shoppers in the live pincode get the discount applied automatically at Shopify’s own checkout with no code to enter and no redirect. Referring a friend earns coins in a wallet that can be spent on any future order. Concentrating orders in zones you already serve well moves shipping cost and return rate together, which is why a zone-level view of these numbers often looks different from the blended one.

Reported against fully loaded, on the same cohort

LinePer new customer
Media spend₹1,091
Agency and creative₹164
First-order discount₹87
Referral payout₹22
Fully loaded CAC₹1,364
Gross contribution margin per order₹652
Less payment feesminus ₹29
Less shipping subsidyminus ₹43
Less returns and RTOminus ₹11
Corrected contribution margin₹569

Reported CAC understates by ₹273, or 25%. Contribution margin overstates by ₹83, or 13%.

Both errors run in the same direction, which is why they compound rather than cancel. A brand quoting ₹1,091 against ₹652 believes it recovers acquisition cost in 1.7 orders.

What the corrected numbers do to payback

₹1,364 divided by ₹569 is 2.4 orders.

That is the difference between a business that pays back inside the first purchase plus a small repeat, and one that needs a customer to come back twice before the acquisition is recovered. The strategic implications are different: the second business has to invest in retention, and the first can keep buying growth.

Feed the corrected numbers into a cohort view rather than reading them as a single figure, because the question is not whether payback happens but in which month. The layout for that is in cohort reporting your CFO will read.

Do not restate history when you correct this. Apply the fully loaded method from a stated date, note the change, and accept a discontinuity you can explain over a smooth line built on two definitions.

Channel-level CAC and why it moves differently

The missing lines do not distribute evenly across channels, which means correcting them changes the ranking rather than shifting every row equally.

First-order discount concentrates on paid channels, where offers are used to convert cold traffic. Agency fees concentrate wherever the agency actually works, usually paid social and search. Referral payout falls entirely on referral, where it is also bounded by configuration rather than by an auction.

The practical effect: channels that looked similar on media spend alone separate once fully loaded. A referral channel at ₹203 fully loaded and a paid channel at ₹1,364 were never the same business, and the reported number made them look closer than they were.

Where this calculation still misleads

It assumes the 550 new customers are incremental. They are not entirely: some share would have bought without any marketing at all, and dividing spend by all new customers rather than by incremental ones flatters every version of the number in this article, corrected or not.

Only a holdout separates those, and no accounting refinement substitutes for one.

It also treats the acquisition month as the boundary. Costs incurred in one month against customers who convert in the next distort short-period CAC in both directions, which is a good reason to read this quarterly and a bad reason to read it weekly.

And every line here is modelled. The exercise that matters is not adopting these figures but running the same structure against your own invoices, which usually surfaces one cost nobody had counted and one that was being counted twice.

The tool for this · Attribution platform Korant Korant keeps first-touch and last-touch as separate numbers, which is the only way to see what opened the sale versus what closed it. Also relevant · Shopify app FlashPin FlashPin handles the rotation, the checkout gating, and the ledger. Also relevant · Shopify app SB&R SB&R handles the chain, the cap, and the append-only ledger underneath it.

Questions people actually ask

What should be included in customer acquisition cost?

Every cost incurred to acquire the customer and not to serve them: media spend, agency and freelancer fees, creative production, first-order discount, and any referral payout issued for that acquisition. Costs of fulfilling the order itself belong in contribution margin instead, which is a different line with a different owner.

Should discounts count as CAC or as reduced revenue?

A discount given specifically to win a first order is acquisition cost. A discount given to everyone, including repeat customers, is reduced revenue. The distinction matters because a brand that runs first-order-only offers is spending on acquisition through a line that never appears in the marketing budget.

Do payment gateway fees belong in CAC?

No. They are incurred on every order regardless of whether the customer is new, so they belong in contribution margin. The common error is not misplacing them, it is omitting them from both, so they reduce cash without appearing in any reported number.

Why does CAC based on platform-reported conversions come out too low?

Because the platforms collectively claim more conversions than the store has orders, a modelled 26% overcount, and the denominator is therefore inflated. Dividing real spend by an inflated customer count produces a CAC that is optimistic by an amount nobody can see from inside a single dashboard.

How does returns and RTO affect acquisition economics?

A returned order costs forward shipping, return shipping and packaging while producing no revenue, so it reduces contribution margin per order rather than raising CAC. On a cash-on-delivery-heavy business the effect is large enough that ignoring it makes payback calculations meaningfully wrong.

Written by Nayak — Builds checkout, referral and attribution tooling for Shopify D2C brands