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

# Tutorial zur SDK-Einrichtung und zu Feature Flags

> Richten Sie das Kameleoon-SDK ein und konfigurieren Sie Feature Flags mit dieser Schritt-fuer-Schritt-Checkliste, die die SDK-Integration, die Einrichtung der Kameleoon-App und den optionalen Hybridmodus abdeckt.

<Warning>
  Pruefen Sie immer die [SDK-Dokumentation](../../feature-experimentation/get-started/overview), um sicherzustellen, dass die Methodennamen korrekt sind. Die folgenden Methoden stammen aus dem **Node.js SDK**. Einige Funktionen oder Methoden sind moeglicherweise nicht in allen SDKs verfuegbar.
</Warning>

***

## Uebersicht der SDK-Checkliste

Diese Anleitung bietet eine Schritt-fuer-Schritt-Checkliste, um [das Kameleoon-SDK einzurichten und zu verwenden](#einmalige-einrichtung-im-sdk), [Feature Flags zu konfigurieren](#einmalige-einrichtung-in-der-kameleoon-app) und optional [den Hybridmodus zu aktivieren](#2-hybridmodus-optional) (SDK + `engine.js`).

***

## 1. Grundlagen

### Einmalige Einrichtung (im SDK)

#### Schritt 1 – SDK installieren, konfigurieren und initialisieren

* Installieren Sie das SDK und konfigurieren Sie es, wobei Sie auf Folgendes achten:
  * `updateInterval`: Legt fest, wie oft das SDK die neueste Konfiguration von Kameleoon abruft.
  * `trackingInterval`: Legt fest, wie oft das SDK getrackte Daten an Kameleoon sendet.
* Erstellen Sie einen neuen `KameleoonClient` und rufen Sie `initialize()` auf, um die Konfiguration zu laden.
* **Nur PHP-SDK:** Installieren Sie einen [Cron-Job](../../sdks/web-sdks/php-sdk#using-the-php-sdk-without-a-cron-job), um Daten zu sammeln.

***

#### Schritt 2 – Visitor-Code setzen

* Verwenden Sie `getVisitorCode()` oder eine benutzerdefinierte Methode, um das Cookie `kameleoonVisitorCode` zu setzen.

***

#### Schritt 3 (Optional) – [Geraeteuebergreifende Experimentation](../../cross-device-experimentation) und [benutzerdefinierten Bucketing-Key](../../sdks/web-sdks/nodejs-sdk#verwendung-eines-benutzerdefinierten-bucketing-keys) aktivieren

* **Geraeteuebergreifende Experimentation:** Teilen Sie denselben `kameleoonVisitorCode` ueber mehrere Geraete hinweg.
* **Benutzerdefinierter Bucketing-Key:** Zeigen Sie einer definierten Gruppe von Besuchern (z. B. Benutzer derselben Organisation) dieselbe Variation an.

***

#### Schritt 4 – Einwilligung verwalten

* Wenn ein Experiment eine Einwilligung erfordert, rufen Sie `setLegalConsent()` auf. *(Nicht erforderlich, wenn der Feature-Flag-Typ Delivery Rules verwendet.)*

***

#### Schritt 5 – Vordefinierte Daten senden

* Verwenden Sie `addData()`, um anzusprechen:

  * Geraet
  * Browser
  * Seiten-URL
  * Andere vordefinierte Kriterien

* Rufen Sie `flush()` auf, um Daten an Kameleoon zu senden. *(Hinweis: `flush` wird auch implizit von `isFeatureActive`, `getVariation` und `trackConversion` aufgerufen.)*

***

#### Schritt 6 – Bots ausschliessen und kennzeichnen

* Schliessen Sie Bots aus den Ergebnissen aus, indem Sie `addData()` mit dem Typ `userAgent` verwenden.
* Um interne Bots zu kennzeichnen, uebergeben Sie `curl/8.0` an `userAgent` in `addData()`.

***

### Einmalige Einrichtung (in der [Kameleoon-App](https://app.kameleoon.com))

#### Schritt 7 – Ein Feature Flag erstellen

* Erstellen Sie ein neues Feature Flag in der Kameleoon-App.
* Fuegen Sie dem **Rollout Planner** mindestens eine **Regel** (Delivery oder Experiment) hinzu.

***

#### Schritt 8 – Das Segment definieren

* **Option 1:** Zielen Sie auf alle Besucher in der Kameleoon-App ab und implementieren Sie benutzerdefinierte Logik im SDK.
* **Option 2 (Empfohlen):** Verwenden Sie ein Kameleoon-Segment in der Kameleoon-App.
  * Stellen Sie sicher, dass Sie `addData()` im SDK verwenden, um Daten zu senden, die fuer das Targeting verwendet werden (Seiten-URL, Geraet, Browser usw.).

***

#### Schritt 9 – Ziele an das Flag anhaengen

* Haengen Sie mindestens ein Ziel an, um Conversions zu verfolgen.

***

#### Schritt 10 – Das Flag aktivieren

* Schalten Sie das Flag in der Kameleoon-App **ein**, um Variationen auszuliefern.

***

### Einrichtung fuer jedes Flag (im SDK)

#### Schritt 11 – Feature-Aktivierung pruefen

* Rufen Sie `isFeatureActive()` auf, um zu pruefen, ob ein Besucher angesprochen wird:

  * Gibt `false` zurueck, wenn die Variation "off" ist
  * Gibt `true` zurueck, wenn aktiv

* Rufen Sie `getVariation()` auf, um den Variationsschluessel abzurufen.

***

#### Schritt 12 – Conversions verfolgen und benutzerdefinierte Daten setzen

* Rufen Sie `trackConversion()` mit relevanten Parametern auf, um Ziele zu verfolgen.
* Verwenden Sie optional `addData()` fuer benutzerdefiniertes Targeting und Segmentierung.

***

#### Schritt 13 (Optional) – [Zuvor gesammelte Daten](../targeting-and-segmentation/native-segmentation#when-is-getremotevisitordata-required) oder [externe Daten](../targeting-and-segmentation/use-external-data-to-target-users) verwenden

* **Zuvor gesammelte Daten:** Rufen Sie `getRemoteVisitorData()` auf, um gesammelte oder vorgeladene Bedingungen wiederzuverwenden.
* **Externe Daten:** Verwenden Sie die **Data API**, um externe Daten zu sammeln, und rufen Sie sie im SDK ueber `getRemoteData()` ab.

***

## 2. Hybridmodus (Optional)

Folgen Sie diesen Schritten nur, wenn Sie den [**Hybridmodus**](./hybrid-experimentation) verwenden (clientseitiges SDK + `engine.js`).

### Einmalige Einrichtung (im SDK)

#### Schritt 1 – engine.js installieren

* Fuegen Sie das `engine.js`-Skript dem Frontend hinzu.

***

#### Schritt 2 – Frontend-Einwilligung verwalten

Wenn eine Einwilligung erforderlich ist, behandeln Sie sie mit:

* Der **Aktivierungs-API**
* Der `kameleoonQueue` ueber Tag Manager
* Einem direkten Code-Snippet:

```js theme={null}
window.kameleoonQueue.push(['Kameleoon.API.Core.enableLegalConsent', 'BOTH']); 
// or
window.kameleoonQueue.push(['Kameleoon.API.Core.disableLegalConsent', 'BOTH']);
```

***

#### Schritt 3 – Visitor-Code synchronisieren

Wenn eine Einwilligung **erforderlich** ist, synchronisieren Sie das Visitor-Code-Cookie zwischen dem SDK und dem Frontend:

```js theme={null}
window.kameleoonQueue.push({
  level: "IMMEDIATE",
  command: () => Kameleoon.API.Visitor.setVisitorCode("<USER_ID>")
});
```

***

### Optional: Daten an externe Tools senden (Hybridmodus)

#### Einmalige Einrichtung (in der [Kameleoon-App](https://app.kameleoon.com))

##### Schritt 1 – Drittanbieter-Integration aktivieren

* Aktivieren Sie im Bereich **Integrations** der Kameleoon-App das Analysetool, das Sie verwenden moechten (z. B. GA4).

***

#### Einrichtung fuer jedes Flag (in der Kameleoon-App)

##### Schritt 2 – Die Integration einschalten

* Aktivieren Sie im **Feature Flag Dashboard** das Tool fuer den gewaehlten Regeltyp (Experiment oder Delivery).
* Stellen Sie sicher, dass die Integration in der korrekten Umgebung (Production, Development oder Staging) aktiviert ist.

***

#### Einrichtung fuer jedes Flag (im SDK)

##### Schritt 3 – Tracking-Code abrufen

* Rufen Sie `getEngineTrackingCode()` im SDK-Code innerhalb von **5 Sekunden** nach Aktivierung des Features auf (`isFeatureActive` oder `getVariation`).

***

##### Schritt 4 – Tracking-Code in die Seite einfuegen

Fuegen Sie den zurueckgegebenen Code in das HTML ein:

```js theme={null}
window.kameleoonQueue = window.kameleoonQueue || [];
window.kameleoonQueue.push(['Experiments.assignVariation', 244200, 962266]);
window.kameleoonQueue.push(['Experiments.trigger', 244200, true]);
```

***

##### Schritt 5 – Event-Uebertragung verifizieren

* Pruefen Sie auf der angesprochenen Seite die Seitenelemente, um die Code-Injektion zu bestaetigen.
* Pruefen Sie bei GA4, ob das Ereignis in den `dataLayer` uebertragen wird.
* Bestaetigen Sie im **Network**-Tab, dass das Event an das korrekte Analysetool gesendet wird (GA4 sollte ein "collect"-Event anzeigen).
