# Storage & privacy

URL: https://docs.ablyft.com/de/developers/consent-and-security/storage-and-privacy/

> Was ABlyft im Browser des Visitors speichert, wie du es konfigurierst und wie Visitors sich abmelden können.



ABlyft merkt sich, welche Variation ein Visitor gesehen hat, damit er bei jedem Besuch dieselbe Version sieht. Dafür
schreibt das Snippet einige Einträge in den Browser. Diese Seite listet sie auf und erklärt die Einstellungen, die sie
steuern.

## Storage-Einstellungen

Gehe in deinem Project zu **Settings → Data Protection & Compliance**. Der Abschnitt **Storage/Browser Settings**
enthält:

| Einstellung                | Was sie bewirkt                                                                                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Storage**                | Wo ABlyft seine Daten im Browser speichert. Siehe die Tabelle unten. Standard: **localStorage (default)**.           |
| **Encode storage values**  | URL-codiert Werte, die in Cookies geschrieben werden. Hilft, wenn Cookie-Werte in deinem Setup Probleme verursachen. |
| **Adhere to Do Not Track** | Wenn aktiviert, läuft ABlyft nicht für Visitors, in deren Browser Do Not Track eingeschaltet ist.                    |

Optionen für **Storage**:

| Option                     | Verhalten                                                                                                                                                  |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **localStorage (default)** | Alle persistenten Daten werden in `localStorage` gespeichert.                                                                                              |
| **sessionStorage**         | Alle Daten werden in `sessionStorage` gespeichert und sind weg, wenn der Tab geschlossen wird. Visitors können beim nächsten Besuch neu zugewiesen werden. |
| **cookie**                 | Alle persistenten Daten werden in Cookies gespeichert.                                                                                                     |
| **default (legacy)**       | Jeder Eintrag nutzt seinen eigenen Speichertyp, wie in der Tabelle unten aufgeführt. Für bestehende Projects beibehalten.                                  |

Einträge, die in der Tabelle unten mit "Session" markiert sind, werden unabhängig von der gewählten Option immer in
`sessionStorage` gehalten.

> **Subdomains:** `localStorage` und `sessionStorage` gehören zu genau einem Hostnamen (zum Beispiel `www.example.com`). Wenn Visitors
> zwischen Subdomains wechseln und ihre Zuweisung behalten sollen, nutze die Option **cookie**. Cookies werden
> standardmäßig über Subdomains hinweg geteilt, siehe [Cookie-Einstellungen](#cookie-settings).

## Cookie-Einstellungen

Der Abschnitt **Cookie Settings** erscheint, wenn **Storage** auf **cookie** oder **default (legacy)** steht.

| Einstellung              | Was sie bewirkt                                                                                                                                                                                                                                                                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Max cookie lifetime**  | Wie lange Cookies aufbewahrt werden, in Tagen. Pflichtfeld.                                                                                                                                                                                                                                                                          |
| **Custom cookie domain** | Die Domain, für die die Cookies gesetzt werden. Wenn leer, wird `.domain.tld` der aktuellen Website verwendet, sodass Cookies über Subdomains hinweg funktionieren. Gib `only_current` ein, um Cookies nur für die exakte (Sub-)Domain zu setzen. Gehe vorsichtig damit um; wende dich an den ABlyft-Support, wenn du unsicher bist. |

Die Cookies von ABlyft werden mit `SameSite=Lax` und `Path=/` gesetzt.

## Was ABlyft speichert

Alle Einträge beginnen mit `ablyft_`. Sie enthalten IDs und Zähler. Variation-Zuweisungen werden als Experiment- und
Variation-IDs gespeichert.

| Schlüssel                 | Zweck                                                                                                                                                                          | Speicher                                                         |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| `ablyft_exps`             | Die Variation-Zuweisung des Visitors: Experiment ID zu Variation ID, zum Beispiel `{"12345678":87654321}`                                                                      | Konfigurierter Speicher (Legacy: Cookie)                         |
| `ablyft_uvs`              | Besuchszähler: Zeitpunkt des ersten und letzten Besuchs, Anzahl der Sessions und Seitenaufrufe. Wird für Audiences wie neue versus wiederkehrende Visitors verwendet.          | Konfigurierter Speicher (Legacy: Cookie)                         |
| `ablyft_queue`            | Events, die auf das Senden warten. Wird nach dem Senden entfernt oder wenn sie älter als eine Stunde sind.                                                                     | Konfigurierter Speicher (Legacy: Cookie, 30 Sekunden aufbewahrt) |
| `ablyft_tgoals`           | Goals, die der Visitor bereits ausgelöst hat, pro Variation. Wird verwendet, um ein Goal nur einmal zu zählen, wo es nötig ist.                                                | Konfigurierter Speicher (Legacy: `localStorage`)                 |
| `ablyft_tracking_consent` | Der Consent-Status: `1` eingewilligt, `0` abgelehnt. Gesetzt durch [`enableTrackingConsent` / `disableTrackingConsent`](https://docs.ablyft.com/de/developers/consent-and-security/consent-manager/). | Konfigurierter Speicher (Legacy: Cookie)                         |
| `ablyft_opt_out`          | Wird auf `true` gesetzt, wenn der Visitor [sich abgemeldet hat](#opt-out).                                                                                                     | Konfigurierter Speicher (Legacy: Cookie)                         |
| `ablyft_redirect`         | Zeitpunkt des letzten Redirects, um Redirect-Schleifen zu verhindern.                                                                                                          | Konfigurierter Speicher (Legacy: `sessionStorage`)               |
| `ablyft_session_check`    | Markiert, dass eine Session läuft.                                                                                                                                             | Session                                                          |
| `ablyft_temp_events`      | Events, die zurückgehalten werden, bis die Tracking-Regel Tracking erlaubt, siehe [Consent Manager](https://docs.ablyft.com/de/developers/consent-and-security/consent-manager/).                     | Session                                                          |

Weitere Einträge existieren nur in Sondermodi und nur in `sessionStorage`: `ablyft_pinged_goals` (im Preview-Modus
erfasste Goals), `ablyft_preview_combs`, `ablyft_exclude_running` und `ablyft_qa_token` (Preview und QA, siehe
[URL-Parameter](https://docs.ablyft.com/de/developers/reference/url-parameters/)) sowie `ablyft_show_debug` (Debug-Modus).

Ohne Einwilligung werden persistente Einträge nur im Arbeitsspeicher gehalten, siehe
[Consent Manager](https://docs.ablyft.com/de/developers/consent-and-security/consent-manager/#how-it-works).

## Was an ABlyft gesendet wird

Events werden an den Tracker (`https://log.ablyft.com`) gesendet, wenn ein Visitor einer Variation zugewiesen wird oder
ein Goal auslöst. Den Inhalt findest du unter [Security](https://docs.ablyft.com/de/developers/consent-and-security/security/#what-the-snippet-sends).

## Do Not Track

Wenn **Adhere to Do Not Track** aktiviert ist und der Browser des Visitors `doNotTrack` als `1` meldet, stoppt das
Snippet für diesen Visitor: Es zeigt keine Variations und sendet keine Events.

## Opt-out

Visitors können sich mit einem URL-Parameter auf deiner Website von ABlyft ausschließen:

| URL                                             | Wirkung                                                                                                                                           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `https://www.example.com/?ablyft_opt_out=true`  | Speichert `ablyft_opt_out=true`. ABlyft läuft für diesen Browser nicht mehr. Es wird die Meldung "Opted out of ABlyft for this domain" angezeigt. |
| `https://www.example.com/?ablyft_opt_out=false` | Entfernt den Opt-out. Es wird die Meldung "Opted in of ABlyft for this domain" angezeigt.                                                         |

Der Opt-out gilt pro Website (und Speicher), muss also auf jeder Website durchgeführt werden, für die er gelten soll. Er
ist außerdem ein praktischer Weg, das eigene Team von Experiments auszuschließen.

> Der Opt-out wird mit der konfigurierten Storage-Option gespeichert. Wenn du `localStorage` oder `sessionStorage`
> verwendest, wird er nicht zwischen Subdomains geteilt, und das Löschen der Browserdaten entfernt ihn.

## Nächste Schritte

- [Consent Manager](https://docs.ablyft.com/de/developers/consent-and-security/consent-manager/): Auf die Einwilligung warten, bevor gespeichert und getrackt wird.
- [URL parameters](https://docs.ablyft.com/de/developers/reference/url-parameters/): Alle Parameter, die das Snippet liest.

