Is it possible to temporarily hide or suspend a variant?
I run a made to order business so I don’t track inventory. Lots of products are available with the same variants. (size and colour) if a colour is temporarily out of stock, I would like to hide the colour. At the moment, I would have to do this by going to each product and removing the colour.
That helps a little! Then I don’t need to delete the colour, unpublishing it makes so much more sense.
The only thing I could figure out was how to do that in bulk.
If I have 10 items, with 5 sizes and 5 colours. Doing a bulk edit means I would have to scroll through a list of 250 lines to find all the “red” ones that are unavailable and check off.
But unpublishing per product is a good start thanks
We can add a setting in the Theme Customizer such as Hide unavailable/out-of-stock colour variants with an ON/OFF option.
When a colour is unavailable, it would simply be hidden from the colour swatches on the product page instead of deleting or unpublishing the variant. This keeps the variant data intact and allows the colour to be shown again when it becomes available.
Fair, 250 rows is rough, and the bulk editor won’t filter down to one color
2 ways to make it less painful:
Sort the inventory list by the color option first, then open the bulk editor. all the Red rows sit together instead of scattered, so you’re editing one block, not hunting
Or go through CSV. export your products, flip the published / sales-channel column for the color you want gone, re-import. Shopify itself points to CSV for the bigger changes, and it’s the fastest when a color goes on and off a lot
And devcoders’ idea is solid too if this happens often. hiding the unavailable color in the theme (a swatch that greys out) keeps the product live and just drops the one option, no per-variant editing at all. more setup up front, but then it’s automatic
For a made-to-order shop that toggles colors a lot, i’d lean theme-side for the repeat cases and keep unpublishing for the odd one-off
One CSV caveat: Shopify’s native product CSV treats Status/Published at the product (Handle) level, not as a per-variant switch. For a safe test:
Products → Export → all products as CSV.
In Excel/Sheets, filter Option1 Value and Option2 Value for the colour (for example, Red), but keep every row for each matching Handle.
Keep Status/Published consistent across all rows for that Handle (Published=TRUE if the product should stay live). Setting Published=FALSE hides the whole product, not just Red.
Re-import one Handle first and verify it. Then use the bulk editor’s variant publishing column for the Red rows; the CSV is useful for finding the products, but cannot safely unpublish only one variant.
Use the filter to filter your color. This will bring up only products that have that color. Then select all, bulk edit. Choose columns, Sales Channels. Collapse the Products. Then expand and find that product’s variant, double click on Sales Channels, uncheck the channel you want to exclude for that variant. This is very easy, especially for only 10 or less products.
Note - unpublishing a variant may not hide its variant selector button/swatch on the product page. If it’s a multi-option product, most likely the theme will cross it out because it sees only available and unavailable. You may have to unpublish all variants of a particular option in order for the theme to actually hide it.
yeah, this is where Shopify’s variant setup gets annoying. there isn’t really a native “temporarily disable this variant everywhere” switch that lets you hide, say, the blue colour across every product without editing each product individually.
if you’re not tracking inventory because everything is made to order, i’d look at using an app that can manage variant availability globally, or handle the availability logic in the theme so a colour can be marked unavailable without deleting it from every product. deleting the variant isn’t ideal anyway because you’re changing the product data just to reflect a temporary supply issue, and you’d have to recreate it later.
For a made-to-order store, I can see why removing a color from every product individually would become frustrating, especially when the same color is used across a large catalog.
Rather than deleting the variant each time, one approach is to manage the customer-facing options separately from your Shopify inventory. That way, when a particular color is temporarily unavailable, you can stop customers from selecting it without having to rebuild the variants across all your products.
For example, Easify Custom Product Options lets you create reusable option sets for things like Color and Size. You can manage the options in one place and control which choices are presented to customers, which can be more convenient for a made-to-order setup.
If you’re using the same Color/Size options across many products, this can also save you from making the same changes repeatedly on individual product pages.
The important distinction is that this approach controls the options customers can select, rather than changing your underlying Shopify inventory. So when a color becomes available again, you can make it selectable without having to recreate the whole setup.
It would be worth checking how your current variants are structured, though, because if these are native Shopify variants and you need to completely disable those variants at the backend level, the solution would be different.
Yes, I’ve actually run into this exact issue with my store. Since I also work with made-to-order products, I don’t really want to manage inventory just to temporarily disable a colour.
What I’ve found is that the easiest solution is to hide/disable the specific variant rather than removing it from every product individually. That way, when the colour becomes available again, you can simply reactivate it without having to rebuild all those product options.
Has anyone found a good Shopify app or built-in way to disable a variant across multiple products at once? That would save a ton of time compared with editing every product individually.