How to price a product: the five-decision procedure, with the math
How to price a product in five decisions: the landed-cost floor, the fee stack, margin by SKU role, sanity checks, and a promo test — with the full math.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
Pricing a product is five decisions made in order: which cost to price from, which fees sit between price and profit, how much margin the SKU's role justifies, whether the number survives contact with your category's reality, and whether your deepest planned discount still leaves money on the table. Most merchants make these in the wrong order — price first, from gut feel or a competitor's page, with cost never really entering — then discover the problem as a margin that doesn't survive its first promotion. Done in the right order, the exercise takes about ten minutes per SKU. Here's the procedure, with one product priced end-to-end.
One vocabulary note before the steps: this article sets the target in margin — profit as a share of selling price — because that's what your P&L and Shopify's reports speak. If you think in markup, or the two have blurred together in your shop, margin vs markup owns the definitions and the conversion table; this article won't re-teach them.
Decision 1: price from the real floor — landed cost, not invoice cost
The invoice is what the supplier charged you. It is not what the unit cost you. For anything imported, freight, duties, and insurance ride along, and they're allocated per unit — that total is landed cost, and it's the floor your price has to clear. Pricing from invoice cost quietly bills the freight to your margin. The landed cost formula gives the full build; the working version:
Landed cost per unit = (goods cost + freight + duties + insurance) ÷ units
Fully-loaded cost goes one step further and adds what each unit costs you to receive, pick, and pack, plus the payment fees in the next section. Use landed cost as the pricing floor and fully-loaded cost as the honesty check — a SKU can clear landed cost and still lose money once labor and fees are counted.
The gap between invoice and landed is small per unit and enormous per year. An invoice cost of $5.30 with $1.10 of allocated freight and duty is a 21% understatement of the real floor — invisible on one order, but across 4,000 units a year, that's $4,400 of cost the price was never asked to cover. Domestic goods bought ex-warehouse have the same exposure in a smaller form: the carton, the label, and the trip from the dock to the shelf all cost something, and none of it appears on the invoice.
Decision 2: know your fee stack
Payment processing is the fee merchants most often forget to price in, and it's plan-dependent. As of October 2026, per shopify.com/pricing:
- When Shopify Payments is your sole provider, there are no third-party transaction fees.
- When it is not, third-party-processed transactions incur plan-based transaction fees:
| Plan | Third-party-processed transaction fee |
|---|---|
| Basic | 2% |
| Grow | 1% |
| Advanced | 0.6% |
| Plus | 0.2% |
Card rates vary by plan and market, so pull your effective rate from a recent payout rather than assuming a headline number. For pricing purposes, what the sanity checks below need is one working estimate of "everything between checkout and your bank" — card processing plus any plan-based fee. The honest version of that number is whatever your last payout statement implies; an estimated ~3% all-in fee stack is a workable planning figure for a domestic sub-$20 catalog, labeled as an estimate and replaced with your real one when you have it.
Decision 3: the margin, by SKU role
Not every SKU deserves the same margin, and pretending otherwise overprices heroes and underprices add-ons. Three rough roles:
| Role | Examples | Margin posture |
|---|---|---|
| Hero / anchor | The product people search for and compare | Competitive — priced against the market, not for maximum percentage |
| Add-on / impulse | Small complements bought at checkout | Higher — conversion happens on the page, not a comparison tab |
| Tail / long-tail | Slow, niche, or seasonal stragglers | Highest, or an exit plan — thin volume must earn its shelf space |
The hero's job is to win the click; the add-on's job is to raise order value. Set the margin target per role before touching any prices, and the pricing arithmetic in the worked example below becomes mechanical.
Decision 4: the two sanity checks
Keystone reality. Doubling cost — a 50% margin — is the retail habit, and some categories support it. Others don't: commodity accessories sold next to near-identical listings can't carry it, while genuinely differentiated goods can carry much more. Check your category once — a page of competitor prices for your closest comparable — and don't re-litigate it SKU by SKU.
The discount floor. Whatever your deepest planned promotion is — the Black Friday number, the anniversary sale, the welcome code you'll run forever — the discounted price must still clear landed cost plus fees:
Discount floor = landed cost + fees at the discounted price
If the deepest planned promo breaches that line, either the promo depth or the list price has to move. Better to learn that in a spreadsheet than in a payout report.
The procedure on one SKU: hiking socks
All figures illustrative. The product: a merino-blend hiking sock, sold as a pair.
Cost base. The invoice says $5.30. Allocated freight and duty add $1.10. Landed cost: 5.30 + 1.10 = $6.40. (Pick/pack would push it higher; it's folded into the fee estimate below to keep the arithmetic visible.)
Target margin, by role. Hiking socks sit in a crowded category — price matters at the click. Target: 55% margin.
Price. Price = landed cost ÷ (1 − margin) = 6.40 ÷ 0.45 = $14.22. Round to a price point: $14.99. Actual margin at $14.99: (14.99 − 6.40) ÷ 14.99 = 8.59 ÷ 14.99 = 57.3% — the rounding bought you 2.3 points.
Fee stack. Estimated 3% of revenue for payment processing: at full price, 0.03 × 14.99 = $0.45. Unit economics at list price: 14.99 − 6.40 − 0.45 = $8.14 contribution, a 54.3% margin after fees.
The promo test. Your calendar carries a 20% sitewide sale every November. Promo price: 14.99 × 0.80 = $11.99. Fees on the discounted price: 0.03 × 11.99 ≈ $0.36. Unit contribution:
11.99 − 6.40 − 0.36 = $5.23
Contribution margin: 5.23 ÷ 11.99 = 43.6%. So the headline 57% margin at list price compresses to 44% once the promo and the fee stack are both inside. That's a real cut and still comfortably solvent — the verdict the test exists to produce.
The floor. Fees scale with price, so the true floor solves price = landed ÷ (1 − fee rate): 6.40 ÷ 0.97 = $6.60. Above it, every sale covers landed cost plus fees; below it, every sale funds the customer. The 20% promo sits $5.39 above the floor. Had the planned promo been 50% off, the price would be $7.49 — inside the $6.60 floor only by $0.89 of contribution.50, fees $0.23, contribution 7.50 − 6.40 − 0.23 = $0.87 — technically solvent, practically a rounding error, and a signal to rethink either the promo depth or the SKU's role in the catalog.
Where merchants skip steps, and what it costs
Each skipped decision has a signature failure. A quick map, so you know which one you're wearing:
| Skipped step | The signature failure | Where the pain surfaces |
|---|---|---|
| Landed cost | Freight gets billed to margin instead of price | Every imported SKU runs a few points below plan |
| Fee stack | Processing fees surprise at payout time | "The margin was there on paper" |
| Role | One uniform margin across the catalog | Heroes lose the click; add-ons give money away |
| Discount floor | The promo prices below cost | A great sale month that made nothing |
| Re-pricing | Stale prices after cost letters | Slow margin bleed nobody can date |
None of these failures announce themselves at the moment of the mistake — pricing errors are patient. The table is also the argument for doing the decisions in order rather than in bulk: each step is cheap on its own, and the cost of skipping shows up somewhere else, later, unattributed.
When to re-price
The price was built from inputs. When an input moves, the price is stale, and the five decisions get re-run rather than patched by feel:
- The supplier moves. A cost letter is the most common trigger, and it deserves more than a uniform repricing — the supplier price increase playbook covers verify-decide-respond per SKU.
- Freight or duty changes. Anything that moves landed cost, including a new shipping lane or tariff line.
- Fees change. Plan shifts move the third-party transaction fee (2% on Basic down to 0.2% on Plus, as of October 2026); recheck the stack whenever your plan changes.
- The promo calendar changes. A deeper planned sale than last year invalidates last year's floor test.
- Quarterly, regardless. Costs creep in small steps; a quarterly pass catches the accumulation before the P&L does.
After repricing, read the result SKU by SKU rather than in aggregate — the per-SKU margin readout is where a change that helped the store but hurt a hero shows itself.
Common questions
How do I calculate a selling price from cost and target margin? Price = cost ÷ (1 − target margin). With a $6.40 landed cost and a 55% target: 6.40 ÷ 0.45 = $14.22. If you think in markup, convert the target to a markup first — the two percentages are not interchangeable, and using one where the other was meant is the classic pricing error.
What is a good markup for a new product? There's no universal number; it depends on the SKU's role and the category's going rate. Keystone — a 100% markup, a 50% margin — is the traditional baseline and a reasonable starting hypothesis, then checked against competitor prices and your fee stack before it becomes the actual price.
Should I price from invoice cost or landed cost? Landed cost, for anything imported or shipped at your expense. Invoice cost omits freight and duty, so pricing from it bills those costs to margin instead of to the price. The gap is small per unit and large across a year of volume.
What fees should be included when pricing a product? Payment processing at minimum — card rates vary by plan and market, and when Shopify Payments isn't your sole provider, third-party-processed transactions add plan-based fees (2% on Basic, 1% on Grow, 0.6% on Advanced, 0.2% on Plus, as of October 2026). Pick/pack labor and packaging belong in a fully-loaded check on top.
How often should product prices be reviewed? Whenever a cost input moves — supplier price, freight, duty, platform fees, or the promo calendar — and at least quarterly otherwise. Cost creep arrives in small steps, and a quarterly pass through the five decisions catches the accumulated drift before it shows up in the P&L.
Next step
Run the procedure once this week on your single best-selling SKU: landed cost, fee stack from a real payout, role, price, promo test. It takes about ten minutes with a supplier invoice and a payout statement open, and the two numbers it produces — your real floor and your promo-safe price — are reusable on every other SKU you carry. If the question is a launch or a line cut rather than a price tag, break-even per product is the math that answers it.