AOV vs Profit per Order: What to Track

Average order value can rise while profit per order falls. How to compute profit per order from Shopify reports, with a worked order and a monthly check.

A promotion that lifts average order value looks like a win on the dashboard. It may be a loss in the bank. Average order value, or AOV, counts revenue per order, and revenue is not what you keep. The number that tells you whether a promotion worked is profit per order: what is left from each order after the product cost, the discount, the shipping you pay and the payment fee. This page defines it with Shopify's own report terms, builds one order line by line, shows two scenarios in which AOV rises and profit falls, and ends with a monthly check you can run in four numbers. All inputs below are assumptions chosen for the arithmetic, not benchmarks.

Profit per order, defined

Start from Shopify's own definitions. Its analytics fields page defines net sales as gross sales minus discounts minus sales reversals. It defines average order value as (gross sales − discounts) ÷ orders; Average Order Value: Formula and 12 Levers covers the levers. And it defines gross profit as net sales minus the cost of goods sold. So Shopify's AOV is already after discounts, but it still knows nothing about the cost of the goods, the postage or the fee.

Profit per order, as used here, goes one step further:

Profit per order = net sales + shipping charged − product cost − shipping you pay − packaging − payment fee

Shipping charged is what the shopper paid for shipping. Everything else is a cost you can find on an invoice or a report. You then divide by the number of orders in the period.

Where Shopify shows profit, and what it needs

Shopify's Help Center says its profit reports use the cost per item that you set on each product or variant, and that "profit is reported only for products and variants that had cost recorded at the time they were sold." The Gross profit by product report shows net quantity, net sales, cost, gross margin and gross profit for the date range, and gross margin is based on net sales, so discounts and refunds reduce it. The page does not list which Shopify plans include these reports, so check yours in the admin.

Two limits matter for this page. First, gross profit stops at the product cost: the Help Center's description of the gross profit reports covers only product cost and net sales. Second, a separate report, Profit margin by order, includes shipping charges and the shipping costs your store pays, along with duties and import taxes. Neither report's description mentions payment fees, so treat the fee as a line you add yourself.

If your products lack a cost, the reports skip them. Fill in cost per item first, for every product and variant, or the totals will look better than they are. A free gift needs a cost too, or the gift's cost disappears from the profit totals.

One order, line by line

An order with two paid products and a free tote. Inputs, all assumed:

LineAmount
Serum, price38.00 dollars
Balm, price24.00 dollars
Gross sales62.00 dollars
Discount code, 10 percent−6.20 dollars
Net sales55.80 dollars
Shipping charged to the customer5.00 dollars
Serum cost−11.00 dollars
Balm cost−7.00 dollars
Free tote cost−3.00 dollars
Postage you pay−8.40 dollars
Packaging−1.20 dollars
Payment fee (assumed 2.9 percent of 60.80 plus 0.30 dollars)−2.06 dollars
Profit on this order28.14 dollars

The profit is 28.14 dollars, which is 50.4 percent of net sales. On Shopify's definition, gross profit for the same order is net sales minus cost, 55.80 − 21.00 = 34.80 dollars, so the report would show 34.80 and the bank would show 28.14. The 6.66 dollar difference is the shipping you paid beyond what the customer paid, plus packaging and the fee, which is the part the gross profit report does not show. The fee here is a stated assumption. Use the figure from your own payment statements.

AOV up, profit down: two scenarios

Assume a store with a 40 percent product cost (cost is 40 percent of the pre-discount price), a 1.20 to 1.40 dollar packaging cost, and the same payment fee formula.

Before. Average cart 60 dollars, no sitewide discount. The shopper pays 6.00 dollars shipping and you pay 8.00 dollars postage.

After. A promotion: 15 percent off the whole cart plus free shipping. Carts grow to an average of 78 dollars before discount. Postage is 8.60 dollars on the heavier parcel, packaging 1.40 dollars.

BeforeAfter
Gross sales per order60.00 dollars78.00 dollars
Discount011.70 dollars
Net sales (Shopify's AOV)60.00 dollars66.30 dollars
Shipping charged6.00 dollars0
Product cost24.00 dollars31.20 dollars
Postage paid8.00 dollars8.60 dollars
Packaging1.20 dollars1.40 dollars
Payment fee2.21 dollars2.22 dollars
Profit per order30.59 dollars22.88 dollars

AOV, by Shopify's definition, rose 10.5 percent from 60.00 to 66.30 dollars. Profit per order fell 25.2 percent. For the promotion to earn the same total profit as before, orders have to rise by 30.59 ÷ 22.88 = 1.337, a third more. That is the number to test against your forecast, and Why a 15% Discount Costs More Than You Think shows why a discount costs more than its percentage, and Break-Even Discount: Extra Volume You Need formalizes the extra volume a single discount needs.

A monthly check in four numbers

Once a month, pull four numbers for the month and for the month before:

  1. Net sales per order, which is Shopify's AOV, read from the sales or analytics reports.
  2. Discounts as a share of gross sales, from the same reports. If it climbs while AOV climbs, the lift is partly bought.
  3. Gross profit per order, from the profit report divided by the number of orders. This needs cost per item to be complete.
  4. Profit per order, from number 3 minus your shipping, packaging and fees for the month, divided by orders.

If numbers 1 and 2 rise and number 4 falls, the promotion is spending margin faster than it earns it. If number 3 is flat but number 4 falls, the problem is in shipping or fees, not in pricing. BFCM Margin Math: Offers That Survive applies the same discipline to the peak week, and Stop Training Shoppers to Wait for Sales covers what happens to number 2 over time.

Cart tiers that hold profit per order

A cart discount that grows with spend has a hidden cliff: the shopper just below a threshold earns you more than the shopper just above it. Using the 40 percent cost assumption, 9.50 dollars of postage, 1.40 dollars of packaging and the fee formula above, a cart of 99 dollars with no discount earns 45.33 dollars of profit. A cart of exactly 100 dollars with a 5 percent discount earns 41.04 dollars. So the first shopper over the line makes you less than the last shopper under it.

The way to read a tier is to find the break-even cart. For the 5 percent tier at 100 dollars it is 108.20 dollars: a shopper has to reach about 108 before you are back to what the 99 dollar cart earned. For a 10 percent tier at 200 dollars, compared with the last 5 percent cart at 199 dollars, it is 219.39 dollars. Set each line so the break-even is a stretch your order data says shoppers will make, and show the next line in the cart so they see it.

TierCart before discountNet salesProfit per orderProfit as a share of net sales
5 percent100 dollars95.00 dollars41.04 dollars43.2 percent
5 percent150 dollars142.50 dollars67.17 dollars47.1 percent
10 percent200 dollars180.00 dollars83.58 dollars46.4 percent
10 percent250 dollars225.00 dollars107.27 dollars47.7 percent

The Cart discount tiers template in Freebies Engine by Log Studio Lab is described as "A discount on the whole cart that grows with spend." Enter the tiers you tested above, with the break-even carts in mind, and check profit per order in the first full month. Plan requirements are on the pricing page. If the discount floor is your question, read Discount Floors So a Promo Never Loses Money.

Sources

Build this offer from the “Cart discount tiers” template.

Requires: Growth plan or higher.