Profit Per Session: The On-Site Metric That Can't Lie to You
Profit Per Session: The On-Site Metric That Can't Lie to You
Most stores optimize the wrong number. They chase conversion rate, then AOV, then "revenue per visitor." All three can rise while profit falls — because none of them know what a sale cost you.
There's one on-site metric that can't be gamed: profit per session.
Why AOV and RPV mislead
AOV rewards bigger baskets — but a basket inflated by a discount has a lower margin, not a higher one. An AOV "win" can be a margin loss.
Revenue per visitor (RPV) is AOV × conversion rate. It's better than AOV, but it still counts gross revenue. It doesn't know about:
- the discount you gave to get the order,
- the shipping you subsidized,
- the returns the order will generate.
A store can lift RPV by discounting aggressively — and lose money on every incremental order.
The metric that tells the truth
Profit per session = incremental contribution margin ÷ sessions
Where contribution margin is what's left after COGS, payment fees, variable fulfillment, and the discount — before fixed costs.
This single number captures everything that matters: whether the traffic converted, what the baskets were worth, what you gave away to get them, and what they cost to fulfill. It can't be gamed, because every way to "improve" a vanity metric (deeper discounts, free shipping for all, more expensive ad traffic) shows up as a cost in this one.
A worked example
Two versions of a homepage, same traffic (100,000 sessions), same 40% margin.
| Version A | Version B | |
|---|---|---|
| Conversion rate | 3.0% | 2.6% |
| Orders | 3,000 | 2,600 |
| AOV | $80 | $86 |
| Discount per order | $22 | $6 |
| Gross revenue | $240,000 | $223,600 |
| Contribution/order | $80×0.40 − $22 = $10 | $86×0.40 − $6 = $28.40 |
| Profit per session | $0.30 | $0.74 |
Version A wins on conversion, order count, and revenue. It also makes less than half the profit. The aggressive discount bought conversions it paid too much for.
If your dashboard shows only conversion/AOV/revenue, you'd ship Version A and celebrate. Profit per session shows you'd be wrong.
Why it's hard to track (and why that's changing)
Profit per session needs three things most stores don't connect:
- True variable cost per order (COGS + fees + fulfillment) — not just product cost.
- The discount attached to each order — not just that a discount happened.
- A control group, so you can count incremental sessions and orders, not just totals.
That's why it's rare. It sits at the intersection of margin data, discount data, and experimentation — three systems that usually live in different tools.
How to move toward it
- Start with contribution margin per order, not gross profit. Get your variable costs honest.
- Attribute discounts to orders — and treat discount cost as a cost, right next to ad spend.
- Add a small holdout so "profit per session" is measured against a control, not last month.
- Make it the headline KPI. If a tactic raises conversion but lowers profit per session, it's a loss — full stop.
The takeaway
Conversion rate, AOV, and RPV are all downstream of something they can't see: cost. They'll happily applaud a store that's converting more and earning less.
Profit per session is the one number that can't be fooled — because every shortcut you take to improve it shows up as a cost inside it. Track it, and you'll stop celebrating margin leaks.


