Zum Inhalt springen

Klaviyo

Ein privater API-Schlüssel aus dem Klaviyo-Konto des Kunden genügt.

Feld Pflicht Wo Sie es finden
api_key ja Einstellungen → Konto → API-Schlüssel → „Privaten API-Schlüssel erstellen”. Zugriff: „Events” mit Vollzugriff genügt. Schlüssel (pk_…) kopieren.
read_api_key nein —
conversion_metric_id nein —
skip_native_events nein Auf true setzen, wenn die native Klaviyo-Shopify-Anbindung läuft. Sonst feuern Flows wie „Placed Order” doppelt.

Klaviyo API-Schlüssel öffnen

So heißt jedes Ereignis bei Klaviyo. Die Namen sind fest — was hier steht, kommt dort an.

Ereignis Heißt dort Voreingestellt
Seitenaufruf Viewed Page (EVOAR) —
Kategorie angesehen Viewed Category (EVOAR) ✓
Artikel angesehen Viewed Product (EVOAR) ✓
Suchergebnisse angesehen Searched Site (EVOAR) —
In den Warenkorb Added to Cart (EVOAR) ✓
Checkout begonnen Started Checkout (EVOAR) —
Kauf Placed Order (EVOAR) —
Rückerstattung Refunded Order (EVOAR) —
Konto angelegt Created Account (EVOAR) —
E-Mail-Anmeldung Subscribed to Newsletter (EVOAR) —
SMS-Anmeldung Subscribed to SMS (EVOAR) —
Termin gebucht Booked Appointment (EVOAR) —
Lead (allgemein) Submitted Form (EVOAR) —
Kontaktanfrage Requested Contact (EVOAR) —
Anruf angetippt Clicked to Call (EVOAR) —
Download Downloaded File (EVOAR) —
Kauf · Neukunde Placed Order · Neukunde (EVOAR) —
Kauf · Bestandskunde Placed Order · Bestandskunde (EVOAR) —

Klaviyo kennt keine anonymen Besucher. Jedes Ereignis muss an einem Profil hängen, sonst gibt es nichts zu tun. Vier Wege stehen zur Verfügung, und drei davon scheiden für uns aus.

E-Mail und Telefonnummer erwartet Klaviyo im Klartext. Den führen wir nicht: Er wird beim Ingest gehasht und verworfen. Bleibt die Kundennummer, und die ist eine Falle.

Übrig bleibt _kx, Klaviyos eigener Austauschschlüssel. Er steht im Cookie __kla_id und an jedem Link aus einer Klaviyo-Mail. Das Snippet liest beides aus. Der Schlüssel stammt von Klaviyo selbst, zeigt also immer auf ein Profil, das es gibt, und kann nichts Neues erzeugen.

Daraus folgt eine Grenze, die Sie kennen sollten: Ereignisse gehen nur für Besucher hinaus, die Klaviyo bereits kennt. Den Cookie setzt Klaviyo erst nach einem Formular, einer Anmeldung oder einem Klick aus einer Mail. Ein Erstbesucher hat ihn nicht, und für den kann kein System der Welt ein Stöber-Ereignis einem Profil zuordnen. Was nicht zuzuordnen ist, verlässt uns gar nicht erst und steht im Protokoll als übersprungen.

Der angenehme Nebeneffekt: Sie können jedes Ereignis gefahrlos einschalten, auch Seitenaufrufe. Die Prüfung sitzt im Adapter und greift für alle gleichermaßen.

Bei allen anderen Zielen lässt sich der Kauf nicht abschalten, denn ohne ihn gibt es nichts zu messen. Bei Klaviyo ist er ab Werk aus und frei abwählbar.

Der Grund ist die native Shopify-Anbindung. Sie schreibt Placed Order mitsamt Umsatz selbst und lässt sich nicht abschalten, ohne die Abonnenten- und Bestellsynchronisation zu verlieren. Wer denselben Kauf ein zweites Mal schickt, hat die Metrik doppelt, und jeder Flow daran löst zweimal aus. Zwei Bestellbestätigungen an dieselbe Kundin.

Dasselbe gilt für Checkout Started und Viewed Collection. Sinnvoll bleibt, was die Anbindung nicht liefert: das Stöbern.

Bei Klaviyo prüft er die Zugangsdaten, nicht den Versand — und sendet dabei bewusst kein Ereignis. Ein künstliches Testereignis trägt keinen _kx, würde also ohnehin übersprungen; mit einem erfundenen Schlüssel legte es genau das leere Profil an, um das es oben geht.

Stattdessen geht ein leerer Aufruf an denselben Endpunkt wie der echte Versand. Antwortet Klaviyo mit „Invalid input”, ist der Schlüssel gültig und trägt das Recht events:write. Antwortet es mit „Incorrect authentication credentials”, stimmt der Schlüssel nicht. Geschrieben wird in keinem Fall etwas.

Deduplizierung keine
Tempo 10 Anfragen je Sekunde
Einwilligung verlangt ad_storage
Besonderheit Doppeluebertragung mit der nativen Shop-Anbindung vermeiden.

Klaviyo Metrics — dort steht, was tatsächlich angekommen ist.