> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Cookiewarenkorb verwenden

> Wie WEBSALE V8s den Warenkorb eines Käufers sessionübergreifend speichert und wie Sie ihn darüber informieren, was wieder in seinem Warenkorb liegt.

Ein Käufer legt Produkte in den Warenkorb, bestellt aber nicht und schließt den Browser. Ohne Cookiewarenkorb ist diese Auswahl verloren, und beim nächsten Besuch fängt er von vorn an. Mit Cookiewarenkorb findet er seinen Warenkorb wieder gefüllt vor.

Möglich wird das über ein Cookie im Browser des Käufers. Darin steht nicht der Warenkorb selbst, sondern nur eine ID. Den Inhalt speichert WEBSALE V8s und ordnet ihn beim nächsten Besuch über diese ID wieder zu. Hat der Käufer Cookies abgelehnt, greift die Funktion nicht.

Sie können den Käufer darüber informieren, dass Produkte wieder in seinem Warenkorb liegen. Ebenso darüber, welche Produkte diesmal nicht mehr dabei sind, beispielsweise weil sie nicht mehr verfügbar sind.

Die Funktion muss für Ihren Shop freigeschaltet werden. Die WEBSALE AG nimmt die Einstellungen nach Beauftragung vor. Stimmen Sie den Einsatz außerdem mit Ihrem Datenschutzbeauftragten ab.

> [!WARNING]
>
> Der Cookiewarenkorb braucht zusätzlichen Speicherplatz und zusätzliche Rechenleistung und verbraucht deshalb zusätzliche Leistungseinheiten. Abgerechnet werden das Einlesen beim ersten Aufruf des Shops, das Hinzufügen eines Produkts zum Warenkorb, das Löschen eines Produkts aus dem Warenkorb und das Ändern einer Warenkorbposition.

## Was WEBSALE für Sie einstellt

Zwei Punkte legen Sie bei der Beauftragung fest.

| Einstellung | Wirkung |
| - | - |
| Speicherdauer | Wie viele Tage der Cookiewarenkorb aufbewahrt wird. Standard sind 30 Tage, das Maximum sind 60 Tage. |
| Einlesen erst nach Login | Der Cookiewarenkorb wird nicht beim ersten Aufruf eingelesen, sondern erst nach erfolgreicher Anmeldung. Die Einstellung lässt sich je Subshop unterschiedlich setzen, beispielsweise für einen B2B-Shop anders als für einen B2C-Shop. |

Das Einlesen erst nach dem Login ist bei geschlossenen Shops ohnehin erforderlich. Es gibt aber einen zweiten Fall, der leicht übersehen wird:

> [!WARNING]
>
> Verwenden Sie kundenabhängige Preise, muss der Cookiewarenkorb erst nach dem Login eingelesen werden. Andernfalls landen die Produkte zu den allgemeinen Preisen im Warenkorb und der Käufer bekommt nicht die ihm zugewiesenen Konditionen zu sehen.

## Was im Cookiewarenkorb landet und was nicht

Gespeichert werden die gewöhnlichen Warenkorbpositionen. Positionen, die der Shop selbst erzeugt hat oder die an eine Situation gebunden sind, bleiben außen vor. Sie kämen beim nächsten Besuch entweder ohnehin wieder von allein oder wären dann nicht mehr gültig.

Nicht übernommen werden:

* automatisch eingefügte Produkte (AutoBasket)
* Happy-Hour-Produkte
* Positionen aus einer Wunschliste
* Angebotspositionen
* Produkte aus externen Systemen und über die externe Schnittstelle
* Gutschein-, Geschenk-, Prime-, Gruß- und Bonusprodukte
* individuelle Angebotsprodukte

Gespeichert werden höchstens die ersten 200 Produkte des Warenkorbs. Ein Set wird dabei nicht auseinandergerissen: Fällt die Grenze mitten in ein Set, nimmt der Shop die Unterartikel noch mit und schneidet erst beim nächsten eigenständigen Produkt ab.

## Den Käufer informieren

Zwei Bereichs-Tags decken die beiden Fälle ab. Beide gehören auf die Seiten, die der Käufer beim Wiedereinstieg zuerst sieht, also typischerweise Start-, Kategorie- und Warenkorbseite.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-BasketFromCookie}
   Willkommen zurück. Wir haben Ihren Warenkorb vom letzten Besuch wiederhergestellt.
{/WS-BasketFromCookie}
```

Beide Tags erscheinen genau einmal, nämlich auf der ersten Seite, auf der der Parser darauf trifft. Danach sind sie leer. Setzen Sie sie deshalb auf alle möglichen Einstiegsseiten, sonst sieht der Käufer die Meldung womöglich nie.

### Produkte auflisten, die nicht mehr verfügbar sind

`{[CB-Notify](/v8s/referenz/tags/cb#die-tags-im-uberblick)}` klammert den zweiten Fall: Der Cookiewarenkorb wurde eingelesen, mindestens ein Produkt hat es aber nicht zurück in den Warenkorb geschafft. Welche das sind, gibt `{@[CB-NotifyData](/v8s/referenz/tags/cb#die-tags-im-uberblick)}` als Schleife aus.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{CB-Notify}
   {CB-NotifyData}
      <p>~CB-NotifyData~ Produkte aus Ihrem letzten Besuch sind nicht mehr verfügbar:</p>
      <ul>
         {@CB-NotifyData}
            <li>~CB-NotifyProdName~ (Artikelnummer ~CB-NotifyProdNumber~, Menge ~CB-NotifyQuantity~)</li>
         {/@CB-NotifyData}
      </ul>
   {/CB-NotifyData}
{/CB-Notify}
```

Als Einzeltag gibt `~CB-NotifyData~` die Anzahl dieser Produkte aus. Das erspart Ihnen das Mitzählen in der Schleife.

Formulieren Sie die Meldung so, dass der Käufer weiß, was nun gilt. Die übrigen Produkte liegen im Warenkorb, nur die aufgeführten fehlen. Ohne diesen Hinweis rechnet er mit einem vollständigen Warenkorb und bemerkt die Lücke erst an der Kasse.

### Die Tags im Überblick

| Tag | Verwendung |
| - | - |
| [`WS-BasketFromCookie`](https://dokumentation.websale.de/v8s/referenz/tags/ws/warenkorb-preise-waehrung-und-bonus#die-tags-im-uberblick) | Bereich, erscheint einmalig, wenn Produkte aus dem Cookiewarenkorb übernommen wurden |
| `CB-Notify` | Bereich, erscheint einmalig, wenn mindestens ein Produkt nicht übernommen werden konnte |
| `CB-NotifyData` | Anzahl der nicht übernommenen Produkte, als Bereich und als Schleife über diese Produkte |
| [`CB-NotifyPosition`](https://dokumentation.websale.de/v8s/referenz/tags/cb#die-tags-im-uberblick) | Position innerhalb der Schleife, beginnend bei 1 |
| [`CB-NotifyProdIndex`](https://dokumentation.websale.de/v8s/referenz/tags/cb#die-tags-im-uberblick) | Produktindex des Eintrags |
| [`CB-NotifyProdName`](https://dokumentation.websale.de/v8s/referenz/tags/cb#die-tags-im-uberblick) | Produktname |
| [`CB-NotifyProdNumber`](https://dokumentation.websale.de/v8s/referenz/tags/cb#die-tags-im-uberblick) | Produktnummer |
| [`CB-NotifyQuantity`](https://dokumentation.websale.de/v8s/referenz/tags/cb#die-tags-im-uberblick) | Menge der Position |

`CB-Notify` gibt es ausschließlich als Bereich. Eine Verneinung mit `{!CB-Notify}` unterstützt das Tag nicht. Bei `CB-NotifyData` funktioniert `{!CB-NotifyData}` dagegen.

## Verwandte Themen

* Wegweiser: [Warenkorb anzeigen und löschen](https://dokumentation.websale.de/v8s/warenkorb/warenkorb-anzeigen-loeschen.md)
* Wegweiser: [WelcomeBack-Funktion, für die Wiedererkennung des Käufers selbst](https://dokumentation.websale.de/v8s/kundenkonto/welcomeback-funktion.md)
* Materialien: [Verwendete Cookies](https://dokumentation.websale.de/v8s/referenz/verwendete-cookies.md)


## Related topics

- [Subshop-übergreifenden Warenkorb verwenden](https://dokumentation.websale.de/v8s/warenkorb/subshop-uebergreifenden-warenkorb-verwenden.md)
- [CB- (Cookie-Warenkorb)](https://dokumentation.websale.de/v8s/referenz/tags/cb.md)
- [Speicherbarer Warenkorb](https://dokumentation.websale.de/v8s/warenkorb/speicherbarer-warenkorb.md)
- [Geräteübergreifender Warenkorb](https://dokumentation.websale.de/v8s/warenkorb/geraeteuebergreifender-warenkorb.md)
- [Verwendete Cookies](https://dokumentation.websale.de/v8s/referenz/verwendete-cookies.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.