Skip to main content
Margin guide · profit per product

Profit per product on Shopify: what each product keeps after discounts, refunds and fees.

Your best-selling product is not always the one that makes you the most money. Discounts, returns and the fixed payment fee on every order take a different share from each product. This guide shows what Shopify's profit reports give you, what they leave out, and how to get to the figure that decides what to promote and what to stop buying.

5profit reports in Shopify admin, including gross profit by product and by variantShopify Help Center1
No cost, no profitShopify reports profit only for sales that had a cost recorded at the timeShopify Help Center1
$0 backcard fee returned when you refund a Shopify Payments orderShopify Help Center3
$3.75order value below which a 30¢ fixed fee alone takes more than 8%Worked out below

In brief

  • Shopify's Gross profit by product report gives net sales minus cost, per product. It leaves out sales that had no cost per item recorded when they happened.1
  • What a product keeps = net sales (after discounts and refunds) − product cost − payment fees. Payment fees are not part of Shopify's gross profit, so subtract them yourself.
  • Refunded orders still cost the card fee: Shopify Payments does not return it.3
  • The usual leaks are missing costs, products sold below cost after a discount, refunds concentrated on a few products, and orders too small to carry the fixed fee.

What Shopify's profit reports show

Under Analytics › Reports, the Profit category has five reports: Average profit margin by market, Gross profit by product, Gross profit by product variant, Gross profit by POS location, and Profit margin by order.1

  • Gross profit is net sales minus cost, and gross margin is (net sales − cost) ÷ net sales × 100.1
  • Net sales are gross sales minus discounts and returns, so discounts and refunds lower the margin the report shows, compared with the margin on the product page.14
  • Profit is reported only for products and variants that had a cost recorded when they were sold. Adding a cost today does not bring past sales into the report.1
  • The product page shows a projected margin of (price − cost) ÷ price, before any discount or refund.2

That is a good start. What it does not include is the payment fee on every order, which is a real cost that grows with each sale and weighs most on cheap products and small orders.

From gross profit to what you keep

LineFormula
Gross salesprice × quantity, before discounts
Net salesgross sales − discounts − refunds
Gross profitnet sales − product cost
Payment feesfee rate × amount charged + fixed fee × orders
Kept (contribution)net sales − product cost − payment fees
Contribution marginkept ÷ net sales

When an order holds several products, share its fixed fee between them by their share of the order's value. Shipping charged to customers, shipping you pay for, ads and overheads are left out here; add what you know if you want a fuller figure.

Where each sale goes

An invented store's last 90 days: 800 orders, card fees of 2.9% + 30¢ charged on the amount after discounts.

90 daysAmountOf gross sales
Gross sales$50,000.00100%
Discounts−$4,000.008.0%
Refunds−$2,500.005.0%
Net sales$43,500.0087.0%
Product cost−$19,000.0038.0%
Payment fees: 2.9% × $46,000 + 800 × 30¢−$1,574.003.1%
Kept$22,926.0045.9%

Invented figures. Fees are charged on sales after discounts ($50,000 − $4,000) and are not returned on the $2,500 refunded. Kept is 52.7% of net sales.

Of every $100 sold at full price, this store keeps $45.85. The report that shows gross profit would show $24,500, 56.3% of net sales, because it leaves out the $1,574 in fees.

Product by product

The same sums per product change the order of the list. Four invented products:

ProductGross salesDiscountsRefundsNet salesCostFeesKeptMargin
Linen duvet cover$14,000$1,000$1,800$11,200$7,200$425.00$3,575.0031.9%
Ceramic mug$6,000$300$60$5,640$1,950$222.30$3,467.7061.5%
Tea towel$2,400$480$0$1,920$1,200$145.68$574.3229.9%
Clearance candle$1,500$750$0$750$800$36.75−$86.75−11.6%

Invented figures. Fees = 2.9% × (gross sales − discounts) + 30¢ × orders, with 160, 190, 300 and 50 orders.

  • The duvet cover brings twice the mug's sales and keeps about the same, because its refunds and cost take most of it.
  • The tea towel sells in 300 small orders; the fixed fee alone takes $90 of it.
  • The candle loses money on every sale once its 50% discount is applied. More sales make it worse.

Profit leaks to look for

  • Missing cost per item. Sales without a cost drop out of Shopify's profit reports altogether, so the products you know least about look fine.1 Enter costs for every product, starting with the best sellers.
  • Products sold below cost after a discount. Check each discounted product's price paid against its cost. Exclude it from the discounts that push it under, or raise its price first. See discount profitability.
  • Refunds concentrated on a few products. Refunds lower net sales and do not return the card fee.3 Sort refunds by product and read the return reasons for the top three.
  • Small orders. With a 30¢ fixed fee, the fixed part alone is more than 8% of any order under $3.75, before the percentage fee, the product and the packing. Raise the price of the cheapest products, sell them in multi-packs or set a minimum order value.
  • Shipping charged below what it costs. The Profit margin by order report counts shipping charges, duties and import taxes.1 Compare what you charge with your carrier invoices, especially just below the free-shipping threshold.

Pitfalls

  • Stale costs. A supplier price rise that never reached cost per item makes every margin look better than it is.
  • Revenue ranking. Sorting by sales puts the duvet cover first; sorting by what is kept puts it level with the mug. Decide on what is kept.
  • Short windows. A single month can be skewed by one promotion or one large refund. Use at least a quarter.
  • Fees differ. Rates depend on your plan, country and card mix, and another payment provider adds Shopify's own fee. Use your rate; the fees calculator lists Shopify's.
  • Unmatched items. Deleted products and custom line items still carry sales. Keep them in the totals even if they have no product page.

Doing it automatically

Store Diagnosis is our free, read-only Shopify app. It reads every order with its lines, discounts and refunds, and works out each product's gross sales, discounts, refunds, product cost, payment fees at 2.9% + 30¢ an order (shared across the order's lines by value) and what is left, with the same waterfall as above and a month-by-month view of sales against what you keep.

It then lists the leaks as findings with the money attached: products sold below cost after a discount, discount codes below a 15% margin, two or more codes taking more than 40% off one order, refunds above 8% of revenue, and orders so small that the fixed fee takes more than 8% of them. Where cost per item is missing it assumes a 50% margin, marks the figure as estimated and tells you how many variants have no cost. Shipping costs, ad spend and overheads are not visible to the app, and the report says so.

Store Diagnosis, free and read-only.

  • Profit by product, after fees
  • Products sold below cost
  • Refunds and small-order fees
  • Dead stock and stockouts
See how it worksComing to the Shopify App Store; it is waiting for review.

Frequently asked questions

How do I see profit by product in Shopify?

Go to Analytics › Reports and open Gross profit by product, or Gross profit by product variant, in the Profit category. Shopify calculates gross profit as net sales minus cost, and reports it only for products that had a cost per item recorded when they were sold.

Why is a product missing from my Shopify profit report?

Because it had no cost per item recorded at the time it was sold. Shopify reports profit only for products and variants with a cost at the time of sale, so adding the cost today does not bring back past sales. Enter costs for every product so future sales are counted.

Does Shopify's gross profit include payment fees?

No. Shopify's gross profit is net sales minus cost. Payment processing fees are not part of that formula, so subtract them yourself: with Shopify Payments on the US Basic plan that is 2.9% of the sale plus 30¢ an order for standard online cards.

What is the difference between gross profit and contribution margin?

Gross profit takes only the product cost off net sales. Contribution also takes off the costs that grow with each sale, such as payment fees and any shipping you pay for. It is the better number for deciding which products to promote, discount or stop buying.

Are payment fees refunded when I refund an order?

Not with Shopify Payments. Shopify says the original card processing fee is not returned when you refund an order, so every refund costs you that fee on top of the sale you lost.

How small is too small for an order?

With a fixed fee of 30¢, the fixed part alone takes more than 8% of any order under $3.75, before the percentage fee, the product cost and packing. Raise the price of the cheapest products, sell them in multi-packs, or set a minimum order value.

Sources

  1. Shopify Help Center. Profit reports: the five profit reports, gross profit and gross margin formulas, profit only for sales with a cost recorded, discounts and refunds, and shipping in Profit margin by order, checked 25 Sep 2026. vendor-published
  2. Shopify Help Center. Product prices: cost per item and the projected margin on the product page, checked 25 Sep 2026. vendor-published
  3. Shopify Help Center. Shopify Payments refunds: the original card processing fee is not returned when you refund, checked 25 Sep 2026. vendor-published
  4. Shopify Help Center. Sales reports: gross sales, discounts, returns and net sales, checked 25 Sep 2026. vendor-published

Every worked figure on this page is invented for illustration. Report names are quoted from the linked pages as of September 2026.