The campaign you paused last month may have been your cheapest source of new customers. The one you scaled may be selling to people who were coming anyway.
Both mistakes come from the same arithmetic: dividing spend by all orders instead of by new customers.
Everything below depends on one thing: that a single person counts as a single person.
If a customer exists as four records, phone and laptop and guest checkout and a registered account, then "new customer" has no meaning, because three of the four look new. Any calculation you build afterwards inherits the error before it starts.
- Cost per order = spend ÷ all orders. Comfortable, and every campaign looks reasonable in it.
- Cost per new customer = spend ÷ new customers only. Higher, more honest, and it exposes which campaigns are buying people you already had.
A campaign spends 30,000 SAR and brings 300 orders:
| Method | Calculation | Result |
|---|
| Common | 30,000 ÷ 300 orders | 100 SAR per order |
| Actual | 30,000 ÷ 120 new customers | 250 SAR per new customer |
The other 180 are orders from existing customers. Same campaign, same spend, and the cost two and a half times higher once it's computed properly.
Illustrative figures.
An inflated denominator steers budget quietly. Retargeting shows a high return, so you add to it. Upper funnel shows a low return, so you cut it. Two months later orders are flat, new customers are down, and retargeting is reselling to a list that's shrinking. No number on your dashboard flags it during those two months.
250 SAR per new customer isn't bad on its own. It depends entirely on what that customer is worth over time.
- If a new customer from this channel is worth 900 SAR over a year, the campaign deserves more budget
- If they're worth 300 SAR, you're paying 250 to earn 50
The blended 100 figure couldn't tell those two cases apart. It reads the same in both.
That's why lifetime value by first acquisition channel is more useful than one store-wide number. Your most expensive channel can be your best one, if its customers come back.
A cohort is everyone you acquired in a given month, tracked forward. It answers a question no snapshot can: did they stay?
Channel A may be cheaper per new customer while its buyers purchase once. Channel B costs more, but its cohort returns twice within six months. In month one A wins. By month six B wins, and no report that looks only at the acquisition month can show you that.
It's also how you read a season honestly. The Ramadan cohort is usually the largest of your year. Follow it past Eid: if it returns in Shawwal, the season was growth. If it doesn't, it was a peak.
In Flowfy, identity resolution, order-level attribution and customer segments are live, and cost per customer appears in the dashboards. Cohort retention curves and lifetime value by first acquisition channel are on the roadmap and haven't shipped. See the getting started guide. Until they land, you can read the split that matters most, new against returning per campaign, from the resolved customer records.
How do I define a new customer?
Their first order in your store, tied to a resolved identity rather than to a device or an email address.
Should I optimise ad platforms on cost per new customer?
You can feed them cleaner conversion signals, but a platform optimises on what reaches it. The main use of this number is your own allocation decision across channels.
Does a high cost per new customer mean cut the channel?
No. It means look at the lifetime value of the customers it brings before you decide.
How long before I judge a cohort?
Long enough to cover one repeat cycle, based on the average gap between first and second order in your store. Judging in week two tells you nothing.
Resolve identity first. Then attach the acquisition channel to the person rather than to the order. Then compute cost per new customer by channel and set it against what that channel's customers are worth over a year. Any budget decision taken before step one is built on an inflated denominator.