# Klaviyo

URL: https://docs.ablyft.com/de/developers/integrations/klaviyo/

> Sende die Experiments und Variations, die ein Visitor gesehen hat, als Event am Profil des Visitors an Klaviyo.



Mit einer Custom Integration kann ABlyft ein `Experiment Viewed`-Event an Klaviyo senden, sobald ein Visitor ein
Experiment sieht. Danach kannst du die Variation in Klaviyo-Charts und -Segmenten verwenden.

## Das brauchst du

* Das Klaviyo Onsite-JavaScript ist auf den Seiten installiert, auf denen deine Experiments laufen.
* Das ABlyft Snippet ist auf denselben Seiten installiert.
* Zugriff auf **Project → Integrations → Custom Integrations** in ABlyft.

## Integration in ABlyft anlegen

1. Öffne **Project → Integrations → Custom Integrations** und lege eine neue Integration an, zum Beispiel `Klaviyo`.
2. Wähle unter **Trigger Settings** entweder **Experiment viewed** (Standard) oder **User bucketed**. Den Unterschied
   findest du unter [Custom Integrations](https://docs.ablyft.com/de/developers/integrations/custom-integrations/).
3. Füge den Code unten bei **Integration Code** ein und speichere.

## Integration-Code

```js
if (!window.klaviyo) {
  throw new Error('Klaviyo is not loaded yet');
}

window.klaviyo.track('Experiment Viewed', {
  experiment_id: experimentId,
  experiment_name: experimentName,
  variation_id: variationId,
  variation_name: variationName
});
```

ABlyft wiederholt den Code alle 100 ms, bis zu 20-mal, bis er ohne Fehler läuft. Das `throw` in der ersten Zeile sorgt
dafür, dass auf Klaviyo gewartet wird. Der Code nutzt den direkten Aufruf `klaviyo.track(...)`, nicht `klaviyo.push`.

## Wo du die Daten in Klaviyo siehst

Das Event `Experiment Viewed` ist in Klaviyo eine Custom Metric. Seine Properties `experiment_name` und `variation_name`
kannst du nutzen, um:

* das Event im Activity Feed eines Profils zu finden,
* Charts der Metric zu bauen, aufgeteilt nach Property,
* Segmente zu erstellen, zum Beispiel Profile, die eine bestimmte Variation gesehen haben.

Events gehören zu einem Profil. Ein Visitor ohne bekannte E-Mail-Adresse oder Telefonnummer ist nicht identifiziert,
siehe dazu den Hinweis unten.

> **Vor der Nutzung prüfen:** Die JavaScript-API-Dokumentation von Klaviyo beschreibt `klaviyo.track` für identifizierte User und `klaviyo.identify`
> mit `email` oder `phone_number`. Sie beschreibt nicht im Detail, was mit Events anonymer Visitors passiert und wie
> genau die Metric und ihre Properties in der Klaviyo-Oberfläche erscheinen. Bei einem anonymen Visitor wird das Event
> möglicherweise erst einem Profil zugeordnet, wenn der Visitor identifiziert wird. Prüfe in Klaviyo die Einstellung
> zum Nachtragen anonymer Aktivität und teste mit einem bekannten Profil. Sende keine E-Mail-Adresse aus dem
> Integration-Code, außer deine Website hat sie bereits und dein Consent-Setup erlaubt es.

## Einrichtung prüfen

1. Aktiviere für die Integration **Run in preview mode**, damit sie auch in der Preview läuft.
2. Öffne eine Seite mit laufendem Experiment im Preview-Modus, als Visitor mit einem Profil, das Klaviyo kennt, und die
   Browser-Konsole. Sie meldet einen Fehler, wenn der Code nach 20 Versuchen noch scheitert.
3. Öffne in Klaviyo das Profil und prüfe im Activity Feed, ob `Experiment Viewed` erscheint.

## Hinweise

> **Consent und Limits:** Custom Integrations laufen nicht, wenn Tracking für den Visitor deaktiviert ist (Opt-out oder Do Not Track), außer im
> Preview-Modus. Klaviyo braucht in deinem Consent-Tool eventuell eine eigene Kategorie. Mit **Experiment viewed** wird
> das Event bei jedem View gesendet, das erhöht dein Klaviyo-Eventvolumen.

[Klaviyo JavaScript API documentation](https://developers.klaviyo.com/en/docs/javascript_api)

