So sendest du Einwilligungen über Zapier an Klaviyo
Übersicht
Erfahre, wie du einen benutzerdefinierten Zapier-Webhook erstellst, um die SMS-Einwilligung an Klaviyo zu senden. Du kannst die Anweisungen in diesem Leitfaden ganz einfach anpassen, um auch die E-Mail-Einwilligung zu senden.
Die folgenden Schritte helfen dir dabei, einen Zap mit einem Webhook (auch Catch Hook genannt) zu erstellen, der eine Python-Skriptaktion auslöst. Das Skript sendet einen API-Aufruf an Klaviyo, um E-Mail- und Telefonnummern für eine Liste zu abonnieren.
Diese Funktion ist nur für Nutzer*innen mit Premium-Zapier-Tarifen verfügbar.
Über die Integration
Diese Integration wird von Klaviyo nicht vollständig unterstützt, kann aber bei Bedarf als Workaround verwendet werden. Wir empfehlen, diese Integration nur zu verwenden, wenn du Entwickler*innen in deinem Team hast, die sie unterstützen können.
Dieser Leitfaden verwendet eine Zapier-Code-Aktion, die ein Python-Skript ausführt, sobald der Trigger erkannt wird. Mit dieser Lösung kannst du Felder den Datentypen zuordnen, die Klaviyo-Endpunkte erfordern; konkret die Endpunkte Profile abonnieren und Profile abmelden.
Zapier-Webhook einrichten
- Melde dich bei deinem Zapier-Konto an.
- Wähle auf der Hauptseite in Zapier +Erstellen aus und wähle dann Zap.
- Gib einen Namen für deinen neuen Zap ein (z. B. Klaviyo Webhook).
- Suche nach Webhook und wähle dann Webhooks by Zapier aus dem Trigger-Menü aus.
- Wähle im nächsten Menü in den Optionen für Trigger Event die Option Catch Hook aus.
- Klicke auf Weiter.
- Wähle die Registerkarte Test aus.
- Kopiere die Webhook-URL, die Zapier dir bereitstellt, damit du deine Anfragen dorthin senden kannst.
- Bevor du testest, musst du Testdaten an deinen Webhook senden. Weitere Informationen findest du in unserem Leitfaden So sendest du Testdaten an Zapier. Achte darauf, Telefonnummern korrekt zu formatieren, wenn du Testdaten sendest.
- Sobald du die Testdaten an den Webhook gesendet hast, klicke auf Trigger testen (im Tab Test).
- Wenn die Anfrage erfolgreich ist, wird eine Erfolgsmeldung angezeigt, und die Testdaten werden unterhalb der Erfolgsmeldung eingefügt, ähnlich wie im folgenden Beispiel:
- Sobald dein Trigger funktioniert, klicke auf Mit ausgewähltem Datensatz fortfahren.
Zapier-Aktion einrichten
- Gib im Aktionsmenü Code by Zapier in das Suchfeld ein und wähle die Option aus der Liste aus.
- Klicke auf Ereignis auswählen > Python ausführen.
- Klicke auf Weiter.
Feldzuordnung einrichten und Skriptlogik erstellen
- Richte die Feldzuordnung ein, um die Eingabedaten in der Tabelle unten mit den richtigen Testdaten zu korrelieren, die du zuvor gesendet hast.
Eingabedaten | Testdaten zugeordnet |
| 1. E-Mail: <Test email> |
| 1. Telefonnummer: <Test phone number> |
| 1. Sms_consent: true |
| 1. Name: <Test name> |
- Füge ein Script wie das folgende in das Codefeld ein:
import requests
# configuring sms subscribe or unsubscribe call
if (input_data["sms_consent"] == "true" or input_data["sms_consent"] == "True" or input_data["sms_consent"] == "TRUE"):
url = "https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/" payload = { "data": {
"type": "profile-subscription-bulk-create-job",
"attributes": {
"profiles": { "data": [
{
"type": "profile",
"attributes": {
"email": input_data["email"],
"phone_number": input_data["phone_number"],
"subscriptions": {
"sms": { "marketing": { "consent": "SUBSCRIBED" } }
}
}
}
] }
},
"relationships": { "list": { "data": {
"type": "list",
"id": "LIST_ID"
} } }
} }
elif (input_data["sms_consent"] == "false" or input_data["sms_consent"] == "False" or input_data["sms_consent"] == "FALSE"): url = "https://a.klaviyo.com/api/profile-subscription-bulk-delete-jobs/"
payload = { "data": {
"type": "profile-subscription-bulk-delete-job",
"attributes": {
"profiles": { "data": [
{
"type": "profile",
"attributes": {
"email": input_data["email"],
"phone_number": input_data["phone_number"],
}
}
] }
},
"relationships": { "list": { "data": {
"type": "list",
"id": "LIST_ID"
} } }
} }
headers = {
"accept": "application/json",
"revision": "2024-05-15",
"content-type": "application/json",
"Authorization": "Klaviyo-API-Key your-private-api-key"
}
response = requests.post(url, json=payload, headers=headers)
# Zapier requires an 'output' object
output = {"response text": response.text} - Ersetze
your-private-api-keydurch deinen privaten Klaviyo API-Schlüssel.
Behandle private API-Schlüssel wie Passwörter – bewahre sie an einem sicheren Ort auf und lege sie niemals öffentlich offen.
- Ersetze
LIST_ID(an beiden Stellen) durch die Klaviyo-Listen-ID, an die du deine Zapier-Daten senden möchtest. Du findest deine Listen-ID in Klaviyo, indem du zu Zielgruppe > Listen & Segmente > Einstellungen navigierst. Wenn du Personen sofort abonnieren möchtest, ohne eine Bestätigung (was beim Testen hilfreich sein kann), stell sicher, dass deine Liste auf Single-Opt-in eingestellt ist (zu finden unter dem Tab Einwilligung in den Listeneinstellungen). - Klicke auf Weiter und dann auf Schritt testen.
- Wenn dein Test erfolgreich ist, siehst du eine Antwort ohne Fehler wie die untenstehende:
- Du kannst auch in Klaviyo prüfen, ob der Test erfolgreich war, indem du zu deiner Liste navigierst und sicherstellst, dass das Profil hinzugefügt wurde.
- Wenn dein Test erfolgreich ist, klicke auf Veröffentlichen, um deinen Zap zu veröffentlichen. Wenn dein Test nicht erfolgreich ist, sieh dir unsere Tipps zur Fehlerbehebung für häufige Probleme an.
Tipps zur Fehlerbehebung
Folgende Probleme treten häufig bei der Einrichtung des Zapier-Webhooks auf. Wenn andere Probleme auftreten, kannst du dich an die Klaviyo Community wenden, um weitere Hilfe zu erhalten.
EOL beim Scannen eines String-Literals
Wenn du diesen Fehler siehst, fehlt dir ein Anführungszeichen um eine deiner Variablen. Überprüfe die Listen-ID und den privaten API-Schlüssel, um sicherzustellen, dass sie auf beiden Seiten von Anführungszeichen umgeben sind.
SyntaxError: ungültige Syntax
Wenn dieser Fehler angezeigt wird, entferne die Kommentare im Python-Code (jede Zeile, die mit # beginnt).
Weitere Ressourcen
- So verwaltest du die API-Schlüssel deines Kontos
Finde heraus, wie du auf die API-Schlüssel für dein Klaviyo-Konto zugreifen und diese verwalten kannst.
- So sendest du Testdaten an Zapier
Hier erfährst du, wie du beim Erstellen eines Webhooks Testdaten über eine POST-Anfrage an Zapier sendest, um E-Mail- und SMS-Einwilligungen an Klaviyo zu übertragen.