A Shopify Plus merchant is running a dual B2B/B2C store where wholesale and retail customers share the same product catalog but have different pricing. The issue: wholesale-specific products and collections remain visible to retail customers on collection pages, even though access is restricted upon clicking.
Current setup:
Smart Product Filter & Search app for filtering
Wholesale Gorilla app for wholesale functionality
Locksmith app tested but doesn’t hide products at the collection level as needed
Proposed solutions:
One user successfully resolved a similar issue using BSS B2B/Wholesale Solution (for pricing control) combined with BSS B2B Lock (to completely hide collections/products from specific customer segments). They report this setup has worked reliably for over two years.
Another commenter recommends the Sami B2B Lock and Sami B2B Wholesale Pricing app combination, which hides items based on customer tags and integrates locking with pricing management.
Status: The discussion remains open with no confirmed resolution from the original poster.
Summarized with AI on October 28.
AI used: claude-sonnet-4-5-20250929.
I’ve developed a Shopify store that serves both wholesale and retail customers. All products and collections are shared between the two, with the primary difference being pricing. However, there are a few collections that are specific to wholesalers.
I’m using the Smart Product Filter & Search app for filtering and the Wholesale Gorilla app for handling wholesale functionality.
Here’s the problem: when a retail customer views a collection page, they’re still able to see the wholesale products and collections. Although they’re restricted from accessing the wholesale products once they click on them, the products are still visible in the collection list. I would like these wholesale-specific products to be completely hidden from retail customers on the collection pages.
I’ve also tried the Locksmith app, but it’s not working the way I need it to—specifically, I want wholesale products to be hidden from retail customers at the collection level.
Has anyone encountered a similar issue or have recommendations on how to fully hide wholesale products from retailers?
Yo I ran into the exact same problem a while back.
So my store also does both B2B and B2C—same products, different pricing—and at first I was just using the BSS B2B/Wholesale Solution app to control prices. It was actually pretty solid: their support helped me set it so that only customers with a specific tag or email would see wholesale pricing. Everyone else, even if logged in, would just see normal prices. Smooth.
But then like 6 months later, I launched this Christmas collection that was only for regular customers, and I didn’t want my wholesale buyers seeing it at all. I hit up the BSS team again and they told me to add their other app—B2B Lock. It’s in the same ecosystem so setup was painless. They configured it so that the collection page and products were completely hidden from B2B users. Not just locked—invisible.
Been using that setup ever since, two Christmases in, and it just works. Zero drama.
So yeah, might be worth giving the BSS combo a shot if you haven’t yet. Their support’s actually super responsive too, which is rare these days.
To completely hide wholesale-only products or collections from retail customers, I recommend using these two apps together:
Sami B2B Lock, Password protect – Hide specific products or collections based on customer tags (like “wholesale”), login status, etc. Hidden items won’t show up in collections, filters, or search results.
Sami B2B Wholesale Pricing – Manage wholesale pricing, customer groups, and access rules. Fully integrates with Samita Lock for clean separation between retail and wholesale views.
This combo lets you run both wholesale and retail from one store—without confusing your customers.
You can handle this with Liquid logic if you’re comfortable editing your theme: basically, check if the customer has your wholesale tag (like wholesale or b2b) before looping in those products on collection pages. Something like:
{% for product in collection.products %}
{% unless product.tags contains 'wholesale-only' and customer.tags contains 'retail' %}
<!-- show product -->
{% endunless %}
{% endfor %}
That’ll stop retail customers from ever seeing products tagged wholesale-only.
Alternatively — and this is exactly what my app Latch was built for — you can do this without touching Liquid at all. Latch lets you lock products or collections to specific customer tags, and it automatically hides or disables them in collections, search, and product pages based on who’s browsing. It’s meant to handle these mixed wholesale/retail setups cleanly without relying on multiple apps.
If you want, I can explain how it would handle your exact setup with Gorilla or your current filters.