Profit & Margin
Profit & Margin shows what your sales kept after the cost of goods, over time.

How It’s Calculated
The cards at the top show Gross Profit, Gross Margin and COGS for the date range. With Compare on, each card also shows the change from the comparison period, and the chart adds a line for it.
Each row of the table is one period. The length of the date range sets how long a period is:
- 3 days or less: one row per hour
- Up to 93 days: one row per day
- Longer: one row per month
The columns are:
- Orders: the number of orders placed in the period.
- Gross Sales: each item’s price times its quantity, before discounts, shipping, tax and returns.
- COGS: the cost of the goods sold, worked out as quantity × unit cost for each line item.
- Total Sales: gross sales less discounts, plus shipping and tax, less returns. If your prices include tax, tax isn’t added a second time.
- Gross Profit: Total Sales less COGS.
- Gross Margin: Gross Profit as a share of Total Sales. It shows 0% when Total Sales is zero or less.
- Cost Coverage: the share of units sold whose product variant has a unit cost. A cost of 0 counts as a cost here.
- Kept Gross Profit: Gross Profit plus an estimate of the cost of the goods that came back.
- Shipping Revenue (net of refunds): shipping charged, after shipping discounts and refunds, taken from each order’s shipping lines. When your prices include tax, it includes tax. An order with no shipping line adds 0.
A totals row under the table adds up each column except Shipping Revenue (net of refunds). It works out Gross Margin and Cost Coverage over the whole range. Show totals row in the Report settings menu turns it on or off for every report.
Total Sales includes shipping and tax, so Gross Profit does too. This report doesn’t follow the Include taxes in revenue and Include shipping in revenue settings that the P&L uses, so the P&L’s Gross Profit can differ from this report’s.
Unit Costs
COGS uses each product variant’s Cost per item from Shopify. It uses the cost set today, not the cost when the order was placed, so changing a cost in Shopify changes COGS for past periods too.
A line item whose variant has no cost counts as zero cost. Cost Coverage shows how much of your sales has a cost. Below 100%, COGS is too low and Gross Profit is too high.
Kept Gross Profit
When a customer returns something, the refund comes off Total Sales, but the cost of the goods stays in COGS. Kept Gross Profit adds that cost back, as an estimate. For each refund it adds the refund amount times the order’s COGS as a share of what its items sold for after discounts.
The estimate treats every returned unit as back in stock. A unit you write off is counted as recovered anyway.
The chart draws Kept Gross Profit as a solid line. Periods that ended less than 90 days ago, and the period still open, are drawn dashed, because their returns haven’t all come in. Kept Gross Profit there is an upper bound.
What Counts
- Orders count on the day they were processed, in your store’s time zone.
- Canceled orders, and orders whose payment was voided or expired, are left out.
- Returns count on the day the refund was made, for orders placed in the range or up to 2 years before it.
- Every channel counts, including point of sale. Sales Channel, Segment and Filters narrow the report.
What Good Looks Like
There’s no single right margin: it depends on what you sell and how you sell it. Look at your own trend.
- Cost Coverage is near 100%. Until it is, Gross Profit is overstated.
- Gross Margin is steady or rising. A falling margin with steady sales points to heavier discounts, a shift toward lower-margin products, or rising product costs.
- Kept Gross Profit is close to Gross Profit. A wide gap means returns are taking a large part of your profit.
What to Do About It
- Fill in missing costs. Open Unit Cost Coverage to see which products have none, then set Cost per item for them in Shopify.
- Find which products move the margin. Profit by Product ranks them by gross profit.
- Check discounts. Discount Code Profitability shows what each code does to margin.
- Check returns. Refund Profit Impact shows what refunds cost you after the goods you recovered.
- See profit after ad spend. Contribution After Ad Spend takes your ad spend off gross profit.
Get AI Insight at the top of the report asks Copilot for a short read of it.
Where to Find It
- Profit & Margin: open Reports and look under Profitability.
- P&L: revenue, costs, ad spend and contribution profit on one page.
- How to Choose a Date Range: date ranges and comparisons.