PRICING GUIDE

Shopify markup vs margin: how to price from supplier cost

Markup and margin both describe profit, but they measure it against different numbers. Mix them up and a 40% price rule can leave you with far less than you planned.

Updated 7 min read By BLZN Works

In short

  • Markup compares profit with cost: markup = (price − cost) ÷ cost.
  • Gross margin compares profit with price: margin = (price − cost) ÷ price.
  • To price from a markup: price = cost × (1 + markup). From a target margin: price = cost ÷ (1 − margin).
  • A 40% markup is not a 40% margin. On a $12.00 cost, it is $3.20 a unit less.

Want the numbers for one product right away? Use the free markup and margin calculator.

Two percentages for the same profit

Take a product that costs you $12.00 and sells for $20.00. It makes $8.00 of gross profit. Measured against the cost, that is a 66.67% markup ($8 ÷ $12). Measured against the price, it is a 40% margin ($8 ÷ $20). Same product, same profit, two different percentages.

Neither is wrong. They answer different questions. Markup tells you how much you add on top of what you pay. Margin tells you how much of each sale you keep after paying for the product. Shopify uses margin: when you fill in Cost per item on a product, Shopify shows the profit and the margin for its price.

Setting a price from supplier cost

When your supplier gives you a cost, either rule turns it into a price:

Here is the same $12.00 cost with “40%” applied both ways:

A $12.00 supplier cost priced with a 40% markup and with a 40% margin
RuleCalculationPriceProfitMarkupMargin
40% markup12.00 × 1.40$16.80$4.8040%28.57%
40% margin12.00 ÷ 0.60$20.00$8.0066.67%40%

This is the classic mistake. If you want a 40% margin but apply a 40% markup, you charge $3.20 less per unit than you meant to, and your real margin is 28.57%. Across a whole supplier price list, that adds up quickly.

Markup to margin conversion table

To convert between the two: margin = markup ÷ (1 + markup), and markup = margin ÷ (1 − margin).

Markup and the gross margin it gives
MarkupGross margin
10%9.09%
20%16.67%
25%20%
33.33%25%
42.86%30%
50%33.33%
66.67%40%
100%50%
150%60%
200%66.67%
300%75%

Two things stand out. For the same price, the margin is always smaller than the markup. And a margin can never reach 100%, because that would mean the product cost nothing, while a markup can be any size.

Which one should you use?

Neither is better; they are two views of the same profit. Markup is quick to apply when you start from a supplier cost, which is why many price lists and spreadsheets use it. Margin is easier to compare with the rest of your costs, because fees, discounts and shipping are also shares of the selling price. If you have a target margin in mind, price with the margin formula directly instead of converting it to a markup in your head. That one habit prevents the 40% mistake above.

What belongs in “cost”

The formulas are only as good as the cost you put in. The supplier’s unit price is the start, but getting a product ready to sell often costs more:

Decide what “cost” means for your store and use it the same way for every product. If you enter only the supplier’s unit price in Shopify’s Cost per item field, remember that the margin Shopify shows is before all of these.

Gross margin is not profit

Gross margin subtracts only the product cost. The rest of your costs still have to come out of it:

Taxes matter too. If your prices include VAT or GST, work out the margin on the price without tax, or it will look better than it is. This is why a margin that looks healthy on paper can be thin in practice. Choose a target margin from your own numbers, with room for all of the above.

Discounts take a bigger bite than you expect

A discount comes straight out of your profit, so it lowers the margin by more than its own percentage. Using the same product, with a $12.00 cost and a $20.00 price:

The effect of a discount on a product with a 40% margin
DiscountSale priceProfitMargin
None$20.00$8.0040%
10% off$18.00$6.0033.33%
20% off$16.00$4.0025%
40% off$12.00$0.000%

A 20% discount cuts this product’s profit in half. If you run regular sales, set your target margin with the discounted price in mind.

Rounding and price endings

Formulas rarely produce tidy prices. A $12.40 cost at a 40% target margin gives $20.666…, which rounds to $20.67. Rounding moves the margin a little, here to 40.01%.

Price endings move it more. If you then choose $19.99 instead, the margin drops to 37.97%. Always check the margin on the final price you will charge, not on the formula’s result.

Applying a rule to a whole supplier price list

For one product, a calculator is enough. For a supplier file with hundreds of SKUs, the steps are:

  1. Put the supplier cost next to each variant, matched by SKU, in a copy of a fresh Shopify export.
  2. Apply one formula to every row. In a spreadsheet, with the cost in column C, a 40% target margin is =ROUND(C2/(1-0.4),2) and a 40% markup is =ROUND(C2*(1+0.4),2).
  3. Compare the new prices with the current ones before importing anything. Look for large jumps, drops and prices below cost.

The guide to updating Shopify prices from a supplier CSV walks through the matching, review and import steps.

Supplier Update Guard does this in your browser. Choose Markup on unit cost or Target gross margin and enter the percentage. It calculates a price for every matched variant, rounds it to your currency’s precision and shows the cost and gross margin next to each proposed price. Rows below cost, or with a gross margin under 10%, need an individual decision before they can be approved. It then builds a Shopify import file and a rollback file, without uploading your files or connecting to your store.