How to track different inventory per variant on Shopify (combined listings)

Inventory per variant on Shopify works natively at the variant row level. Each variant has its own inventory count, its own committed quantity, its own reserved-for-orders bucket. That part is fine. Where things get harder: per-variant warehouse location, per-variant lead time, per-variant low-stock thresholds, per-variant vendor reorder workflows. These work cleanest when each variant is its own product (the combined listings architecture), because Shopify’s inventory features are mostly product-level rather than variant-level.
This post walks through how to track different inventory per variant on Shopify, when native variants are enough, and when combined listings give you a cleaner inventory architecture. We build Rubik Combined Listings, and operations-heavy stores often migrate to combined listings specifically for inventory clarity.
In this guide
- What native variants track
- How combined listings give cleaner inventory architecture
- Out-of-stock handling on the storefront
- Multi-location inventory
- Setup walkthrough
- FAQ
- Related reading
What native variants track
Each native Shopify variant carries its own inventory record per location. So if you have one product with 8 variants and 3 warehouse locations, that’s 24 inventory cells, each tracked independently.
What’s harder at the native variant level:
- Per-variant lead time (one variant ships in 5 days, another in 8 weeks made-to-order)
- Per-variant low-stock threshold for reorder alerts
- Per-variant vendor reorder workflow
- Per-variant pre-order or back-order rules
- Custom inventory metafields that work cleanly with apps
How combined listings give cleaner inventory architecture
With combined listings, each variant is its own product. So all the product-level inventory features become available per “variant”:
- Per-product lead time (set on the product, not the variant)
- Per-product low-stock threshold via metafield or app
- Per-product vendor field for reorder workflows
- Per-product pre-order/back-order configuration via apps like STOQ or PreProduct
- Per-product reporting in Shopify analytics

Out-of-stock handling on the storefront
Combined listings sync to Shopify metaobject references in real time. When a grouped product goes out of stock, you have configurable behavior:
- Hide: the swatch disappears from the group entirely. Customer doesn’t see the option exists.
- Strikethrough: swatch shows with a line through it; customer sees it exists but can’t add to cart.
- Back-in-stock indicator: swatch shows with a “back soon” tag; pair with a back-in-stock notification app.
- Pre-order: swatch shows with a “pre-order” tag; pair with a pre-order app to capture orders ahead.
For furniture stores with long lead times (made-to-order, 6-12 weeks), the pre-order pattern is common. The grouped product never actually goes out of stock; it just shifts to “ships in 6 weeks” status. The out-of-stock handling guide covers each pattern.
“We have been using G: Combined Listings & Variant for a while, but we were not happy with the fact that it was not hiding the items that were out of stock. So customers were getting confused a lot and ordering the wrong sizes. We found this app on Shopify App Store and decided to give a shot. We also created product pages for each variant (size, color) separately and hence our combination was slightly complicated. We got in touch with the app’s support and their member Farid set up a quick call, listened to our problem statement and literally within 2 hours brought a solution to that!!!”
Silkora, Netherlands, 2026-04-28, Rubik Combined Listings on the Shopify App Store
Multi-location inventory
Shopify supports multi-location inventory natively. Each grouped product can have inventory at multiple locations (warehouses, stores, fulfillment centers). The combined listings group is metadata; inventory operates at the product level.
For stores running 3PL setups (ShipBob, ShipHero, deliverr), each grouped product registers as a distinct SKU at the 3PL, which simplifies pick-and-pack workflows.
Setup walkthrough
- Split your variants into separate Shopify products. Each one tracks inventory at the product level.
- Set inventory levels per location for each grouped product.
- Install Rubik Combined Listings and group the products together.
- Configure out-of-stock behavior in the group’s visual settings (hide, strikethrough, or back-in-stock).
- Optional: connect a pre-order or back-in-stock notification app for products with long lead times.
See the live demo store, watch the tutorial video, or read the getting started guide.
FAQ
Can native Shopify variants track different inventory levels?
Yes. Each variant has its own per-location inventory count. Combined listings extend this with cleaner per-product features (lead time, vendor, low-stock thresholds).
Does the swatch hide automatically when a variant is out of stock?
Configurable per group. You can set: hide entirely, show with strikethrough, or show with a back-in-stock indicator. Real-time sync via Shopify metaobject references.
Will my 3PL integration work?
Yes. Each grouped product is a real Shopify product with its own SKU at the 3PL level. ShipBob, ShipHero, deliverr, and others see them as distinct SKUs.
How do I handle pre-orders for made-to-order variants?
Use a pre-order app (STOQ, PreProduct, Notify Me!) on the made-to-order variants. Combined listings will surface the pre-order tag on the swatch automatically.
Does this require Shopify Plus?
No. Rubik Combined Listings runs on every Shopify plan.
What about inventory at multiple locations?
Shopify natively supports multi-location inventory. Each grouped product carries inventory per location independently.