# Keep wholesale prices and products hidden from retail shoppers

URL: https://docs.sparklayer.io/help/guides/hide-wholesale-from-retail
Applies to: Shopify

Hide B2B-only products from retail shoppers with B2B Catalogs, hide prices from signed-out visitors, or make everyone sign in before they see your store.

> **Quick summary**
>
> - You'll end up with retail shoppers and signed-out visitors seeing only what's meant for them, while signed-in B2B customers see your full wholesale range and prices.
> - Allow about 30 minutes for B2B Catalogs. Hiding prices or locking the store is a theme code change, so allow time for your developer.
> - [B2B Catalogs](https://docs.sparklayer.io/help/storefront/b2b-catalogs.md) is a free app on every SparkLayer plan. Everything in this guide is for Shopify.

Retail and B2B customers can share one Shopify store. SparkLayer only shows B2B prices to signed-in B2B customers, but your products and Shopify prices are visible to everyone until you hide them.

## Before you start

- **Your B2B customers tagged `b2b`** in Shopify. See [Assign customers to a customer group](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group).
- **A list of B2B-only products**, and any that should be retail-only.
- **Someone who can edit your theme code**, if you'll hide prices or lock the store. We can explain the approach, but we can't make the changes for you.

## Hide what retail shoppers shouldn't see

### Step 1. Choose what to hide

| To hide | Use | How |
| --- | --- | --- |
| **Products** from retail customers, or from B2B customers | B2B Catalogs (steps 2 to 4) | Tags in your Shopify admin, no code |
| **Prices** from signed-out visitors | Liquid code in your theme (step 5) | A developer change |
| **Your whole store** until a customer signs in | Liquid code in your theme (step 6) | A developer change |

You can use any of them together. See [B2B Catalogs or B2B-only content](https://docs.sparklayer.io/help/storefront/b2b-catalogs.md#b2b-catalogs-or-b2b-only-content).

### Step 2. Install and enable B2B Catalogs

Install [B2B Catalogs](https://apps.shopify.com/sparklayer-b2b-catalogs) from the Shopify App Store. Open it in your Shopify admin and, under **Enable on your theme**, choose your theme and click **Enable**. See [Install and enable B2B Catalogs](https://docs.sparklayer.io/help/storefront/b2b-catalogs.md#install-and-enable-b2b-catalogs).

### Step 3. Tag your B2B-only products

In your Shopify admin, open each product and add the tag `b2b-only`, then save. Use `b2c-only` for products only retail customers should see. Products with neither tag are shown to everyone. See [Make a product B2B-only or B2C-only](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-your-catalogs.md#make-a-product-b2b-only-or-b2c-only).

A hidden product disappears from product pages, collection pages and store search. If someone opens its URL directly, they see an access denied page, which you can change: see [Customise the access denied page](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-access-denied-view.md).

### Step 4. Hide products from some customer groups

Optional. To show a range to one customer group only, hide its variants from the other groups with the `sparklayer.settings` variant metafield. This needs the SparkLayer Wholesale app as well as B2B Catalogs, and the products must still be tagged `b2b-only`. See [Catalogs per customer group](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-advanced-catalogs.md), and the [worked example](https://docs.sparklayer.io/help/storefront/product-settings.md#example-a-product-range-for-each-customer-group).

Variant rules only apply to B2B customer groups: they don't hide anything from retail shoppers, and Shopify can't hide a single variant from them. To keep one variant for B2B customers only, make it a separate product and tag it `b2b-only`.

### Step 5. Hide prices from signed-out visitors

Optional. Ask your developer to add the example code to your product cards and product page. Signed-in B2B customers see the SparkLayer product card, and everyone else sees "Please sign in to see pricing". See [Hide prices from signed-out visitors](https://docs.sparklayer.io/help/platforms/shopify/customisations/b2b-only-content.md#hide-prices-from-signed-out-visitors).

### Step 6. Make customers sign in first

Optional, for a store that's only for trade customers. Ask your developer to add the redirect code to `theme.liquid`. Signed-out visitors go to the login page, except on pages you leave open, such as `/pages/b2b-login`. See [Make customers sign in before they see your store](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#make-customers-sign-in-before-they-see-your-store).

## Check it worked

- **Signed out, in a private browser window:** B2B-only products don't appear in collections or search, opening one's URL shows the access denied page, and prices are hidden if you added that code.
- **Signed in as a B2B customer:** you see the B2B-only products with your trade prices, and not the `b2c-only` ones.
- **Signed in as a customer in another group:** products you've hidden from that group don't appear.

## If something's not right

- **B2B Catalogs can't change your theme.** The theme has invalid Liquid syntax. See [Invalid Liquid syntax](https://docs.sparklayer.io/help/storefront/b2b-catalogs/limitations.md#invalid-liquid-syntax).
- **A retail shopper sees a B2B-only variant.** Variant rules don't apply to retail shoppers. Make the variant a separate `b2b-only` product. See [Variants and retail shoppers](https://docs.sparklayer.io/help/storefront/b2b-catalogs/limitations.md#variants-and-retail-shoppers).
- **A collection page has gaps, or its counts include hidden products.** Hiding happens as the page loads. See [Collection grids, search and filter counts](https://docs.sparklayer.io/help/storefront/b2b-catalogs/limitations.md#grids-search-and-filter-counts).
- **A hidden product is still in someone's cart.** Products already in a cart stay there. See [Hidden products in a cart](https://docs.sparklayer.io/help/storefront/b2b-catalogs/limitations.md#hidden-product-add-to-cart-caveats).
- **B2B-only products are in your sitemap.** Shopify's sitemap still lists them, but search engines can't see the pages. See [B2B Catalogs FAQs](https://docs.sparklayer.io/help/storefront/b2b-catalogs/faqs.md#visibility).
- **Your Shopify prices show in Google.** That's standard Shopify behaviour, not SparkLayer. See "How do I stop my Shopify prices showing in Google search results?" in [Shopify FAQs](https://docs.sparklayer.io/help/platforms/shopify/faqs.md#theme-and-storefront).

## Next steps

- [Let new trade customers apply](https://docs.sparklayer.io/help/guides/approve-trade-applications.md): Add a B2B login page and approve applications
- [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md): Set the prices signed-in buyers see
- [B2B-only content](https://docs.sparklayer.io/help/platforms/shopify/customisations/b2b-only-content.md): Show B2B-only menus, banners and content
