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

# Experiment and personalization objects

> Referenz der Objekte Experiment, Personalization, activation, Variation und Template.

Diese Objekte beschreiben Experimente und Personalisierungen sowie, ob jede davon im aktuellen Besuch aktiviert wurde.

## Experiment

Ein Experiment-Objekt stellt einen Kameleoon A/B-Test dar. Zu den Kerneigenschaften gehören das Segment und die zugeordneten Variationen. Variationen enthalten den JavaScript- und CSS-Code, der die Änderungen implementiert.

**Properties**

| Name | Type | Description |
| - | - | - |
| id | Number | ID des Experiments. |
| name | String | Name des Experiments. |
| dateLaunched | Number | Zeitpunkt des ersten Starts des Experiments (UTC-Format – ms seit dem 1. Januar 1970). |
| dateModified | Number | Zeitpunkt der letzten Änderung des Experiments (UTC-Format – ms seit dem 1. Januar 1970). |
| targetSegment | Object | [Segment-Objekt](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#segment), das dem Experiment zugeordnet ist. |
| variations | Array | Liste von [Variation objects](#variation) für dieses Experiment. |
| trafficDeviation | Object | Zuordnung der aktuellen Traffic-Abweichung des Experiments. Die Schlüssel sind Varianten-IDs (ID **0** ist die Referenz). Die Werte sind Prozentsätze (0–100). Die Summe kann 100 nicht erreichen, wenn ein Teil des Traffics nicht zugewiesen ist. |
| untrackedTrafficReallocationTime | Number | Zeitpunkt der letzten Neuzuweisung für nicht erfassten Traffic (UTC-Format, ms seit dem 1. Januar 1970). Hat die Engine nie eine Neuzuweisung durchgeführt, ist der Wert **null**. |
| goals | Array | Liste der [Goal-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#goal), die für das Experiment erfasst werden. |
| mainGoal | Object | [Goal-Objekt](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#goal), das das Hauptziel des Experiments darstellt. |
| triggered | Boolean | Entspricht **true**, wenn das Experiment auf der Seite ausgelöst wurde, sonst **false**. |
| active | Boolean | Boolean gleich **true**, wenn das Experiment derzeit auf der Seite aktiv ist, sonst **false**. |
| triggeredInVisit | Boolean | Entspricht **true**, wenn das Experiment im aktuellen Besuch ausgelöst wurde, sonst **false**. Ein Auslösen im Besuch bedeutet, dass der Besuch irgendwann die Segmentbedingungen des Experiments erfüllt hat. |
| activatedInVisit | Boolean | Wenn **true**, hat die Engine das Experiment im aktuellen Besuch aktiviert. Ein Auslösen garantiert keine Aktivierung; Faktoren wie Traffic-Ausschluss oder Capping können die Aktivierung verhindern. |
| nonExpositionReason | String | Hat die Engine das Experiment ausgelöst, es aber nicht aktiviert, gibt dieses Feld den Grund an. Mögliche Werte: `EXPERIMENT_EXCLUSION` (der Besucher gehört zur vom Experiment ausgeschlossenen Gruppe, zählt also nicht zu den Ergebnissen) und `VISITOR_CAPPING` (der Besucher hat ein Capping-Limit erreicht, das die Aktivierung verhindert). Diese Eigenschaft ist verfügbar, wenn die Engine das Experiment auf der aktuellen Seite ausgelöst hat und `active` **false** ist. |
| associatedVariation | Object | [Variation-Objekt](#variation), das für den jeweiligen Besucher mit dem Experiment verknüpft ist. Ist das Experiment noch nicht aktiviert, ist dieser Wert in der Regel **null**, außer die Engine hat eine Variante vorab zugewiesen. |
| redirectProcessed | Boolean | Wenn **true**, hat auf der vorherigen Seite eine URL-Weiterleitung für dieses Experiment stattgefunden. Sie setzen diese Eigenschaft über [processRedirect()](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/modules/core.md#processredirect) oder über eine manuelle Konfiguration. Bei JavaScript-basierten Integrationen können Weiterleitungen die weitere Ausführung von Code abbrechen; prüfen Sie diese Eigenschaft, um Netzwerkanfragen auf der Zielseite bei Bedarf erneut zu senden. |

## Personalization

Ein Personalisierungs-Objekt stellt eine Kameleoon-Personalisierungsaktion für ein bestimmtes Segment dar. Zu den Kerneigenschaften gehören das Segment und die zugeordnete einzelne Variation. Das Variation-Objekt enthält den JavaScript- und CSS-Code, der die Personalisierungsaktion implementiert.

**Properties**

| Name | Type | Description |
| - | - | - |
| id | Number | ID der Personalisierung. |
| name | String | Name der Personalisierung. |
| dateLaunched | Number | Zeitpunkt des ersten Starts der Personalisierung (UTC-Format – ms seit dem 1. Januar 1970). |
| dateModified | Number | Zeitpunkt der letzten Änderung der Personalisierung (UTC-Format – ms seit dem 1. Januar 1970). |
| targetSegment | Object | [Segment-Objekt](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#segment), das der Personalisierung zugeordnet ist. |
| goals | Array | Liste der [Goal-Objekte](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#goal), die für die Personalisierung erfasst werden. |
| mainGoal | Object | [Goal-Objekt](https://docs.kameleoon.com/de/developer-docs/apis/activation-api-js/api-reference/objects/goal-segment-trigger-and-product.md#goal), das das Hauptziel der Personalisierung darstellt. |
| triggered | Boolean | Wenn **true**, wurde die Personalisierung auf der Seite ausgelöst. |
| active | Boolean | Wenn **true**, ist die Personalisierung auf der Seite aktiv (angezeigt). |
| triggeredInVisit | Boolean | Wenn **true**, wurde die Personalisierung während des aktuellen Besuchs ausgelöst. Dies zeigt an, dass der Besuch die Segmentbedingungen der Personalisierung erfüllt hat. |
| activatedInVisit | Boolean | Wenn **true**, hat die Engine die Aktion der Personalisierung im aktuellen Besuch angezeigt. Ein Auslösen garantiert nicht, dass die Engine die Aktion anzeigt; Capping oder die Zugehörigkeit zur Kontrollgruppe können die Anzeige verhindern. |
| nonExpositionReason | String | Grund für Non-Exposition, wenn ausgelöst, aber nicht angezeigt. Mögliche Werte: `GLOBAL_EXCLUSION`, `PERSONALIZATION_EXCLUSION`, `PRIORITY`, `SCHEDULE`, `PERSONALIZATION_CAPPING`, `VISITOR_CAPPING`, `SCENARIO` und `SIMULATION`. Diese Eigenschaft ist verfügbar, wenn die Personalisierung auf der aktuellen Seite ausgelöst wurde und `active` ist **false**. |
| associatedVariation | Object | Zugehöriges [Variation-Objekt](#variation). Diese Eigenschaft verweist bei Personalisierungen immer auf ein gültiges Objekt. |

## ExperimentActivation

Ein `ExperimentActivation`-Objekt stellt ein Experiment dar, das bei einem bestimmten Besuch aktiviert wurde. Da Besuche auch historisch sein können, wurde das zugehörige Experiment möglicherweise inzwischen beendet. In diesem Fall fügt die Engine die Metadaten des Experiments (Name, Startdatum, Segment) nicht in die Anwendungsdatei ein, weshalb sie über die API nicht verfügbar sind. Die IDs bleiben jedoch verfügbar.

**Properties**

| Name | Type | Description |
| - | - | - |
| experimentID | Number | ID des Experiments. |
| associatedVariationID | Number | ID der zugeordneten Variation. Wenn die zugeordnete Variation die Referenz (Kontrolle) ist, ist die ID gleich 0. |
| associatedVariation | Object | Zugeordnetes [Variation-Objekt](#variation). Diese Eigenschaft ist **null**, wenn das Experiment oder die Variation nicht mehr aktiv ist (beendet oder pausiert). |
| times | Array | Liste von Aktivierungszeiten für dieses Experiment bei diesem Besuch (UTC-Format – ms seit dem 1. Januar 1970). |

## PersonalizationActivation

Ein `PersonalizationActivation`-Objekt stellt eine Personalisierung dar, die während eines bestimmten Besuchs aktiviert wurde. Wie bei Experimenten sind Metadaten nicht verfügbar, wenn die Personalisierung beendet wurde, obwohl IDs zugänglich bleiben.

**Properties**

| Name | Type | Description |
| - | - | - |
| personalizationID | Number | ID der Personalisierung. |
| associatedVariationID | Number | ID des associated variation. |
| personalization | Object | Zugeordnetes [Personalisierungs-Objekt](#personalization). Diese Eigenschaft ist **null**, wenn die Personalisierung nicht mehr aktiv ist (beendet oder pausiert). |
| associatedVariation | Object | Zugeordnetes [Variation-Objekt](#variation). Diese Eigenschaft ist **null**, wenn die Personalisierung oder Variation nicht mehr aktiv ist (beendet oder pausiert). |
| times | Array | Liste von Aktivierungszeiten für diese Personalisierung bei diesem Besuch (UTC-Format – ms seit dem 1. Januar 1970). |

## Variation

Ein `Variation`-Objekt stellt eine Komponente eines `Experiment`-Objekts dar. Ein A/B-Test enthält mehrere Variationen, wie etwa einen A/B-Test mit einer Variation plus Referenz oder einen A/B/C-Test mit zwei plus Referenz. Personalisierungen werden einem einzelnen [Variation-Objekt](#variation) zugeordnet.

> [!NOTE]
>
> Bei der Ausführung von Variationscode verweist das Schlüsselwort `this` auf das entsprechende `Variation`-Objekt. Verwenden Sie diesen Verweis, um in der Objekthierarchie zu navigieren (z. B. über die Eigenschaft `associatedCampaign`).

**Properties**

| Name | Type | Description |
| - | - | - |
| id | Number | Eindeutige ID der Variation. Wenn die Variation die Referenz (Kontrolle) darstellt, ist die ID gleich **0**. |
| name | String | Name der Variation. Wenn die Variation die Referenz (Kontrolle) darstellt, ist der Name gleich "Referenz". |
| associatedCampaign | Object | Das mit dieser Variation verknüpfte [Experiment](#experiment)- oder [Personalisierungs](#personalization)-Objekt. |
| instantiatedTemplate | Object | [Instantiated-template-Objekt](#template), aus dem diese Variante erzeugt wurde, sofern zutreffend. Stammt die Variante nicht aus einer Vorlage, ist diese Eigenschaft **null**. |
| reallocationTime | Number | Zeitpunkt der letzten Traffic-Neuzuweisung für die Variante (UTC-Format, ms seit dem 1. Januar 1970). Hat die Engine nie eine Neuzuweisung für die Variante durchgeführt, ist der Wert **null**. |

## Template

Ein `Template`-Objekt stellt eine instanziierte Widget-Vorlage dar. Verwenden Sie Vorlagen, um Variationen aus einer gemeinsamen Codebasis über die Kameleoon-App-Schnittstelle zu generieren. Ein `Template`-Objekt enthält vordefinierte Felder und ihre Werte für die zugehörige Variation.

**Properties**

| Name | Type | Description |
| - | - | - |
| name | String | Name des base template. |
| customFields | Object | Map der Template-Daten. Die Schlüssel sind die Namen der in der Basis-Template definierten Felder. Die Werte sind die instantiierten Werte, die Sie für die zugeordnete Variation eingegeben haben. Beispielsweise, wenn Sie eine Template mit einem einzelnen Textfeld "currentDiscount" erstellt haben, könnte `customFields` gleich `{"currentDiscount": "-10% auf alle Bestellungen heute!"}` sein. |
