Operators at $500K GMV are often running contribution margins of 8–12% while believing they operate at 45–55% gross margin. The gap is not accounting error. It is a structural failure in how eCommerce pricing is calculated — one that compounds with every discount, every promotional campaign, and every rate negotiation that touches the wrong number.
The mechanism is straightforward: cost-plus pricing captures product cost and a target markup. It does not capture the full variable cost stack that attaches to every order. That stack — CAC allocation, return rate friction, payment processing variance, and fulfillment volatility — raises the true price floor by 25–40% above what most operators calculate. Pricing below that floor means every unit sold destroys contribution margin, even when the gross margin percentage looks healthy.
The Default Assumption and Why It Fails
The standard eCommerce pricing model starts with cost of goods (COGS), applies a target gross margin percentage, and treats the resulting number as the floor. A product that costs $18 to manufacture, with a 55% gross margin target, prices at $40. The math is correct. The model is wrong.
Gross margin covers one input: what you paid to make or buy the product. It does not cover what you paid to sell it, fulfill it, process the payment for it, or absorb the cost when 15% of customers return it. These costs are variable — they move with revenue — which means they belong in pricing decisions, not in a separate P&L category that gets reviewed quarterly.
The failure compounds because operators benchmark their pricing against competitors using publicly visible retail prices. If a competitor sells a comparable product at $42, pricing at $40 feels disciplined. What you cannot see is whether that competitor has a 3% return rate versus your 18%, a negotiated processing rate of 1.9% versus your 2.9%, or a CAC of $8 versus your $24. The surface price comparison obscures a $16 structural cost difference per order.
What the Decision Actually Hinges On
Gross Margin Is a Starting Point, Not a Destination
Gross margin answers one question: how much revenue remains after product cost? For a $40 product with $18 COGS, gross margin is $22 — 55%. That $22 must fund everything else: marketing, fulfillment, payment processing, returns, platform fees, and overhead. The mistake is treating the 55% as a measure of profitability rather than as the raw material from which profitability must be carved.
Operators who understand this distinction price against contribution margin targets, not gross margin targets. Contribution margin is what remains after all variable costs are deducted from revenue. The target depends on your business model — subscription-driven businesses can survive on 15% contribution margins because LTV absorbs acquisition costs; pure transactional models need 25–35% to generate sustainable operating income.
Customer Acquisition Cost Allocation Per Order
CAC is almost universally tracked as a marketing metric, not a pricing input. That categorization is incorrect for operators with low repeat purchase rates. If your average customer places 1.4 orders before churning, and your blended CAC is $28, then $20 of acquisition cost attaches to every order ($28 ÷ 1.4). A product priced at $40 with $22 gross margin now has $2 of contribution margin before fulfillment, processing, and returns are counted.
The calculation changes for high-LTV businesses. At 4.2 orders per customer lifetime, the same $28 CAC allocates $6.67 per order — manageable. The pricing implication is that identical products at identical price points produce radically different contribution margins depending on repeat purchase behavior. Operators who do not segment their pricing logic by customer cohort are averaging across customers with wildly different economics.
The Cost Nobody Allocates: Return Rate Friction
Return rate is the variable cost most operators track without pricing against. A 15% return rate on a $40 product creates a cost structure that most accounting systems obscure. Consider the full return cost stack: return shipping (typically $6–$9 for sub-1-lb products), restocking labor ($2–$4 per unit at most 3PLs), inventory write-down for units that cannot be resold at full price (industry average: 30% of returned units are sold at discount or destroyed (IHL Group, "Retail's $1.75 Trillion Inventory Distortion Problem", 2023)), and the customer service interaction that precedes most returns (0.5–1.2 agent minutes per return at $0.15–$0.40 per minute fully loaded).
On a $40 product with 15% return rate, the blended per-unit return cost — allocating across all units sold — is $2.40–$3.80. That cost is not in COGS. It is not in fulfillment line items as typically reported. It sits in a diffuse combination of reverse logistics, warehouse labor, and inventory adjustments. The operator sees compressed margin but cannot identify the source.
The Cost Reality
Step 1: Map Your True Variable Cost Stack
A worked example clarifies the damage. Take a $40 product with the following inputs:
- Unit cost (COGS): $18.00
- Gross margin: $22.00 (55%)
- Blended CAC: $28, average 1.6 orders per customer lifetime
- Return rate: 15%
- Payment processing: 2.9% + $0.30 per transaction (Shopify Payments standard rate) (Shopify Payments, official rate — shopify.com/payments, 2024)
- Fulfillment cost: $6.80 per order (pick, pack, ship — standard DTC weight tier) (ShipBob 2024 Fulfillment Pricing — shipbob.com/pricing)
- Platform fee (Shopify Basic): $0.58 per order at $40 average order value ($29/month ÷ ~50 orders/month)
Step 1: Gross Margin
Revenue: $40.00 COGS: $18.00 Gross margin: $22.00 (55%)
Step 2: Deduct Payment Processing
Processing cost: ($40 × 2.9%) + $0.30 = $1.46 + $0.30 = $1.76 Margin after processing: $20.24 (50.6%)
Step 3: Deduct Fulfillment
Fulfillment: $6.80 Margin after fulfillment: $13.44 (33.6%)
Step 4: Deduct Return Rate Friction
Return cost per unit sold (15% rate × $9.20 blended per-return cost): $1.38 Margin after returns: $12.06 (30.2%)
Step 5: Deduct CAC Allocation
CAC per order ($28 ÷ 1.6): $17.50 Margin after CAC: -$5.44 (-13.6%)
Step 6: Platform and Miscellaneous Fees
Platform fee per order: $0.58 Contribution margin: -$6.02 (-15.1%)
At $40, this product destroys margin on every sale. The gross margin of 55% — which feels healthy — masks a contribution margin of negative 15%. Every promotional discount applied to this product accelerates the destruction. A 20% off promotion drops revenue to $32 while fixed COGS and semi-fixed variable costs remain constant, widening the contribution loss to approximately -$10.40 per unit.
Naive Cost-Plus vs True Price Floor
| Cost Component | Naive Cost-Plus Model | True Price Floor Model | |---|---|---| | COGS | $18.00 | $18.00 | | Target gross margin (55%) | $22.00 markup to $40 | — | | Payment processing | Not priced in | $1.76 | | Fulfillment | Not priced in | $6.80 | | Return rate friction | Not priced in | $1.38 | | CAC allocation (1.6x LTV) | Not priced in | $17.50 | | Platform fees | Not priced in | $0.58 | | Required price for 20% CM target | $40.00 | $57.53 | | Actual contribution margin at $40 | Assumed ~55% | -15.1% |
The true price floor — the price at which this product generates a 20% contribution margin — is $57.53, not $40. The 44% pricing gap is not rounding error. It is the structural consequence of building pricing against an incomplete cost model.
The Trade-Off Map
Option A: Reprice to True Floor
Raising price to $55–$58 closes the contribution margin gap but introduces competitive displacement risk. The correct test is price elasticity specific to your SKU, not category-level elasticity averages. Run a 4-week A/B test at $47 and $54 against the current $40 baseline with conversion rate as primary metric and contribution margin per visitor as secondary. Most operators discover that conversion rate falls 8–15% at a $14 price increase — which, at positive contribution margins, improves profitability per visitor even with lower order volume.
The risk is channel-specific. On Amazon, where price comparison is a primary decision input, repricing above category comps creates search ranking deterioration. On a branded DTC site, where purchase intent is already filtered, price sensitivity is materially lower. The pricing decision should not be uniform across channels.
Option B: Reduce Variable Costs to Make $40 Viable
If repricing above market rate is structurally impossible, the alternative is attacking each variable cost component. Fulfillment cost reduction of $1.50 per order (achievable by switching from single-zone to optimized multi-zone 3PL placement) adds 3.75 percentage points of contribution margin. Return rate reduction from 15% to 9% (achievable through improved product imagery, size guides, and pre-purchase fit confirmation flows) saves $0.83 per unit. Processing rate reduction from 2.9% to 2.2% (Shopify Plus rate or Stripe negotiated rate at $1M+ volume) saves $0.28 per unit. Combined: approximately $2.61 per unit improvement, moving contribution margin from -15.1% to -8.6%. Still negative, but closing.
Meaningful cost reduction requires 18–24 months of operational negotiation and optimization. It is not a Q2 initiative.
Option C: Bundle to Shift the Unit Economics
Bundling changes the unit economics by spreading fixed-per-order costs (fulfillment, processing base fee, platform allocation) across a higher revenue base. If the $40 product is sold in a $75 bundle with a $12-cost complementary item, the contribution margin calculation improves materially: COGS rises to $30 (+$12), but revenue rises to $75 (+$35). Processing cost rises to $2.48 (not $3.50 — the $0.30 fixed element does not scale). Fulfillment may rise by $1.20 for added weight. Net effect: contribution margin at $75 bundle is approximately +7.2% assuming the same CAC allocation. Still thin, but positive.
When to Act
Three observable triggers indicate pricing requires structural correction immediately rather than at the next quarterly review.
Signal 1: Your Return Rate Exceeds 15%
First: contribution margin is below 18% and trending downward over three consecutive months while gross margin remains above 40%. This pattern — stable gross margin, declining contribution margin — is the exact signature of variable cost inflation that cost-plus pricing cannot absorb.
Signal 2: You Haven't Raised Prices in 12+ Months
Second: average order discount rate exceeds 12%. At this level, promotional activity is mechanically destroying contribution margin on already-thin pricing. The first intervention is not a new promotional strategy — it is calculating the true price floor and establishing a promotional floor below which no discount is authorized.
Signal 3: Your Ad Spend Is Rising but Margin Is Flat
Third: customer acquisition cost has increased more than 15% year-over-year without a corresponding increase in average order value or repeat purchase rate. CAC inflation is the fastest route from healthy gross margin to negative contribution margin, because it inflates the largest variable cost component with no offsetting revenue improvement.
What Operators Get Wrong Most Often
Error 1: Treating Discounts as a Demand Lever
The most common error is treating discounting as a demand lever without modeling its contribution margin impact. A 15% off promotion feels like a traffic and conversion tool. At accurate contribution margins, it is often a mechanism for accelerating losses. The operator who discounts a product already priced below true floor is not buying customers — they are paying to acquire losses.
Error 2: Averaging Return Rates Across All SKUs
The second error is averaging return rates across all SKUs. Return rates vary 3x–8x within a single catalog by category and product type. A 12% blended return rate may consist of 4% on consumables and 28% on apparel. Pricing the apparel SKU as if it carries a 12% return cost underestimates return friction by 57%. Every SKU requires a return-rate-adjusted price floor, not a catalog average.
The third error is failing to recalculate price floors when input costs change. Operators who set prices annually and renegotiate supplier costs quarterly are operating with a price floor that drifts further from reality every quarter. A 10% increase in fulfillment costs — standard in the 2022–2024 3PL repricing cycle — adds $0.68 per order for a typical DTC product. That cost must flow through to pricing or it flows through to margin destruction.
Pricing is not a positioning decision. It is a math problem, and most eCommerce operators are solving it with an incomplete equation.
This week: build a contribution margin calculator for your three highest-revenue SKUs using the cost stack above — COGS, processing, fulfillment, return allocation, and CAC per order. If any SKU shows contribution margin below 15%, that product is mispriced, and every unit you sell at the current price is a subsidy you are paying to your customers.



