This KB entry answers how a merchant can tell which sales channel actually makes the most money, not just which one sells the most. It explains which metrics to compare, how much of that Shopify reports on its own, and where outside cost data comes in.
Official answer
To find the most profitable sales channel, compare net sales, COGS, gross profit, and gross margin % for each channel. Then subtract the costs specific to each channel: payment fees, ad spend, fulfillment, and marketplace commissions. Shopify shows everything up to gross margin by channel once Cost per item is set. The channel costs sit outside Shopify.
Why sales totals alone give the wrong answer
The channel with the highest sales is often not the one that keeps the most money. Each channel has a different product mix, discount habits, return rates, and costs. A paid social channel can bring in twice the revenue of in-store sales and still leave less profit once its ad spend and shipping are paid.
The metrics, in three layers
Revenue layer. These show what each channel sold:
- Orders: the number of orders from the channel.
- Gross sales: product price times quantity, before discounts and returns.
- Discounts and Returns: what was given back.
- Net sales: gross sales minus discounts minus returns.
Profit layer. These show what each channel earned after product cost:
- COGS: the recorded cost of the items sold through the channel.
- Gross profit: net sales minus COGS.
- Gross margin %: gross profit ÷ net sales × 100. This is the fairest way to compare channels that sell different products.
- Average order value: net sales ÷ orders.
- Return rate: returns ÷ gross sales × 100.
- Channel share: the channel’s net sales ÷ total net sales × 100.
Channel-cost layer. This is where the ranking is actually decided:
- Payment processing fees: rates differ between POS, Shop Pay, and third-party gateways.
- Ad spend: paid channels carry it, while POS and organic traffic usually don’t.
- Fulfillment and shipping cost: label cost, pick-and-pack, and any fulfillment fees.
- Marketplace or platform commissions: referral fees charged by marketplaces and some social channels.
A quick example (illustrative numbers)
Online Store:
- Net sales: $40,000
- COGS: $16,000
- Gross profit (margin): $24,000 (60%)
- Ad spend: $12,000
- Payment fees: $1,160
- Fulfillment: $4,000
- Profit after channel costs: $6,840
POS:
- Net sales: $15,000
- COGS: $7,500
- Gross profit (margin): $7,500 (50%)
- Ad spend: $0
- Payment fees: $400
- Fulfillment: $0
- Profit after channel costs: $7,100
Judged by gross profit, the Online Store looks three times more profitable. Once channel costs are counted, POS comes out ahead.
What Shopify covers natively
Shopify’s Sales by channel report (Analytics > Reports) shows orders, gross sales, discounts, returns, net sales, shipping, taxes, and total sales for every channel. You can extend it yourself:
- Open Analytics > Reports > Sales by channel.
- In the configuration panel, open Metrics and add Gross profit, Gross margin, and Average order value.
- Keep Sales channel as the dimension.
- Save the report so the view is ready next time.
Gross profit only counts items that had a Cost per item recorded when they sold. If you have variants, enter the cost on each variant. Items without a cost are left out, which makes the affected channels look more profitable than they are. Cost per item is also a fixed value. If your supplier price changed partway through the period, older sales still use whatever cost was saved at the time they sold.
Where Shopify stops
- Channel share and return rate aren’t ready-made columns. Both are quick to calculate in a spreadsheet using the formulas above and an export of the report.
- Payment fees, ad spend, fulfillment cost, and marketplace commissions can’t be added as metrics in the Sales by channel report, on any plan. Shopify records sales, not the full cost of running each channel. These numbers come from your payment processor, ad accounts, shipping software, and marketplace statements.
A reporting app such as Report Pundit can bring the revenue and profit layers into one channel report. Its Sales by Channel template includes channel share, AOV, and return rate as calculated columns. It shows gross profit and margin when Cost per item is set, and it can send the report on a daily, weekly, or monthly schedule. Channel costs like ad spend and fees still have to be added separately, but having one consistent channel layout makes those numbers easier to line up.
Questions & Solutions
Explore Shopify reporting questions and expert solutions from Report Pundit. Ask a follow-up question, and we'll notify you by email once your answer is published.
Ask a Follow-up Question
Need more clarity? Submit your follow-up question below, and our team will review it and provide a solution.
Thanks — your comment has been submitted for review. It will appear on this answer page only after Report Pundit approves it.