Hide products from B2B or D2C

I would love to see Shopify add a way for me to hide B2B products from my retail customers natively from the backend. There are some products that are for B2B and D2C that I would not want to hide. And it would also be good to hide products from the B2B side as well in some cases.

You can actually do most of this today, it just lives in two places instead of one toggle.

To hide B2B-only products from retail: leave them out of the Online Store sales channel (Product > Sales channels, uncheck Online Store). They stay available to B2B because B2B buyers shop through catalogs, not the storefront publication.

For the reverse, hiding D2C products from B2B, control it at the catalog level. A B2B catalog only contains the products you add to it, so anything you leave out is invisible to that company. Products you want on both sides go in the catalog AND stay published to Online Store.

The one thing there is no clean native control for is per-customer-tag hiding on the retail side (different retail products for logged-in vs guest), that still needs a theme/liquid gate or an app.

Are your B2B buyers on company accounts already, or are you tagging regular customers as wholesale?

A workable split is B2B-only products out of the Online Store channel, D2C-only products out of the B2B catalog, then use customer-context logic in the theme for shared products. The shared items are the part Shopify doesn’t handle very cleanly from the backend alone.

Hi there,
You’re looking for a way to control product visibility for your B2B and retail customers. Shopify does offer some built-in features to help you with this, but there’s no native setting to hide B2B products from your retail customers.

One approach is to use customer tags to segment your customers. You can create separate tags for B2B and retail customers, then use the “Customer groups” feature in Shopify to restrict access to certain products or collections. This way, you can control which products are visible to each group of customers.

Another option is to use metafields to store a “visibility” flag for each product. You can then use a theme or app to display or hide products based on this flag, depending on the customer’s tag or group.

If you need a more comprehensive solution with a user-friendly interface, there are third-party apps available that can help you manage product visibility for different customer segments. For example, Quote Snap offers a feature to hide products from non-wholesale customers, which may be a good fit if you’re looking for a B2B-focused solution.

Before exploring any app solutions, I recommend taking a closer look at Shopify’s native features and theme customization options to see if they can meet your needs. If you have any specific questions about implementing these solutions, feel free to ask and I’ll do my best to help!

Hi @shopifyuser123
It’s only from Shopify it self, contact support