You walk through your warehouse and count: 240 SKUs that haven’t sold in 60 days. The total cost basis is $42,000. You’ve already tried “20% off everything.” Half of it sold. The other half stayed put. And your margin took a hit on the half that would have sold anyway.
That’s the dead-stock trap. A volume promotion clears some inventory but cannibalizes the inventory that was going to sell at full price. The slow stock that sits is exactly the stock that needs a different tactic. We’ve seen this pattern across the 78,000+ stores using our Shopify themes, and it follows the same shape almost every time.
This guide compares the five strategies that actually work for clearing dead stock on Shopify, with explicit “use this when” criteria for each. Pick the one that fits the inventory you’re holding, not the one that fits a generic playbook.
What counts as dead stock on Shopify?
Dead stock is inventory that has stopped moving fast enough to recover its working-capital cost. The threshold varies by category, but the working definitions most operators use:
- Slow stock: a SKU at less than 50% of its category’s average sell-through rate.
- Dead stock: a SKU with zero sales in the past 60 to 90 days (longer for premium or seasonal categories).
- Terminal stock: a discontinued or end-of-life SKU you will not restock.
Three different problems. Three different strategies. Don’t lump them together.
Pull a quick dead-stock report from Shopify Admin, Reports, Inventory, “Days of inventory remaining.” Anything past 90 days is the candidate pool.
The 5 strategies, compared
| Strategy | Recovers | Speed | Effort | Use when |
|---|---|---|---|---|
| Rules-based markdowns | 60-80% of cost | 30-60 days | Low (after setup) | Slow stock with margin headroom |
| Bundling / GWP | 70-90% of cost | 7-30 days | Medium | Mid-margin SKUs you can pair |
| Liquidation marketplaces | 10-30% of cost | 7-14 days | Low | Terminal stock, large volumes |
| B2B / wholesale outlet | 30-50% of cost | 14-30 days | Medium-high | Branded products with channel demand |
| Charitable donation | 0% (tax deduction) | Immediate | Low | Items below liquidation floor |
1. Rules-based markdowns
Drop the price only after a SKU has gone N days without a sale, and only down to a margin floor. This is the highest-recovery strategy for slow stock with any margin headroom left.
The version that works:
- Trigger by velocity, not calendar date. The clock resets when the SKU sells.
- Apply rules per collection, not sitewide. Different categories have different baselines.
- Set a floor formula (
cost × 1.10for everyday items,cost × 1.05for terminal stock). Never sell below it.
Auto Markdown implements exactly this pattern: velocity-triggered drops, per-collection rules, and a hard margin floor that never lets a markdown breach your unit economics. For the implementation deep-dive (per-collection N values, three category recipes, common-mistake list), see the Shopify automated markdowns playbook.
Use this when: the SKU has at least 20% gross margin headroom and isn’t categorically wrong (a winter coat in May).
Don’t use this when: the SKU is terminal (discontinued with no margin left), or your category is so price-elastic that markdowns alone won’t move it.
2. Bundling and gift-with-purchase
Pair the slow SKU with a fast one. The fast SKU does the work of moving the bundle; the slow SKU rides along. This recovers more cost than a markdown because the customer is paying for the bundle, not for a discount.
Two structural patterns:
- Bundle: “Buy A and B together for $X” where X is roughly full A plus half B.
- Gift with purchase: “Free B with any A over $Y.” B costs you nothing more, A’s average order value goes up.
Use this when: you have a fast-moving anchor SKU and a slow SKU that’s tonally compatible (same season, same customer, same use case).
Don’t use this when: there’s no anchor SKU available, or the slow SKU is actively bad and would damage perception of the bundle partner.
3. Liquidation marketplaces
Sell the inventory wholesale to a liquidator. B-Stock, Liquidation.com, Direct Liquidation, plus Shopify-friendly platforms like Ghost Commerce. Recovery is low (10 to 30% of cost), but it’s fast and the inventory leaves your warehouse permanently.
The merchant signs a B2B sale agreement, picks a pallet-or-truckload format, and the liquidator handles the rest.
Use this when: terminal stock, dead stock you’ve already marked down to floor, or volumes too large to clear through retail. Fashion overruns and electronics generations are the classic categories.
Don’t use this when: brand control matters and the liquidator will dump the inventory on Amazon undercutting your retail price. Read the resale terms before signing.
4. B2B and wholesale outlet
Open a wholesale or outlet channel that sells to other businesses or brand-conscious bargain hunters. Recovers 30 to 50% of cost, takes longer than a marketplace dump, and preserves brand integrity if structured right.
Three formats that work on Shopify:
- A separate outlet store on a different domain (yourbrand-outlet.com), running a bare-bones theme with markdown pricing.
- A Shopify Plus B2B portal exposed to vetted partners only, with hidden catalog access.
- A personalized outreach list sent to past wholesale customers as a curated shoppable URL. CurateList handles this on Shopify.
Use this when: branded inventory with channel demand, and you have the operational capacity for a second channel.
Don’t use this when: you’re a small operation and the second-channel overhead exceeds the recovery.
5. Charitable donation (and the tax write-off)
US merchants can deduct donated inventory under IRS Section 170. C-corps qualify for an enhanced deduction up to twice the cost basis. Good360, Feeding America, and local chapters of organizations like the Salvation Army handle pickup at scale. International equivalents exist in most major markets.
You recover zero cash but offset taxable income, and the inventory exits the warehouse instantly. For categories where the alternative is a write-off anyway, the donation deduction beats $0.
Use this when: terminal stock below a sensible liquidation floor, or product categories with strong nonprofit demand (apparel, household goods, books).
Don’t use this when: the products are damaged or expired (they don’t qualify), or you don’t have the C-corp tax structure to capture the enhanced deduction.
What NOT to do with dead stock
These are the patterns that look like dead-stock strategies but aren’t:
- Sitewide “20% off everything” sales. They subsidize bestsellers that didn’t need a discount, and they train customers to wait for the next promo. Conversion at full price drops permanently.
- Permanent markdowns hidden in the product description. If the strikethrough isn’t visible, the discount doesn’t drive conversion. You’re just selling cheaper.
- Stacking automatic markdowns with promo codes. The compounded discount blows through your floor and you don’t notice until the report. Either disable stacking or include stacked discounts in the floor formula.
- Holding forever waiting for demand to return. Working capital has a cost. A SKU sitting for 12 months at zero velocity is more expensive than a 50% markdown today.
Pick the strategy by inventory type
A quick decision flow:
- Is the SKU terminal (discontinued, won’t restock)? With margin: rules-based markdown, aggressive cycle, thin floor. Without margin: liquidation marketplace or charitable donation.
- Does the SKU have margin headroom and you’d restock if demand returned? With a fast-moving anchor SKU available: bundle or GWP. Without an anchor: rules-based markdown.
- Do you have brand-conscious B2B demand? Yes: wholesale outlet. No: skip.
- Is the SKU below liquidation floor and won’t qualify for donation? Yes: write-off (the actual last resort).
Most stores end up running two or three strategies in parallel. That’s fine. The point is matching tactic to inventory type, not picking one tactic for everything.
FAQ
How do you write off dead stock on Shopify?
Shopify itself doesn’t post the journal entry. Adjust the inventory quantity to zero (or move it to a “damaged” location) inside Shopify, then book a write-down in your accounting system against an inventory-loss account. For US merchants, write-offs of unsold inventory are deductible against ordinary income at cost.
What is an acceptable dead-stock percentage?
The rough industry benchmark is 5% of total inventory by cost for healthy retail and ecommerce operations. Above 10% signals upstream problems (over-buying, weak demand forecasting, or pricing misalignment). Track it monthly, not yearly.
What’s the difference between dead stock and slow stock?
Slow stock still sells, just below the category’s normal velocity. Dead stock has stopped selling entirely, typically 60 to 90 days without a transaction. Slow stock responds to markdowns. Dead stock often needs a different channel.
Will marking down hurt my brand?
Visible, time-bound markdowns (“end-of-season sale”, “last 12 units”) don’t hurt brand perception. Permanent low-key discounting and unscheduled sitewide sales do. The brand-safe approach is rules-based markdowns with a clear strikethrough and a defined floor.
Can Shopify automate dead-stock pricing?
Shopify’s native tools handle scheduled sales and percent-off codes, not velocity-triggered rules with floor protection. Rules-based markdown apps like Auto Markdown cover that gap.
How fast should dead stock clear after I start?
Bundles and liquidation move in 7 to 30 days. Rules-based markdowns work over 30 to 60 days as the cycle compounds. Donation is immediate. Track sell-through rate weekly during the campaign so you can shift strategy if a SKU resists the first tactic.
Put your dead-stock strategy on rules
Most stores don’t need a more aggressive sitewide sale. They need a system that handles slow stock differently from terminal stock differently from bestsellers. Automatically. Every day. Without weekend warehouse audits.
Auto Markdown covers the markdown layer of that system. The rules run themselves, the floor protects your margin, and the timer resets when products move.