# Hide products from customers

URL: https://docs.sparklayer.io/help/guides/hide-products
Applies to: Shopify, BigCommerce, WooCommerce, Magento

Hide products from B2B customers, some customer groups or retail shoppers: in Catalog and Quick Order, the cart and your store's pages, one product or hundreds.

> **Quick summary**
>
> - You'll end up with the products you choose hidden from the customers who shouldn't see them: every B2B customer, some customer groups or retail shoppers.
> - Most stores hide custom products that need artwork, printing charges and add-on fees, or a range kept for one customer group.
> - Allow about 15 minutes, plus a minute or so a product. A form on this page writes the setting for you, and your AI assistant can apply it to every product.

There are 2 places a product can show: in SparkLayer, where B2B customers and sales reps order, and on your store's own pages. You hide it from each in a different way. Most stores only need the first.

## Pick the right option

| You want to | Do this | Hidden in |
| --- | --- | --- |
| **Stop B2B customers seeing or ordering a product**, such as a custom product or a fee | Set `"display": false` in the product's `sparklayer.settings`, as on this page | SparkLayer: Catalog and Quick Order, search in My Cart and SparkLayer's product interfaces |
| **Keep it on show, but stop orders** | Set `"sell": false` instead | Nothing hidden: it can't be added to the cart |
| **Show a range to some customer groups only** | Hide it for everyone with a `base` entry, then show it to those groups | SparkLayer, for every other group |
| **Hide products from retail shoppers and signed-out visitors** | Tag them `b2b-only` with the free B2B Catalogs app (Shopify) | Your store's collection, search and product pages. See [Keep wholesale hidden from retail shoppers](https://docs.sparklayer.io/help/guides/hide-wholesale-from-retail.md) |
| **Hide a range from some customer groups on your store's pages too** | Combine the two: B2B Catalogs and `display` per customer group (Shopify) | SparkLayer and your store's pages. See [Catalogs per customer group](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-advanced-catalogs.md) |

**What each setting hides, in detail**

`display` and `sell` are 2 of the [product rules per customer group](https://docs.sparklayer.io/help/storefront/product-settings.md) in the `sparklayer.settings` metafield. They only apply to signed-in B2B customers, and to sales reps ordering for them. Retail shoppers see whatever your theme shows. See [What hides what](https://docs.sparklayer.io/help/storefront/product-settings.md#what-hides-what) for every view.

## Before you start

- **The products to hide**: their SKUs, or a way to find them, such as a tag like `CUSTOM`.
- **The customer groups**, if you're only hiding them from some. You need each group's handle, such as `trade`: click the group's name at **Customers > Groups** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/groups)), or **SparkLayer Wholesale > Customers > Customer groups** in the Shopify app.
- **Access to your store's admin**, to edit the products' variants.

## Hide the products

### Step 1. Turn on the metafield in SparkLayer

Go to **Integrations > Platform** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform** in the Shopify app and, in the **Metafields** card, click **Configure** next to **SparkLayer metafields**, then enable the product settings metafield. You only do this once.

**More detail**

On Shopify, SparkLayer adds the `sparklayer.settings` field to every variant for you. On BigCommerce, WooCommerce and Magento, follow your platform's guide: [BigCommerce](https://docs.sparklayer.io/help/platforms/bigcommerce/metafields.md), [WooCommerce](https://docs.sparklayer.io/help/platforms/woocommerce/metafields.md) or [Magento](https://docs.sparklayer.io/help/platforms/magento/metafields.md).

### Step 2. Build the setting

Choose who shouldn't see the products and whether to hide them or only stop orders. The form writes the value, which is the same for every product.

**What the values look like**

Hide from every B2B customer:

```json
[{ "customer_group": "base", "display": false, "sell": false }]
```

Hide from the `trade` and `distributors` groups only:

```json
[
  { "customer_group": "trade", "display": false, "sell": false },
  { "customer_group": "distributors", "display": false, "sell": false }
]
```

Show only to the `vip` group:

```json
[
  { "customer_group": "base", "display": false, "sell": false },
  { "customer_group": "vip", "display": true, "sell": true }
]
```

### Step 3. Add it to the products

The value goes in the `sparklayer.settings` field of every variant you're hiding: a product in 3 sizes needs it on all 3. Choose the way that suits how many there are.

| How many | How |
| --- | --- |
| **A few** | Open each variant in your store's admin, paste the value into its `sparklayer.settings` field and save. In Shopify, it's **Settings** under **Metafields**, as the form shows. |
| **Many** | Fill in the field for every variant in one table, in your platform's bulk editor. |
| **Many, or found by a tag** | Let your AI assistant do it. Connect your Shopify store to it, such as with the Shopify connector in Claude, then click **Ask Claude** or **Ask ChatGPT** in the form and tell it which products. It finds the variants, shows you every change and only saves them once you approve. |

**Lots of products? Fill them in one table (Shopify):** in your Shopify admin, go to **Products**, tick the products and click **Edit products**. Click **Columns**, tick the SparkLayer field under **Metafields**, type the values and click **Save**. See [Shopify's guide](https://help.shopify.com/en/manual/custom-data/metafields/bulk-edit-metafields).

**If the products already have a value**

A variant can already have a `sparklayer.settings` value, such as a pack size for a customer group. Pasting a new value replaces it, so add the `display` and `sell` keys to the entries that are there instead. The AI assistant's prompt does this for you: it keeps every other setting.

### Step 4. Hide them from your store's pages too

Optional, on Shopify. To hide the same products from retail shoppers and signed-out visitors, tag them `b2b-only` with B2B Catalogs: see [Keep wholesale hidden from retail shoppers](https://docs.sparklayer.io/help/guides/hide-wholesale-from-retail.md). To hide them from some customer groups on your store's pages as well, see [Catalogs per customer group](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-advanced-catalogs.md).

## Check it worked

Changes take about 10 minutes to sync. Then check as each kind of customer:

| Check as | What you should see |
| --- | --- |
| **A customer in a group you hid them from** | The products aren't in [Catalog and Quick Order](https://docs.sparklayer.io/help/sales-ordering/catalog.md) or in search in My Cart. With **Show it, but stop orders**, they show as **Unavailable for this account**. |
| **A sales rep ordering for that customer** | The same as the customer: the rep's **Catalog** follows the customer's group. |
| **A customer in another group** | The products as usual. |

## If something's not right

- **A product still shows.** Check the value is on every variant, not the product, and that each `customer_group` is a handle, such as `trade`, not a Shopify tag, such as `b2b-trade`. See [Why aren't my settings being applied?](https://docs.sparklayer.io/help/storefront/product-settings.md#settings-not-applied)
- **A pack size or limit stopped working.** The new value replaced the variant's old one. Add the old settings back into the same value: see [Which rule wins](https://docs.sparklayer.io/help/storefront/product-settings.md#which-rule-wins).
- **The product still shows on your store's collection pages.** `display` only changes SparkLayer. Use B2B Catalogs as well: see [step 4](#hide-on-store-pages).
- **The value doesn't save.** It must be valid JSON with straight quotes (`"`). Build it with the [form](#build-the-setting) rather than typing it.

## Next steps

- [Catalog and Quick Order](https://docs.sparklayer.io/help/sales-ordering/catalog.md): How customers and reps browse and order from the catalog
- [Product rules per customer group](https://docs.sparklayer.io/help/storefront/product-settings.md): Pack sizes, limits and visibility for each customer group
- [Keep wholesale hidden from retail shoppers](https://docs.sparklayer.io/help/guides/hide-wholesale-from-retail.md): Hide B2B products and prices from retail shoppers
