Shopify Margin Guide

How to Find Negative-Margin Orders in Shopify

A Shopify order has negative margin when net revenue falls below the combined cost of goods sold, carrier shipping, and transaction fees. Shopify does not flag these automatically — here is a 7-step process to find them.

The fastest manual path: export your Orders CSV, add three calculated columns (net revenue, total cost, margin), and filter for rows below zero. A sample table and full checklist are below.

Three things that make a Shopify order negative-margin

Discount drag

A discount code reduces the order total below break-even. Stacked codes — one automatic, one manual — are a common culprit that is easy to miss in Shopify's default reports.

Shipping overrun

You charged the customer $5 flat shipping but the carrier billed $11.40. That $6.40 gap comes directly off margin. Flat-rate free-shipping offers on heavier products amplify this.

Stale COGS

Your supplier raised prices six months ago. The Cost per item in Shopify was never updated. The Profit report shows higher margin than reality because the cost basis is outdated.

7-step process to find negative-margin orders

  1. Enter Cost per item for every product variant
    Admin → Products → select product → Variants → Cost per item. Without this field populated, Shopify's Profit report cannot calculate margin.
  2. Run Profit by Product report
    Analytics → Reports → Finances → Profit by Product. Set date range to last 30–90 days. Sort by Profit ascending to see the lowest-margin products first.
  3. Export the Orders CSV
    Orders → Export → All orders → date range → Plain CSV. This includes subtotal, discount amount, refund amount, and shipping charged to the customer.
  4. Add Net Revenue column
    Formula: Subtotal − Discount Amount − Refund Amount. This is the amount you actually collected after all adjustments on that order.
  5. Add Total Cost column
    Formula: COGS + Actual Carrier Shipping + Transaction Fee. Use product cost records and your shipping carrier invoices. A typical Shopify Payments rate is 2.9% + $0.30 per transaction.
  6. Filter for Margin < 0
    Add a Margin column: Net Revenue − Total Cost. Filter or sort for values below zero. Every row here is an order where you lost money.
  7. Pivot by Discount Code
    Group results by Discount Code to see which codes generate the most losses. Codes that appear most often in negative-margin rows are candidates for minimum order value restrictions or removal.

What negative-margin orders look like in a spreadsheet

The table below uses fictional order data to illustrate the calculation. Actual numbers will differ based on your product costs, carrier rates, and payment processor.

Order Subtotal Discount Net Revenue COGS Carrier Ship. Fees Total Cost Margin
#1001 $49.00 $49.00 $14.00 $7.20 $1.72 $22.92 +$26.08
#1002 $49.00 $24.50 (50%) $24.50 $14.00 $9.40 $1.01 $24.41 +$0.09
#1003 $29.00 $14.50 (50%) $14.50 $14.00 $8.80 $0.74 $23.54 −$9.04
#1004 $49.00 $49.00 $14.00 $6.90 $1.72 $22.62 +$26.38
#1005 $29.00 $5.80 (20%) $23.20 $14.00 $11.20 $0.97 $26.17 −$2.97

In this example, 2 of 5 orders lost money. Order #1003 lost $9.04 because a 50% discount code was applied to a low-price SKU with a high shipping cost. Order #1005 lost $2.97 because the carrier charged $11.20 against a $5 flat shipping rate offered to the customer.

Connected guides and tools

Common questions about Shopify negative-margin orders

What is a negative-margin order in Shopify?

A negative-margin order is one where net revenue (subtotal minus discounts and refunds) is less than the combined cost of goods sold, actual carrier shipping paid to the carrier, and payment processing fees. The store fulfilled the order at a net loss.

Does Shopify show profit per order natively?

Shopify's Profit by Product report (Analytics → Reports → Finances) calculates margin using Cost per item, but it does not include actual carrier shipping cost or transaction fees. For true per-order margin you need to combine the orders export with shipping and processor data outside of Shopify's standard UI.

What are the most common causes of negative-margin orders?

Discount codes that push order value below break-even, carrier shipping overruns on flat-rate or free-shipping offers, COGS fields not updated after supplier price increases, and high-value refunds where shipping and processing fees are not recovered.

How do I prevent negative-margin orders going forward?

Set minimum order values on discount codes, use carrier-calculated shipping rates on heavier products instead of flat rates, review and update Cost per item quarterly, and track margin by discount code on at least a weekly cadence.

Can I automate the detection of negative-margin orders?

Yes. ProfitPulse AI connects to your Shopify store and surfaces negative-margin orders and low-margin products automatically, without requiring a manual CSV export and spreadsheet process each time.

Find negative-margin orders automatically.

ProfitPulse AI connects to your Shopify store and flags orders and products where margin is at risk — no spreadsheet required.