> ## 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.

# Kameleoon.API.Experiments

> Referenz der Methoden von Kameleoon.API.Experiments, mit denen aktive Experimente gelesen, zugewiesen und ausgelöst werden.

Dieses Modul stellt Methoden für den Zugriff auf Live-Experimente bereit.

> [!NOTE]
>
> Dieses Modul ist nur mit der Kameleoon-Webexperimentierungslösung verfügbar.

## assignVariation

Die Methode `assignVariation()` erzwingt die Zuweisung einer bestimmten Variation für ein Experiment, was den standardmäßigen Zuweisungsalgorithmus außer Kraft setzt. Wenn Sie dies aufrufen, bevor das Experiment ausgelöst wird, pre-allocates die Engine die Variation für die spätere Aktivierung. Wenn das Experiment bereits ausgelöst wurde, setzen Sie das Argument **override** auf **true**, um die vorhandene Zuordnung zu ersetzen.

```javascript theme={null}
var experimentID = 2468;
var variationID;

if (Kameleoon.API.CurrentVisit.device.type == "Desktop") {
  variationID = 123456;
} else if (Kameleoon.API.CurrentVisit.device.type == "Tablet") {
  variationID = 654321;
} else {
  variationID = 987654;
}

Kameleoon.API.Experiments.assignVariation(experimentID, variationID);
```

**Arguments**

| Name | Type | Description |
| - | - | - |
| experimentID | Number | ID des Experiments. Dieses Feld ist erforderlich. |
| variationID | Number | ID der Variation. Dieses Feld ist erforderlich. |
| override | Boolean | Wenn **true**, ersetzt die Engine alle vorhandenen Variationszuordnungen durch den angegebenen Wert. Wenn weggelassen, wird die Methode standardmäßig auf **false** gesetzt. |

## block

Die Methode `block()` verhindert, dass ein Experiment ausgelöst oder aktiviert wird, einschließlich manueller Aufrufe über `trigger()`. Der Block wird standardmäßig auf die aktuelle Seite angewendet, bis zum nächsten `Kameleoon.API.Core.load()`. Setzen Sie das Argument **visit** auf **true**, um das Experiment für den gesamten Besuch zu blockieren.

```javascript theme={null}
// Das Experiment wird für die aktuelle Seite blockiert
Kameleoon.API.Experiments.block(12345);

// Das Experiment wird für den gesamten Besuch blockiert
Kameleoon.API.Experiments.block(54321, true);
```

**Arguments**

| Name | Type | Description |
| - | - | - |
| experimentID | Number | ID des Experiments. Dieses Feld ist erforderlich. |
| visit | Boolean | Wenn **true**, blockiert die Engine das Experiment für den gesamten Besuch. Wenn weggelassen, gilt der Block nur für die aktuelle Seite (Standard: **false**). |

## getAll

Die `getAll()` Methode gibt alle Live-Experimente zurück (laufend, nicht Entwurf/pausiert/gestoppt).

```javascript theme={null}
Kameleoon.API.Experiments.getAll().forEach(function (experiment) {
  if (experiment.id == 123456 && experiment.active) {
    console.log(experiment.name);
  }
});
```

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiments | Array | Liste der [Experiment-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## getActive

Die Methode `getActive()` gibt aktive Experimente für den Besuch und die Seite zurück. Ein Experiment ist aktiv, wenn sein Variationscode im aktuellen Sitzungskontext ausgeführt wurde. Um Experimente abzurufen, die Sie auf anderen URLs während des Besuchs aktiviert haben, verwenden Sie `getActivatedInVisit()`.

```javascript theme={null}
if (Kameleoon.API.Experiments.getActive().length == 0) {
  Kameleoon.API.Events.trigger("No Experiments Events");
}
```

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiments | Array | Liste der [Experiment-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## getById

Die `getById()` Methode gibt das Experiment für die angegebene ID zurück.

```javascript theme={null}
var experiment = Kameleoon.API.Experiments.getById(123456);

if (experiment && experiment.active) {
  console.log(experiment.name);
}
```

**Arguments**

| Name | Type | Description |
| - | - | - |
| id | Number | ID des Experiments. Dieses Feld ist erforderlich. |

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiment | Object | [Experiment-Objekt](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## getByName

Die `getByName()` Methode gibt das Experiment für den angegebenen Namen zurück.

```javascript theme={null}
var experiment = Kameleoon.API.Experiments.getByName("MyExperimentName");

if (experiment && experiment.active) {
  console.log(experiment.id);
}
```

**Arguments**

| Name | Type | Description |
| - | - | - |
| name | String | Name des Experiments. Dieses Feld ist erforderlich. |

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiment | Object | [Experiment-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## getTriggeredInVisit

Die `getTriggeredInVisit()` Methode gibt alle Experimente zurück, die während des aktuellen Besuchs ausgelöst wurden.

```javascript theme={null}
Kameleoon.API.Experiments.getTriggeredInVisit().forEach(function (experiment) {
  if (experiment.id == 123456) {
    console.log(experiment.name);
  }
});
```

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiments | Array | Liste der [Experiment-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## getActivatedInVisit

Die `getActivatedInVisit()` Methode gibt alle Experimente zurück, die während des aktuellen Besuchs aktiviert wurden.

```javascript theme={null}
Kameleoon.API.Experiments.getActivatedInVisit().forEach(function (experiment) {
  if (experiment.id == 123456) {
    console.log(experiment.name);
  }
});
```

**Rückgabewert**

| Name | Type | Description |
| - | - | - |
| experiments | Array | Liste der [Experiment-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment). |

## trigger

Die `trigger()` Methode erzwingt ein Experiment zu triggern, indem Zielgruppen-Bedingungen umgangen werden. Diese Aktion initiiert das Experiment, aktiviert es aber möglicherweise nicht.

```javascript theme={null}
let experimentID = 123456;
Kameleoon.API.Experiments.trigger(experimentID, true);
```

**Arguments**

| Name | Type | Description |
| - | - | - |
| experimentID | Number | ID des Experiments. Dieses Feld ist erforderlich. |
| trackingOnly | Boolean | Setzen Sie auf **true** für Hybrid-Experimente (Backend-Implementierung mit Frontend-Tracking), um nur Tracking-Aktionen durchzuführen, ohne Variationsassets (JS, CSS, Umleitungen) auszuführen. Wenn weggelassen, wird die Methode standardmäßig auf **false** gesetzt. |
