
Product decisions don't come out of a channel dashboard
Budget is decided by channel. Stock, bundles and offers are decided by product. Two products with the same revenue can need opposite decisions, and revenue alone doesn't tell them apart.

You have two products, each doing 40,000 SAR a month. On the first, 85% of orders come from customers who've bought before. On the second, 81% of orders come from people buying for the first time.
Same revenue, opposite budget decisions. And almost no store's reporting separates the two.
| Front door | Reason to stay | |
|---|---|---|
| Buyer mix | Mostly first-time | Mostly returning |
| Job | Brings customers in | Brings them back |
| Budget | Acquisition spend | Customer messaging and bundles |
| Judged on | Cost per new customer | Repeat rate and margin |
A product bought overwhelmingly by returning customers is a retention asset. Put acquisition budget behind it and you're buying orders that were coming anyway. The campaign then reports a strong return because those repeat orders get credited to it.
This is the part that keeps the mistake alive for years. A front-door product usually has:
Each of those makes it look like the weaker product. The one metric it wins on is the one most stores don't compute: new customers per riyal.
Invert the two decisions and you pay for ads to sell to people you already have, while the product that brings you customers runs unsupported. Both mistakes are expensive and only one is visible: the wasted acquisition spend shows up as a campaign with a decent return, so nobody questions it. Missing new customers don't have a line in any report.
For the front door: judge it on cost per new customer, fund it from acquisition budget, and accept worse first-order economics if the customer comes back. See judging a season on new customers.
For the reason to stay: keep it out of acquisition campaigns. Its channels are email, messaging, packaging inserts and bundles, all cheap and all reaching people who already bought. See QR inserts.
This changes your discounting too. Discounting a retention product moves margin away from customers who were going to pay full price.
You can't read any of this without resolved identity. If a returning customer buying on a new device counts as new, every product looks like a front-door product and the distinction collapses. See identity resolution.
In Flowfy, order source, identity resolution and the new-versus-returning flag per order are live, so you can work out the classification from exported orders.
Product-level analytics, meaning performance read by product and by buyer type, is on the roadmap and hasn't shipped. Until it does, export orders with product, customer and source, and do the split yourself. See product decisions.
Classify the ten products carrying most of your revenue by buyer type rather than by revenue. Where most orders come from first-time buyers, move the product onto acquisition budget and judge it on cost per new customer. Where most orders come from returning customers, pull it out of acquisition campaigns this week. Re-run the classification in six months, because products move between the two roles.

Budget is decided by channel. Stock, bundles and offers are decided by product. Two products with the same revenue can need opposite decisions, and revenue alone doesn't tell them apart.

Offline touchpoints cost you money and have no revenue line facing them. One code on something you already print turns them into a channel you can compare against paid.

Cost per order improves during a season for a reason that has nothing to do with your ads. Divide the same spend by new customers and the decision changes.