The Shopify Merchant's Guide to Cost-Based Pricing: From COGS to Retail Price
Learn how to build a cost-based pricing model on Shopify — from calculating true COGS to applying markup formulas that protect your margins at scale.
Pricing a product is one of the most consequential decisions in retail, and most Shopify merchants are doing it without a rigorous framework. They look at what competitors charge, add a rough markup that "feels right," and move on. The result is a catalog where margins vary wildly — some products generating 60% margin, others bleeding at 12% — without any deliberate intent behind the variance.
Cost-based pricing gives you a foundation: you start with what the product actually costs you, and build your retail price from there. This guide walks through the full process, from calculating true COGS to applying the right markup formula and maintaining consistency across a large catalog.
What True COGS Actually Includes
Cost of Goods Sold (COGS) is not just the wholesale price you paid. That's a common and expensive mistake.
True landed cost includes:
- •Product cost: the price on the supplier invoice
- •Inbound shipping / freight: what it costs to get the product from supplier to your warehouse
- •Import duties and tariffs: if you're importing from overseas, these can be significant — often 10–30% of product cost
- •Quality inspection fees: for overseas manufacturing, pre-shipment inspection typically costs $200–400 per shipment, allocated across units
- •Storage and handling fees: if your 3PL charges per-unit receiving and put-away fees, these belong in your unit cost
- •Customs brokerage fees: if you use a broker for customs clearance, allocate that cost per unit
- •Wholesale cost: $14.00
- •Inbound freight (allocated per unit): $1.20
- •Import duty (7%): $0.98
- •3PL receiving fee: $0.25
- •True landed cost: $16.43
Entering Accurate Cost Data in Shopify
Shopify's "Cost per item" field on each product variant is where this data lives. Go to the product page, open each variant, and enter the true landed cost (not just the invoice price).
For products with straightforward economics, this is a one-time setup. For products where costs vary by order (fluctuating freight, variable duties), you'll need to update periodically as your landed cost changes.
Best practice: update Shopify cost data every time you receive a new purchase order. When the invoice arrives and you can calculate the per-unit landed cost for that shipment, update Shopify before the inventory is received into stock. This keeps your margin data current and tied to actual costs rather than historical averages.
The Markup Formulas: Choosing the Right One for Your Business
With accurate cost data in hand, you can apply pricing formulas that generate consistent margins.
Markup-Based Formula
Price = Cost × Multiplier
Common multipliers and their resulting margins:
This is the most intuitive formula. The risk: merchants confuse "margin" and "markup." A 2× markup is a 100% markup but only a 50% gross margin. When people say "I want 50% margins," they usually need a 2× multiplier — not a 1.5× multiplier.
Margin-First Formula (More Precise)
Price = Cost ÷ (1 - Target Margin)
This formula directly targets your desired margin percentage:
- •30% target margin:
Cost ÷ 0.70 - •40% target margin:
Cost ÷ 0.60 - •50% target margin:
Cost ÷ 0.50 - •60% target margin:
Cost ÷ 0.40
- •At 40% target margin:
$16.43 ÷ 0.60 = $27.38→ price to $27.99 after rounding
Blended Formula (Most Practical)
Price = (Cost × Multiplier) + Fixed Amount
The fixed amount accounts for flat per-unit costs that don't scale with product value: payment processing, packaging, a portion of customer service overhead, or average shipping subsidy.
Example: if your payment processing and packaging cost you $2.50 per order on average:
Price = (Cost × 2.2) + $2.50
For a $16.43 cost item: ($16.43 × 2.2) + $2.50 = $38.65
This is more accurate than a pure multiplier for businesses with significant fixed per-unit costs.
Choosing Your Margin Target by Category
Not every product category should have the same margin target. Your pricing model should reflect the economics of each category.
High-margin categories (50–65%):
- •Apparel and fashion
- •Beauty and personal care
- •Specialty food and supplements
- •Digital / downloadable products
Mid-margin categories (35–50%):
- •Home goods and kitchen
- •Sports and fitness equipment
- •Pet products
- •Footwear
Lower-margin categories (20–35%):
- •Consumer electronics and accessories
- •Commodity goods (generic supplies, basic tools)
- •Price-sensitive categories with aggressive competition
Exception: clearance and liquidation (cost + minimal margin)
Products you're trying to move: price to cost × 1.1 to cost × 1.2. Recovering close to cost is better than holding inventory indefinitely.
Applying Pricing Formulas at Scale
The discipline of cost-based pricing only delivers consistent results if it's applied systematically — not product by product, but across your entire catalog and maintained over time.
The spreadsheet approach:
- Export your Shopify catalog as CSV.
- Ensure the
Variant Costcolumn is populated. - Add a calculated
New Pricecolumn with your formula:=B2/0.6for a 40% margin target. - Review for outliers (prices that seem too high, too low, or that violate MAP agreements).
- Re-import.
The tool-based approach:
Define your pricing formula once ("All active products in Footwear: cost ÷ 0.55"), and apply it with a click. When costs change, re-run the formula. The same logic runs every time, on the current cost data, producing consistent results.
Price Psychology: Adjusting Formula Outputs
Formula outputs are rarely the final retail price. You'll want to adjust for pricing psychology:
Charm pricing: prices ending in .99 or .95 consistently outperform round numbers in most product categories. Formula output of $27.38 → retail price $27.99.
Round price positioning: luxury and premium products often benefit from round numbers ($150, $200) rather than charm prices, which can read as "discount."
Tier separation: if you have products priced at $48, $49, and $51, consider whether collapsing to $49 and $55 creates cleaner price ladder logic.
MAP compliance: if your formula output falls below a supplier's Minimum Advertised Price, the MAP price wins. Your formula is a floor check, not a final price.
Maintaining Pricing Accuracy Over Time
Cost-based pricing only works if costs stay current. Three things erode pricing accuracy:
- Supplier cost changes: When your wholesale price changes, your COGS changes. Update Shopify cost data and re-run your pricing formula.
- Freight rate changes: Shipping costs fluctuate with carrier rates and fuel surcharges. Recalculate your per-unit freight allocation quarterly.
- Tariff changes: Import duties change with trade policy. If you're importing from countries subject to tariff adjustments, monitor and update accordingly.
BulkOps's Pricing Rules feature is built around this workflow. Define your formula, apply it to your catalog, and re-run it whenever costs change. The "No Cost Set" filter in the Product Health dashboard ensures you catch any products with missing cost data before they produce incorrect formula outputs. Together, these features make cost-based pricing a maintainable system rather than a one-time exercise.
---
Build a pricing model that actually protects your margins. Try BulkOps free and apply your first cost-based pricing formula today.
Try BulkOps free on your store
Everything covered in this article is built into BulkOps. Free plan for stores up to 50 products — no credit card required.
Add to Shopify — FreeWas this helpful?