Passer au contenu principal

Comment créer un webhook entre WAX et Klaviyo

Transmettez automatiquement vos données de profil Klaviyo vers WAX pour déclencher vos flows

Klaviyo contient une grande partie des données de vos contacts : historique d'achat, comportement sur le site, attributs personnalisés… Le webhook vous permet de transmettre automatiquement ces données à WAX au bon moment, pour déclencher et personnaliser vos flows WhatsApp, RCS ou SMS, sans aucune action manuelle.

Avant de commencer : ce qu'il faut savoir

Deux types de données peuvent être transmis :

  1. Données fixes de profil → des informations stockées à l'avance sur la fiche contact Klaviyo (prénom, email, téléphone, attributs personnalisés). Elles existent avant l'événement et restent les mêmes tant que vous ne les modifiez pas.

  2. Données dynamiques liées à un événement → des informations générées au moment de l'événement, à partir de l'action précise de l'utilisateur (panier abandonné, produit consulté, etc.). Elles sont propres à cette action de cet utilisateur.

Pour que le webhook fonctionne, l'intégration entre WAX et Klaviyo doit être activée au préalable (voir Comment connecter Klaviyo à WAX ?). Si votre connexion est réussie, vous voyez cet affichage sur cette page :

💡 Le même webhook sert aussi à faire redescendre dans WAX les opt-ins collectés par Klaviyo (pop-up, checkout), avec un bloc Opt-In dans le flow WAX. Pas à pas : Étape 3️⃣ de Comment connecter Klaviyo à WAX ?

Étape 1️⃣ : Créez un flow WAX

Créez votre flow WAX et sélectionnez Klaviyo comme source de déclenchement. C'est cette étape qui génère les informations du webhook que vous ajouterez ensuite dans Klaviyo.

Dans WAX, rendez-vous dans Automations, puis cliquez sur Create en haut à droite pour créer un flow from scratch ou partir d'un template.

Étape 2️⃣ : Configurez le trigger Klaviyo

Cliquez sur le nœud Trigger pour ouvrir le panneau de configuration, puis, dans la section Source, sélectionnez Klaviyo.

WAX génère alors automatiquement 3 informations à reporter dans Klaviyo :

  • Destination URL : l'adresse du endpoint WAX à coller dans votre webhook Klaviyo (ex : https://api.getwax.io/v1/hooks/...)

  • Headers : la clé d'en-tête à renseigner dans Klaviyo : Authorization

  • Bearer Token : le token secret associé, à copier et coller dans le champ correspondant dans Klaviyo.

Étape 3️⃣ : Ajoutez le webhook dans un flow Klaviyo

Partez d'un flow existant ou créez-en un nouveau

Option A : vous avez déjà un flow Klaviyo

  1. Ouvrez le flow concerné (par exemple Abandoned Cart).

  2. Sélectionnez l'action Webhook, puis faites-la glisser (drag and drop) à l'endroit où vous souhaitez l'ajouter dans la séquence.

Option B : vous créez un nouveau flow Klaviyo

  1. Créez un nouveau flow et choisissez le trigger adapté (par exemple When someone Checkout Started).

  2. Ajoutez ensuite les étapes souhaitées (délai d'attente, email, etc.).

  3. Sélectionnez l'action Webhook, puis faites-la glisser (drag and drop) à l'endroit où vous souhaitez l'ajouter dans la séquence.

Insérez les informations du webhook WAX dans Klaviyo

  1. Copiez l'URL du webhook fournie par WAX.

  2. Retournez dans Klaviyo, ouvrez le bloc Webhook que vous venez d'ajouter.

  3. Collez cette URL dans le champ Destination URL.

  4. Ajoutez ensuite le header et le token en les copiant-collant depuis WAX.

⚠️ Utilisez toujours le raccourci copier-coller de WAX (plutôt que de retaper l'URL manuellement) pour éviter toute erreur de frappe. L'URL doit être collée strictement à l'identique, sans espace ni caractère ajouté.

Étape 4️⃣ : Remplissez le JSON body avec les bonnes données

C'est ici que vous indiquez à Klaviyo quelles informations envoyer à WAX via le webhook. Le numéro de téléphone (phone_number) est indispensable : c'est lui qui permet à WAX d'identifier le contact.

Créez la structure du JSON

Squelette à copier-coller dans le JSON body du webhook, avant de remplir quoi que ce soit :

{
"attributes": {
"email": "",
"first_name": "",
"phone_number": ""
},
"checkout_url": ""
}

Comment lire cette structure :

  • email, first_name et phone_number sont dans "attributes" → ce sont des données de profil (onglet Profile).

  • checkout_url est en dehors du bloc attributes → c'est une donnée d'événement (onglet Event), propre au panier abandonné.

Récupérez chaque donnée dans Klaviyo

Pour chaque champ vide, ouvrez la fenêtre Preview Profile Info. Vous y trouverez deux onglets :

  • Profile → les données fixes de profil (prénom, email, téléphone, attributs personnalisés...).

  • Event → les données dynamiques liées à l'événement (URL du panier abandonné, produits ajoutés, devise, etc.).

Cliquez sur l'onglet correspondant, repérez la donnée souhaitée (par exemple checkout_url) et cliquez sur son nom : Klaviyo copie automatiquement la variable correspondante.

💡 Cette copie se fait derrière votre pop-up : pensez à fermer la fenêtre pour voir la confirmation de copie s'afficher.

Collez les variables dans le JSON

Collez chaque variable entre les guillemets correspondants dans le JSON body du webhook. Exemple final pour un flow de checkout abandonné :

{
"attributes": {
"phone_number": "{{ person.phone_number|default:'' }}",
"first_name": "{{ person.first_name|default:'' }}",
"email": "{{ person.email|default:'' }}"
},
"checkout_url": "{{ event.extra.checkout_url|default:'' }}"
}

Comment lire ce JSON :

  • Tout ce qui se trouve sous la clé "attributes" correspond aux données fixes de profil (onglet Profile).

  • Tout ce qui se trouve après la fermeture de ce bloc attributes (après la deuxième accolade }) correspond aux données dynamiques liées à un événement (onglet Event).

🛠️ Si le code ne fonctionne pas (erreur, blocage) : il manque très probablement une virgule ou une accolade. Copiez votre JSON et demandez à une IA (comme Claude ou ChatGPT) d'en corriger la syntaxe.

Étape 5️⃣ : Utilisez les variables dans WAX et activez le flow

Mettez à jour les liens et variables dans WAX

Dans vos messages WAX, remplacez les liens et champs statiques par les variables issues du webhook. Par exemple :

  • le bouton ou lien de relance doit pointer vers la variable checkout_url (et non un lien fixe) ;

  • le prénom affiché dans le message doit utiliser la variable first_name.

Vérifiez chaque message du flow pour vous assurer qu'aucune variable n'a été oubliée.

Activez les deux flows

Activez le webhook côté Klaviyo (flow en Live), puis activez également le flow côté WAX. Les deux activations sont nécessaires pour que les données circulent d'une plateforme à l'autre.

Envoyez un test

Pour vérifier que tout fonctionne, déclenchez l'événement Checkout Started depuis Klaviyo. Méthode complète : Comment envoyer un test d'un webhook Klaviyo ?

⚠️ Les variables ne peuvent être testées que si le flow est réellement déclenché par Klaviyo (via l'événement Checkout Started) et qu'il est live sur WAX. Un test manuel sur WAX seul n'affichera pas les bonnes valeurs.

Tips & Conseils

  • Limitez le test à votre numéro : ajoutez une condition à l'entrée du webhook Klaviyo, par exemple envoyer le webhook uniquement si le phone_number correspond au vôtre, ou si l'email se termine par le nom de domaine de votre organisation.

  • Un webhook par flow WAX : chaque flow a sa propre URL et son propre token, ne réutilisez pas ceux d'un autre flow.

  • Évitez les doublons de canal : utilisez WAX whatsapp_opt_in_status dans vos flows Klaviyo pour ne pas envoyer le même message par SMS et par WhatsApp.

Voir aussi

Avez-vous trouvé la réponse à votre question ?