Profit fundamentals

What Is Shopify Profit?

Shopify profit is what remains after every cost of fulfilling an order is subtracted from what the customer paid. Shopify's own reports stop at gross profit, revenue minus cost of goods. They exclude ad spend, the shipping label you actually paid for, payment processing fees and refunds, so the figure on your dashboard is always higher than the money you keep.

Atul Tirkey, Co-founder, NetNet

Written by Atul Tirkey · Co-founder, NetNet

Updated September 6, 2026 · 5 min read

  1. Gross sales
  2. Discounts and returns
  3. Cost of goods sold
  4. Gross profit
  5. Shipping label cost
  6. Payment and gateway fees
  7. Packaging and fulfilment
  8. Contribution margin
  9. Ad spend
  10. Marketing profit
  11. Apps, software and overheads
  12. Net profit
The full deduction path from what a customer paid to what the business kept. Shopify's own profit reporting covers the first three lines.

Every Shopify store has at least five numbers that could reasonably be called “what we made this month”, and in a store buying traffic they can differ by a factor of four. Most arguments about profitability are really arguments about which of those five numbers each person is looking at.

Sorting that out is worth an hour. The vocabulary below is Shopify’s own, and once the layers are separate it becomes obvious which number answers which question.

The three numbers Shopify calls “sales”

Shopify’s reporting opens with three sales figures. They are not interchangeable, and picking the wrong one puts the whole calculation on a false footing.

Gross sales is product price multiplied by quantity, before anything comes off. It ignores discounts, returns, shipping and tax. It is the largest number in your admin and the least informative — a store that discounts 30% and takes 12% returns can post a gross sales figure it never came close to earning.

Net sales is gross sales minus discounts and minus returns. This is the number that belongs at the top of a P&L. It represents goods that customers actually kept, at the price they actually paid.

Total sales takes net sales and adds shipping charged, taxes and duties back on. It is the biggest of the three and the most misleading to build on, because a meaningful slice of it was never your money: sales tax is collected on behalf of a government, and shipping revenue is collected to hand to a carrier. Starting a profit calculation from total sales means starting with someone else’s money in your revenue line.

The first and most common error in a homemade profit spreadsheet is exactly this — total sales at the top, because it is the friendliest number on the dashboard.

Where Shopify’s profit report stops

Shopify can report gross profit. Depending on your plan, the profit reports read the cost per item field on each product variant and calculate:

Gross profit = net sales − cost of goods sold

That is a genuine, useful number. It tells you whether your pricing and your sourcing work together, and if it is weak nothing downstream can rescue the business.

It is also the end of the road. Shopify knows what you paid for the item because you typed it in. It does not know what it cost to sell that item or to deliver it. Absent from that report, and therefore absent from any profit figure built on it:

  • Ad spend — the single largest cost line in most DTC stores, and it lives in Meta and Google, not Shopify.
  • The shipping label you actually paid for — Shopify records the shipping you charged. What the carrier invoiced is a separate system and usually a bigger number.
  • Payment processing and gateway fees — deducted inside your payouts, not shown against the order in analytics.
  • Packaging, pick-and-pack, 3PL storage — real per-order money, invoiced monthly by someone else.
  • Chargebacks, failed deliveries and return shipping — the costs of orders that went wrong.
  • Apps, software and overheads — small individually, rarely small together.

None of this is a flaw in Shopify. It is an accurate statement of what a commerce platform can see from where it stands. The gap only becomes a problem when a store treats gross profit as though it were profit.

The four layers of profit underneath

Underneath “profit” sit four distinct layers. Each one answers a different question, and collapsing them into a single number is what makes profitability feel unknowable.

Gross profit — net sales minus COGS. This is a question about pricing and sourcing. Is there enough margin in the product itself to pay for everything that follows? If gross margin is 22%, no amount of operational discipline will produce a profitable store.

Contribution margin — gross profit minus the variable costs of getting that specific order to that specific customer: shipping label, payment fees, packaging, per-order fulfilment charges. This is a question about unit economics. It is the money one additional order contributes, and therefore the only honest ceiling on what you can pay to acquire a customer.

Marketing profit — contribution margin minus ad spend. This is a question about acquisition. Positive means the marketing is paying for itself and funding the business before overhead is considered; negative means advertising is consuming more margin than it generates. Keeping it separate matters because ad spend and rent fail for entirely different reasons.

Net profit — marketing profit minus everything that does not scale with orders or campaigns: apps, software, salaries, rent, professional fees. This is a question about the business. It is what is left for you.

The layers are ordered deliberately. Each one strips out a different kind of cost, so a weak result at any layer points at a specific problem rather than a vague one — and the gap between marketing profit and net profit is precisely what separates a marketing problem from a scale problem.

Which layer runs which decision

The practical value of separating the layers is that each decision has an obvious home.

  • Should we raise prices, or renegotiate with the supplier? Gross margin. Nothing below this line is relevant to the question.
  • Can we afford free shipping over $50? Is this discount code sustainable? Contribution margin. Both changes hit variable per-order cost and neither touches overheads.
  • How much can we pay to acquire a customer? Contribution margin per order, compared against CAC. Judging that against gross profit systematically overstates what you can afford to bid.
  • Can I take a salary? Can we hire? Net profit, over a quarter rather than a month.

A store that knows only one profit number ends up making all four decisions with it, and at least three of them will be wrong.

Why the number keeps moving after the month closes

One last thing that catches people out: a month’s profit is provisional for weeks after it ends.

Refunds land whenever the customer asks, and they retroactively change the profit of an order that shipped in a previous period. Payment fees settle inside payouts, several days behind. Carriers re-weigh parcels and issue adjustments, sometimes a month later. Chargebacks can arrive up to 90 days after the sale. Returned-to-origin parcels cost freight in both directions and often surface last.

So the figure you read on the first of the month is an estimate, and it drifts downward as reality arrives. That is not a reason to distrust it — it is a reason to watch the trend across several closed months rather than reacting to a single fresh one, and to make sure late-arriving costs get attributed back to the order that caused them rather than dumped into whichever month they happened to land in.

Where to go next

If the gap between what Shopify reports and what you keep is the thing you want closed, best Shopify profit analytics apps covers the tools that close it. To put your own numbers through the ladder first, the Shopify profit calculator is free and takes a minute.

One month, five different answers

A store running roughly $84,000 in gross sales for the month. Every line below is a cost the business genuinely paid, in the order it lands.

Gross sales
$84,200
Net profit
$11,560
Share kept
13.7%
One month, five different answers
Line Amount
Gross sales What Shopify shows first $84,200
Discounts $6,100
Refunds and returns $4,300
Net sales The honest top line $73,800
Cost of goods sold $28,900
Gross profit Where Shopify's profit report ends $44,900
Shipping labels paid to carriers $9,400
Payment and gateway fees $2,200
Contribution margin $33,300
Ad spend $21,000
Marketing profit Does acquisition pay for itself? $12,300
Apps and software $740
Net profit $11,560

Gross sales say $84,200. Shopify's profit report says $44,900. The business kept $11,560, a net margin of 15.7% on net sales. Same month, same orders — a $33,340 gap between the last number Shopify shows you and the money that stayed in the account.

Where the numbers come from

Every figure above traces to a specific field in a specific system. These are the ones that matter, and where each one goes wrong.

Data sources and their caveats
Figure Source Where it breaks
Gross and net sales Shopify order line items Shopify counts an order when it is placed, not when it is paid or delivered.
Cost of goods sold The cost per item field on each product variant Shopify holds one cost per variant, so it cannot reflect a price your supplier changed mid-quarter.
Shipping cost Carrier or 3PL invoices Shopify records what you charged for shipping, never what the label actually cost you.
Payment and gateway fees Payout statements from Shopify Payments or your gateway Fees settle with the payout days later, so an open month always looks better than it closes.

What this does not tell you

  • This is a cash view organised by order date. It does not tell you whether the month was profitable on an accrual basis, where stock you bought but have not sold yet sits on the balance sheet rather than in costs.
  • A store-level net profit figure says nothing about which products, channels or customers produced it. A healthy total routinely hides a category that loses money on every order it ships.
  • It excludes anything you have not recorded as a cost, and for most founders that means their own salary, income tax, and the value of the hours spent packing boxes.

Frequently asked questions

Does Shopify show net profit?

No. Depending on your plan, Shopify can report gross profit using the cost per item you enter against each variant. It has no visibility into ad spend, carrier invoices, payment processing fees or overheads, so it cannot produce a net profit figure.

What is the difference between total sales and net sales in Shopify?

Net sales is gross sales minus discounts and returns. Total sales adds shipping charged, taxes and duties on top. Total sales is the bigger number, but it includes tax you are holding for the government and shipping you collected to pay a carrier.

Why does my Shopify profit not match my bank balance?

Timing. Payouts arrive days after the order, processing fees are deducted inside the payout rather than at checkout, refunds land whenever the customer asks, and carrier invoices settle weeks later. The order was profitable on the day; the cash moves on its own schedule.

What is a good net profit margin for a Shopify store?

It varies widely by category, price point and how heavily a store buys traffic. Rather than chase a benchmark, track your own contribution margin per order over time — a store improving that number is getting healthier regardless of where it started.

Keep reading — Profit fundamentals

All profit guides

Scale profitably.

Know what every order made you.

Install Free on Shopify