# Product Visibility

### 1 Prerequisites

| Component        | Minimum version                                |
| ---------------- | ---------------------------------------------- |
| **Nosto Plugin** | 3.5.5 (SW 6.5) · 5.1.5 (SW 6.6) · 6.0.0 (6.7+) |
| **Shopware**     | 6.5.0 or later                                 |

In **Shopware Admin → Catalogues → Products** each product now exposes a **Visibility** toggle per sales channel:

<figure><img src="https://2164703617-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRcylPzIZ8Znff4RskcP%2Fuploads%2FfDEZoRFt6jAM6XR7n7cZ%2FScreenshot%20from%202025-06-09%2009-51-58.png?alt=media&#x26;token=8f420e60-7894-4ddf-8460-656a78ec8575" alt=""><figcaption></figcaption></figure>

Earlier plugin releases ignored this flag. The new versions filter products based on it—after a one-time setup.

***

### 2 One-Time Setup

#### Step 1 Run a Full Product Sync

```
Shopware Admin → Marketing → Nosto Job Listing → Schedule Full Product Sync
```

Wait until the job status shows **Finished**.

***

#### Step 2 Index Custom Fields in Nosto

1. **MyNosto → Product Experience Cloud → Search → Settings → Indexed Fields**\
   \&#xNAN;*(You can do the same via Category Merchandising; once is enough.)*&#x20;

   <figure><img src="https://2164703617-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRcylPzIZ8Znff4RskcP%2Fuploads%2FCWW8VoS2FigpPOUiEZtC%2FScreenshot%20from%202025-06-09%2009-57-59.png?alt=media&#x26;token=bf93af9d-d904-4697-843d-fb8757eaac81" alt=""><figcaption></figcaption></figure>
2. Click **Add attribute** twice and create the following custom fields:

| Field          | Type    | Purpose                                |
| -------------- | ------- | -------------------------------------- |
| `showsearch`   | Boolean | Visibility flag for Search API calls   |
| `showcategory` | Boolean | Visibility flag for Category API calls |

<figure><img src="https://2164703617-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRcylPzIZ8Znff4RskcP%2Fuploads%2FP132jxn9KZVZYiTH3b3q%2FScreenshot%20from%202025-06-09%2010-00-59.png?alt=media&#x26;token=de376bf2-5283-4aba-bdeb-17b237ac4dc8" alt=""><figcaption></figcaption></figure>

***

#### Step 3 Enable the Feature Flag in the Plugin

> **Wait for indexing** — Nosto re-indexes every six hours. To verify completion you can temporarily create a facet:

* **MyNosto → Search → Settings → Facet Manager → New facet group**
* Pick `showsearch` (or `showcategory`).\
  \&#xNAN;*If the “attribute unavailable” warning disappears, indexing is done. Delete the test facet.*

Once indexing is confirmed:

```
Shopware Admin → Extensions → My Extensions → Nosto → Configuration → Enable products visibility
```

<figure><img src="https://2164703617-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRcylPzIZ8Znff4RskcP%2Fuploads%2FjMIyINTue7JGHmp2G4NI%2FScreenshot%20from%202025-06-09%2010-09-28.png?alt=media&#x26;token=323e235c-d9b7-47c0-a1c2-d0c85bb6f3be" alt=""><figcaption></figcaption></figure>

***

### 3 Result

After these three steps the Nosto plugin automatically appends `showsearch=true` or `showcategory=true` filters in its Search and Category API calls. Products hidden for a given sales channel in Shopware will no longer surface in Nosto recommendations, merchandising rules, or search results for that channel.

***

#### Need Help?

*Verify that:*

1. **Full Product Sync** completed without errors.
2. Both custom fields appear under **Indexed Fields**.
3. The **Enable products visibility** flag is switched **on**.
4. Plugin version meets or exceeds the minimum listed above.
