Hide your wholesale catalog from retail customers
You have one Shopify store, two audiences, and one set of prices you cannot let the wrong audience see.
Prime Lock hides an entire collection behind a customer tag and enforces the rule at checkout, not just in the theme.
The problem
The first attempt is almost always a second store. You duplicate the catalog, pay a second subscription, sync inventory with a spreadsheet or a $40/month app, and discover a month later that the two stores have drifted apart. Trade buyers keep ordering discontinued SKUs because the wholesale store never got the update.
The second attempt is theme code. Someone wraps the wholesale collection template in `{% if customer.tags contains 'wholesale' %}` and calls it done. It holds until the collection appears in the store's search results, the sitemap, a Google index of `/collections/wholesale`, or the JSON endpoint at `/collections/wholesale/products.json`, which ignores your Liquid entirely and returns every product with its price. A competitor does not need to be clever to find that.
The third attempt is Shopify's store password. It works, and it protects everything, including the retail storefront you need to keep selling. That is the wrong tool when only part of the catalog is confidential.
How Prime Lock does it
Five minutes in the Prime Lock admin. No theme edits, no duplicate store, no manual price lists.
- 1
Lock type → Hide price and add to cart
Products stay in the catalog and stay indexable, but the price and the buy button are removed server-side for anyone who does not qualify.
- 2
Applies to → Collection → Wholesale
Pick the collection once. Every product you add to it later inherits the lock automatically: that is the whole reason to lock a collection rather than a product list.
- 3
Who can unlock → Customers with tags → wholesale, distributor
Any customer carrying either tag sees trade pricing. Tags come from your approval queue, a CSV import, or whatever CRM already tags your accounts.
- 4
Also allow a secret link → Off
Leave this off for a permanent catalog. Secret links are for time-boxed access, not for your standing trade price list.
- 5
Schedule → Always on
A wholesale catalog is not a campaign. No date window.
- 6
Storefront behavior → Replace price with "Log in to see price"
Write the sentence your buyers should read. Merchants running a vetted programme usually go with something like “Trade pricing: approved accounts only”.
- 7
Hide price from Google too → On
This strips the price from the product's structured data and from the Shopping feed. If you have MAP agreements with your brands, this is the setting that keeps you compliant while the page stays indexable.
What the customer sees
Switch the customer state to see what a retail shopper, a signed-in-but-unapproved account, and an approved trade buyer each get on the same URL.
Bulk Cotton Tee · 24 pack
Aspedan Supply · SKU BCT-24
Trade pricing: approved accounts only
The product page is still indexable by Google, only the price is withheld.
Why enforcement matters here
Suppose a retail shopper guesses the handle, or a trade buyer forwards a cart permalink like `/cart/44821994:1` to a friend. With a theme-level or CSS-level hide, that link works perfectly: the cart is built by Shopify's cart endpoint, which never reads your Liquid conditionals, so the variant lands in the cart at the trade price and checkout completes. You find out when the order confirmation arrives.
Prime Lock validates the cart inside a Shopify Function at checkout. The Function reads the same lock rules and the same customer tags, sees no `wholesale` or `distributor` tag on the session, and blocks the order with a message. The permalink still resolves; it just cannot be paid for. That is the difference between hiding a price and enforcing a price.
Related
Blog
Hiding prices on Shopify: what is actually built in
What the platform gives you for free, and the exact point where it stops.
ReadBlog
Locked pages and SEO
Keeping a gated collection indexable without leaking prices to the crawler.
ReadDocs
How customer tags work
Where tags come from, how they sync, and how the Function reads them.
ReadDecide who gets to see your store.
Early access opens with the free plan. Unlimited locks, enforced at checkout.
No newsletter. One email when Prime Lock is live.