← All articles
Basic7 min read|

How to See Real Profit Margin by Product on Shopify (Not Just Gross Margin)

Shopify's profit reports only subtract COGS. The real margin per product — after payment processing, shipping, returns, CAC, and fulfillment — can be 20-40 points lower. Here's how to find the real number.

Shopify shows you gross profit per product in its reports. That number is misleading. It only subtracts COGS — cost of goods sold — from revenue. The real profit margin per product, after payment processing, shipping, returns, customer acquisition cost, and fulfillment, can be 20 to 40 points lower than what Shopify tells you.

If you are making pricing, ad spend, or inventory decisions based on Shopify's gross margin number, you are working with incomplete data. Here is how to see the real profit by product — and what the gap actually looks like.

What Shopify actually shows you

Shopify's built-in product profit reports use a simple formula: revenue minus cost per item. The "cost per item" field is whatever you entered when you set up the product — typically your landed COGS. Shopify subtracts that from the sale price and calls the result "gross profit."

For a catalog of five products, the Shopify report might look like this:

Shopify Product Profit ReportRevenue minus COGS only
ProductShopify Gross Margin
Yoga Mat (Standard)62%
Resistance Band Set68%
Foam Roller55%
Water Bottle (Insulated)70%
Gym Duffel Bag58%

Everything looks profitable. But this only accounts for one cost line.

Every product shows a margin between 55% and 70%. That looks healthy. But every one of those numbers is overstated — because Shopify only subtracted one cost line out of six or seven that actually eat into each sale.

The costs Shopify doesn't allocate per product

Shopify's profit reports ignore every variable cost except COGS. Here are the six cost categories that are missing from your per-product margin:

  1. Payment processing (2.9% + $0.30 per transaction). Shopify Payments or Stripe takes a cut of every sale. On a $45 product, that is $1.61. On a $15 product, the fixed $0.30 component hits harder — 4.9% of revenue instead of 3.6%.
  2. Shipping and fulfillment. If you offer free or subsidized shipping, the cost comes out of your margin. It varies wildly by product weight, dimensions, and destination zone. A lightweight accessory might cost $3 to ship. A bulky yoga mat costs $6-8. Shopify does not allocate this per SKU.
  3. Returns and exchanges. Apparel return rates run 15-30%. Other categories sit at 5-10%. Each return costs you the refund, return shipping, restocking labor, and sometimes the product itself. Shopify tracks refunds at the order level but does not roll the cost back into per-product margin.
  4. Customer acquisition cost (CAC). Your ad spend divided by orders gives you a blended CAC. But different products have different acquisition costs depending on which campaigns drive their sales. Shopify does not connect ad spend to individual SKUs.
  5. Packaging materials. Boxes, poly mailers, tissue paper, branded inserts, tape. Typically $1-3 per order depending on product size and your packaging standards. Most sellers treat this as overhead, but it is a per-unit variable cost.
  6. Platform and app fees. Your Shopify plan, Klaviyo, loyalty apps, reviews apps — these are monthly fixed costs, but they scale with order volume. Allocating a share to each unit sold gives you a more accurate per-product cost picture.

For most direct-to-consumer brands, these six categories add up to 20-40% of revenue per unit. That is the gap between Shopify's gross margin and your actual profit margin by product.

How to calculate true profit margin per product

Let's walk through one product end to end. Take the Yoga Mat (Standard) from the table above — a $45.00 product with a $17.10 COGS. Shopify says the margin is 62%. Here is what happens when you load in every variable cost:

True Margin WaterfallExample: Yoga Mat (Standard) — $45.00
Line ItemAmountRunning Total
Revenue$45.00$45.00
COGS (landed cost)($17.10)$27.90
Payment processing (2.9% + $0.30)($1.61)$26.29
Shipping & fulfillment($6.50)$19.79
CAC allocation($9.00)$10.79
Returns allowance (8%)($3.60)$7.19
Packaging materials($2.20)$4.99
True contribution margin$4.99 (11.1%)
Shopify gross margin (what the report shows)$27.90 (62%)

Shopify says 62% margin. The real number is 11.1%. The $22.91 gap between gross profit and true contribution is the cost of actually selling and delivering this product.

The Gap: Shopify Margin vs. Reality
Shopify gross margin
62%
True contribution
11.1%
Hidden cost gap50.9 percentage points

Here is the step-by-step process to do this for every product in your catalog:

Step 1: Start with your Shopify product export

Export your products from Shopify with the sale price and cost per item. If you have not filled in cost per item for every SKU, start there. You cannot calculate margin without COGS.

Step 2: Add payment processing fees

For each product, calculate 2.9% of the sale price plus $0.30. If you use a different processor or have negotiated rates, use your actual rate. This is straightforward math, but most sellers never subtract it from per-product margin.

Step 3: Allocate shipping cost per SKU

Look at your average shipping cost by product. If you use a 3PL, pull the per-order shipping charges from your invoices. If you ship in-house, calculate the average carrier cost by product weight and zone. Do not use a single flat estimate across your whole catalog — shipping cost varies dramatically by product.

Step 4: Estimate CAC per product

If you run product-specific ad campaigns, use the actual spend per SKU divided by units sold. If your campaigns are broad, divide total ad spend by total units sold for a blended number. The blended approach understates CAC on expensive-to-acquire products and overstates it on organic sellers, but it is better than ignoring it.

Step 5: Factor in returns

Multiply the product's return rate by the cost per return (refund amount plus return shipping plus restocking). This gives you the expected return cost per unit sold. Even an 8% return rate adds meaningful cost — on a $45 product, that is $3.60 per unit in expected return expense.

Step 6: Add packaging

Calculate the actual cost of packaging materials for each product. Larger products need bigger boxes or more padding. Small items might ship in a poly mailer for $0.50. A fragile item in a branded box with inserts could be $3+.

True Contribution Formula

True Margin = Revenue − COGS − Payment Fees − Shipping − CAC − Returns − Packaging

Do this for every SKU, then sort by true contribution margin percentage. The products where the gap between Shopify gross margin and true margin is largest are the ones most likely to be misleading your decisions.

A faster way

The spreadsheet approach works, but it breaks every time your costs change and takes hours to maintain. MarginCaptain automates this calculation from a Shopify product export — it loads every variable cost per SKU and shows you true contribution margin across your entire catalog.

See it in action

Try the interactive demo to see how a 10-SKU catalog looks when you load in real costs instead of just COGS. Most sellers find at least two or three products where the true margin is half or less of what Shopify reports.

Related reading: What are fake-profitable SKUs? — how products that look profitable in simple reporting can quietly lose money once you account for every cost.

Find your fake-profitable SKUs.

Upload your Shopify data. Get your margin leak audit in minutes.