Erste Schritte mit Code

Geschätzt 9 Lesedauer in Minuten
|
Aktualisiert 27. Jan. 2025, 10:55 EST
Du wirst lernen

Du wirst lernen

Lerne etwas über Code und wie du eigene Funktionen erstellst, die direkt von Klaviyo ausgeführt werden.

Der Code muss individuell entwickelt werden und das Support-Team von Klaviyokann keine praktische Hilfe leisten. Wenn du keinen Entwickler in deinem Team hast und dich nicht wohl dabei fühlst, selbst Code zu schreiben, kannst du dich an einen Klaviyo-Partner wenden.

Bevor du beginnst

Bevor du beginnst

Der Code ist Teil der Klaviyo's Kundendatenplattform (Kundendatenplattform). 

Klaviyo Die Kundendatenplattform ist nicht in der Standard-Marketinganwendung von Klaviyoenthalten. Um auf die damit verbundenen Funktionen zugreifen zu können, ist ein Abonnement der Kundendatenplattform erforderlich. In unserem Leitfaden zur Abrechnung erfährst du mehr darüber, wie du diese Funktion zu deinem Abonnement hinzufügen kannst, oder du kannst gleich loslegen, wenn du ein neuer Kunde bist.

Was ist Code?

Was ist Code?

Der Code ermöglicht es dir, benutzerdefinierte Funktionen als Reaktion auf in Klaviyo erfasste Ereignisse auszuführen. Du kannst deine eigenen Javascript- oder Python-Funktionen im Code-Editor schreiben, die dann direkt auf der Plattform ausgeführt werden.

Mit Code kannst du Daten an deine externen Systeme senden, ohne einen öffentlichen HTTP-Endpunkt für den Empfang von Webhooks einrichten zu müssen, und benutzerdefinierte Funktionen erstellen, die als Reaktion auf das Eintreten eines Ereignisses ausgelöst werden. Du kannst auch auf viele beliebte vorgefertigte Module zugreifen, um die Erstellung individueller Lösungen zu erleichtern.

Themen

Themen

Code kannst du benutzerdefinierte Funktionen als Reaktion auf jedes Ereignis ausführen, das über die Get Events API abgefragt werden kann.

Dazu gehören:

  • E-Mail-Ereignisse (z. B. angeklickte E-Mail, als Spam markierte E-Mail )
  • SMS-Ereignisse (z. B. gesendete SMS, empfangene SMS)
  • Push-Ereignisse (z. B. empfangener Push, abgeprallter Push)
  • Ereignisse aus Integrationen (d.h. Ereignisse aus Erstanbieter-Integrationen, die von Klaviyo erstellt wurden)
  • API Ereignisse (d. h. Ereignisse, die über die API von Klaviyosynchronisiert werden)

Klaviyo Der Code unterstützt die folgenden Ereignisse nicht als Themen:

  1. E-Mail geöffnet
  2. E-Mail erhalten
Code-Schnittstelle

Code-Schnittstelle

Um auf den Code zuzugreifen, navigiere zur Registerkarte Code unter Kundendatenplattform > Data Management > Code

code.jpg

Um eine benutzerdefinierte Funktion zu erstellen, wähle die Schaltfläche Funktion erstellen :

Eine Funktionstaste erstellen

Du gelangst zur Seite Rezepte , auf der du entweder eine vorgefertigte Lösung oder eine leere Python- oder Node.js-Funktion zur Ausführung auswählen kannst.

Bild (9).jpg

Wenn du ein bestehendes Rezept auswählst, siehst du den Code-Editor mit dem Code für die Lösung und einer Beschreibung der Funktionalität. 

Bild (10).jpg

Wenn du eine leere Funktion auswählst, damit du deine eigenen Lösungen erstellen kannst, wird das Modal "Details" angezeigt, in dem du dies tun kannst:

  • Benenne deine Funktion
    Ein Name, um deine Funktion zu identifizieren.
  • Wähle ein Thema für deine Funktion
    Das Ereignis, das die Ausführung deines Codes auslösen wird.
  • Wähle eine Laufzeitumgebung
    Die Laufzeitumgebung, in der der Code ausgeführt wird (d.h. Python oder Node.js).

3.11.jpg

Nachdem du die gewünschte Auswahl getroffen und auf die Schaltfläche " Funktion erstellen" geklickt hast, wirst du zu einer Oberfläche mit den folgenden Registerkarten weitergeleitet: 

  • Herausgeber 
  • Test Ausgang 
  • Logs
Erteilung von Genehmigungen

Erteilung von Genehmigungen

Wenn du zum ersten Mal eine Funktion über Code erstellst, wirst du aufgefordert, die Code OAuth-Anwendung zu authentifizieren. Dies ist erforderlich, damit deine Code-Funktionen auf die Daten in deinem Klaviyo-Konto zugreifen können.

Sobald du den Zugang gewährt hast, wirst du zum Code-Editor weitergeleitet.

Herausgeber

Herausgeber

Auf der Editor-Seite in Code wird die Seite in 3 Registerkarten aufgeteilt:

  • Code
    Der Code-Tab hat einen Editor, in dem du Python- oder Javascript-Funktionen schreiben kannst.
  • Module
    Module sind Pakete von Drittanbietern, die Funktionen zu deinen Funktionen hinzufügen.
  • Umgebungsvariablen
    Umgebungsvariablen sind die Schlüssel-Wert-Paare, auf die deine Funktion zugreift, wenn sie ausgeführt wird. 
Code

Code

Auf der Registerkarte Code siehst du einen Editor, mit dem du Python- oder Javascript-Funktionen schreiben kannst, die als Reaktion auf das ausgewählte Thema ausgeführt werden.

3.11(2).jpgjs.jpg

Parameter der Handlerfunktion

Parameter der Handlerfunktion

Damit Klaviyo den von dir geschriebenen Code ausführen kann, muss er in eine Funktion namens "handler" verpackt werden, die 2 Parameter akzeptiert:

  • Ereignis
    Besteht aus den mit dem auslösenden Ereignis verbundenen Ereignisdaten im Format JSON:API. Wenn der Auslöser nicht ereignisbasiert ist (z. B. " Zur Liste hinzugefügt"), ist der Wert dieses Parameters je nach Sprache None oder Null.
  • Kontext
    Enthält zusätzliche Metadaten über die Funktionsausführung, einschließlich des Profils, das mit dem Funktionsaufruf verbunden ist. Du kannst auf das Profil-Objekt über context.Profil in Javascript oder context["Profil" ] in Python zugreifen.

Im Folgenden findest du Beispiele für die Ereignis- und Kontextparameter, die an die Handler-Funktion übergeben werden.

Beispiel Ereignisformat

{
    {
  "Daten": {
   "type": "event",
   "id": "7S2q9haejYG",
   "Attribute": {
     "Zeitstempel": 1694435729,
     "event_properties": {
        "MfaEnabled": false,
        "IpAddress": "000.00.0.0",
        "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
        "UserRole": "Owner",
        "SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
        "LoginType": "Username_password",
        "current_company_id": "XXXXX",
        "$event_id": "1694435729"
      },
     "datetime": "2023-09-11 12:35:29+00:00",
     "uuid": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
    },
   "Beziehungen": {
     "Profil": {
       "Daten": {
          "type": "profile",
          "id": "123456"
        },
       "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
        }
      },
      Metrik": {
       "Daten": {
          "type": "metric",
          "id": "4Tdup6"
        },
       "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
        }
      }
    },
   "links": {
      "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
    }
  }
}

Beispiel Kontextformat 

{
   "Unternehmen": "XXXXX",
   "Auslöser": {"type": "event", "uid": "123456"},
   "function_id": "123456",
}
Module

Module

Auf der Registerkarte Module kannst du aus den beliebtesten vorgefertigten Modulen auswählen (d.h. Pakete von Drittanbietern, die deine Funktionen erweitern). 

Um ein externes Modul hinzuzufügen, das du in deinem Code verwenden möchtest, wähle die Schaltfläche Modul hinzufügen:

Schaltfläche Modul hinzufügen

In dem erscheinenden Modal kannst du das Modul, das du hinzufügen möchtest, suchen und auswählen: 

Modul modal hinzufügen

Sobald du es hinzugefügt hast, kannst du das Modul mit dem Code verwenden, den du in Klaviyo schreibst.

Du solltest die Dokumentation des externen Moduls lesen, um zu erfahren, wie du es verwenden kannst.

Hinzugefügte Module

Das Klaviyo-Modul

Alle Code-Funktionen werden mit einem eigenen Klaviyo-Paket geliefert, das in deiner Code-Umgebung vorinstalliert ist. Mit diesem Modul können deine Funktionen auf die Daten in deinem Klaviyo-Konto zugreifen, ohne dass du Zugangsdaten wie einen API-Schlüssel angeben musst.

Die API des Klaviyo-Moduls hängt davon ab, ob dein Code in Python oder Javascript geschrieben ist.

Python Klaviyo Modul

Python Klaviyo Modul

Die API des vorinstallierten Klaviyo-Moduls ist das gleiche wie das Klaviyo SDK-Objekt, das du normalerweise mit dem Klaviyo-API Python-Modul instanziieren würdest. Du kannst dir das Klaviyo-Modul als einen vorinstallierten Klaviyo SDK-Client vorstellen.

In einem traditionellen Workflow würdest du zum Beispiel zuerst einen neuen Klaviyo SDK-Client instanziieren, indem du dem Konstruktor einen API-Schlüssel übergibst, und dann das resultierende SDK-Objekt verwenden.

from klaviyo_api importieren KlaviyoAPI
importieren os
def handler(event, context):
Klaviyo = KlaviyoAPI(api_key=os.getenv("API"))
print(Klaviyo.Metrik.get_metrics())

Mit Code brauchst du nur das Klaviyo-Objekt zu importieren und die Authentifizierung wird für dich erledigt.

Klaviyo importieren

def handler(event, context):
print(Klaviyo.Metrik.get_metrics())

Sieh dir die verfügbaren Klaviyo-Objekte und ihre Methoden an.

Javascript Klaviyo Modul

Javascript Klaviyo Modul

Wenn du das vorinstallierte Klaviyo-Modul in deinen Javascript-Funktionen verwendest, importiere die spezifischen Klaviyo Funktionen, auf die du zugreifen möchtest, mit der geschweiften Klammer-Syntax aus dem Klaviyo-Modul. Dann verwende sie wie ein API Objekt mit dem Klaviyo-API Javascript Modul.

importiere { Metrics } von 'Klaviyo';
export default async (event, context) => {
console.log(await Metrics.getMetrics())
}

Sieh dir die verfügbaren Klaviyo-Objekte und ihre Methoden an. 

 

Umgebungsvariablen 

Umgebungsvariablen 

Auf der Registerkarte Umgebungsvariablen kannst du Schlüssel-Wert-Paare festlegen, auf die dein Code in Klaviyo verweisen kann, wenn er ausgeführt wird. Diese können verwendet werden, um Informationen wie Anmeldedaten und geheime Schlüssel zu laden, damit deine Funktionen darauf zugreifen können, wenn sie ausgeführt werden. 

Um eine Umgebungsvariable hinzuzufügen, wähle die Schaltfläche Variable hinzufügen

Schaltfläche Umgebungsvariablen hinzufügen

In dem erscheinenden Modal kannst du ein Schlüssel-Wert-Paar für deine Umgebungsvariable festlegen. 

Schlüssel-Werte-Paare für die Umgebungsvariable gesetzt

Sobald sie erstellt sind, werden die Umgebungsvariablen auf der Seite aufgelistet und können in deinem Code verwendet werden. 

Um in deinem Code auf deine Umgebungsvariablen zuzugreifen, benutze os.getenv("Key") für Python oder process.env.KEY für Node.js.

Erstellte Umgebungsvariablen

Um den Wert einer bestehenden Umgebungsvariablen zu aktualisieren, musst du eine neue Variable mit demselben Schlüssel erstellen, für den du den Wert aktualisieren möchtest.

Test Ausgang

Test Ausgang

Auf der Registerkarte Testausgabe in Code kannst du deinen Code mit aktuellen Ereignissen testen, um sicherzustellen, dass sich die Ausgabe wie erwartet verhält. 

Um deine Funktion zu testen:

  1. Wähle die Schaltfläche Test ausführen:
    Schaltfläche Test ausführen
  2. Wähle in dem erscheinenden Modal ein Ereignis aus, das du testen möchtest. Du kannst aus den 10 letzten Ereignissen auswählen, die in Klaviyo erfasst wurden.
    Aktuelle Ereignisse zum Testen mit
  3. Nachdem du ein Ereignis zum Testen ausgewählt hast, wird die Testausgabe angezeigt:Test Ausgang
Logs

Logs

Die Registerkarte Protokolle zeigt den Zustand deiner laufenden Code-Funktionen an. Du wirst sehen:

  • Status
    Der Fortschritt bei der Ausführung einer Funktion. 
  • Reaktionszeit
    Die Zeit, die dein Code braucht, um als Reaktion auf ein Ereignis ausgeführt zu werden.
  • Datum
    Ein Zeitstempel, wann die Funktion ausgeführt wurde. 
Tarifgrenzen

Tarifgrenzen

Für den Klaviyo-Code gelten die folgenden Tarifgrenzen:

  • Funktions-Timeout
    Funktionen im Code können bis zu 15 Sekunden lang ausgeführt werden, bevor sie eine Zeitüberschreitung verursachen.
  • Funktionsratenbegrenzung
    Die Funktionen im Code erlauben bis zu 25 gleichzeitige Ausführungen pro Funktion.
Code bereitstellen 

Code bereitstellen 

Um den Code, den du im Editor schreibst, einzusetzen, schalte das Status-Dropdown auf Live um. 

Umschalter zum Einsetzen des Codes

Sobald du den Code auf "live" gestellt hast, wird er jedes Mal ausgeführt, wenn das Themenereignis in Klaviyo erfasst wird.

Wenn eine Funktion live geschaltet ist, kann es bis zu 15 Minuten dauern, bis Ereignisse die Funktion auslösen.

Beispiellösung

Beispiellösung

Im Folgenden findest du ein Beispiel für eine benutzerdefinierte Lösung, die mit Code implementiert wurde.

Im Beispiel werden die Ereignisdaten als Profileigenschaft festgelegt, damit sie in gezielten E-Mails und in der Segmentierung verwendet werden können. Das benutzerdefinierte Ereignis " Gebuchtes Shooting" wird auf Klaviyo erfasst, wenn der Kunde ein Shooting bei der Marke bucht, und die Daten über den Buchungsort und die zugehörige URL werden als Profileigenschaft auf dem jeweiligen Profil eingestellt.

Es wird auch eine Eigenschaft mit dem Namen " Letzte Buchungen" erstellt, die die Daten der letzten 5 gebuchten Shootings lädt, so dass sie in einer E-Mail-Vorlage durchgeschleift und abgerufen werden können.

Code

Code

Der Python-Code für diese Lösung wird im Code-Editor geschrieben und wird direkt von Klaviyo ausgeführt.

Code_updates.jpg

Beispielcode

Beispielcode

Module

Module

In diesem Beispiel wird das integrierte Klaviyo-Modul verwendet. Das Klaviyo-Modul ist darauf angewiesen, dass das Klaviyo-API-Modul zur Funktion hinzugefügt wird. Einmal hinzugefügt, übernimmt das Klaviyo-Modul die Authentifizierung für dich, sodass kein API-Schlüssel benötigt wird.

Umgebungsvariablen

Umgebungsvariablen

Umgebungsvariablen können verwendet werden, um Informationen wie Anmeldeinformationen und geheime Schlüssel zu laden, damit deine Funktionen darauf zugreifen können, wenn sie ausgeführt werden. Für dieses Beispiel wird das folgende Schlüssel-Wert-Paar festgelegt:

  • MAX_PROPERTIES_TO_STORE
    Eine Umgebungsvariable, mit der du die maximale Anzahl der zu ladenden Eigenschaften für die Beispielfunktion festlegen kannst.
Testen

Testen

Beim Erstellen der Funktion zum Festlegen von Ereignisdaten als Profileigenschaften wird die Registerkarte Testausgabe verwendet, um die erwartete Ausgabe zu überprüfen.

test_output.jpg

Logs

Logs

Sobald die Funktion erstellt und getestet wurde, zeigt die Registerkarte " Protokolle" den Status der Funktion an, während sie als Reaktion auf gebuchte Schießereignisse ausgeführt wird. 

Logs.jpg

Ergebnis

Ergebnis

Wenn der Kunde sich für ein Shooting anmeldet und das Ereignis " Gebuchtes Shooting" auslöst, werden die Ereignisdaten in das Kunden-Profiling geladen und für die Segmentierung und gezielte Kampagne verwendet. 

Rezepte implementieren  

Rezepte implementieren  

Mit Recipes in Code kannst du vorgefertigte Lösungen implementieren, ohne dass du sie selbst entwickeln musst.

So implementierst du ein Rezept in deinem Klaviyo-Konto:

  1. Wähle die Schaltfläche Funktion erstellen auf der Seite Code.
  2. Wähle das Rezept aus, das du in deinem Konto implementieren möchtest. Du gelangst zum Editor, in dem du den Code für das ausgewählte Rezept und eine Beschreibung der Funktion sehen kannst.
  3. Klicke auf die Schaltfläche Auswählen, um fortzufahren.
    Währungsumrechner Rezept in Klaviyo
  4. Wähle einen Namen für die Funktion und den Auslöser, der sie ausführen soll. Die Laufzeit wird automatisch auf der Grundlage des Codes für das Rezept festgelegt.
  5. Wähle die Funktionstaste Erstellen.
  6. Sobald die Funktion erstellt wurde, setzt du die entsprechenden Umgebungsvariablen, damit die Funktion die Daten hat, die sie zum Ausführen braucht.
  7. Das Rezept kann nun getestet und auf Live gestellt werden.

In den Rezepten musst du möglicherweise bestimmte Felder aktualisieren, damit sie mit deinen Namensvorlieben und den Daten in deinen Veranstaltungen übereinstimmen. Welche Felder umbenannt und bearbeitet werden können, kannst du in der Anleitung des Rezepts nachlesen.

Zusätzliche Ressourcen 

Zusätzliche Ressourcen 

Erste Schritte mit der Klaviyo's Kundendatenplattform
Verstehe die verschiedenen Webhooks, die in Klaviyo

War dieser Artikel hilfreich?
Nutze dieses Formular nur für Feedback zu Artikeln. So kontaktierst du den Support.

Mehr von Klaviyo entdecken

Community
Vernetze dich mit Kolleg*innen, Partner*innen und Klaviyo-Expert*innen, um dich inspirieren zu lassen, Erkenntnisse auszutauschen und Antworten auf deine Fragen zu erhalten.
Live-Schulung (EN) ↗
Nimm an einer Live-Sitzung mit Klaviyo-Expert*innen teil, um mehr über Best Practices, die Einrichtung wichtiger Funktionen und mehr zu erfahren.
Support

Kontaktiere den Support über dein Konto.

Support per E-Mail (kostenlose Testversion und kostenpflichtige Konten) Verfügbar 24/7

Chat- / virtuelle Unterstützung
Verfügbarkeit abhängig von Standort und Abonnementtyp