Résumé
- Qu'est-ce que l'Automatisation des Emails ?
- Accès et Disponibilité
- Création de votre Scénario
- Déclencheurs comportementaux
- Événements externes (webhooks)
- Sauvegarde et Publication des Scénarios
- Créer un scénario à partir d’un modèle
- Exemples de scénarios
- Statistiques de l'automatisation
- Liens de désinscription dans les e-mails d’automatisation
- Gérer un workflow existant
Qu'est-ce que l'Automatisation des Emails ?
Les automatisations vous permettent d'envoyer des messages personnalisés et opportuns à votre public sans avoir à gérer chaque envoi manuellement. En utilisant des déclencheurs prédéfinis, vous pouvez créer des scénarios qui répondent automatiquement aux actions de vos contacts, réduisant ainsi les tâches manuelles tout en améliorant le parcours client.
Les scénarios automatisés sont flexibles, efficaces et conçus pour vous aider à communiquer avec votre public au bon moment, sans frais supplémentaires.
L'éditeur visuel d'automatisation de Mailjet facilite la conception et la gestion de vos scénarios. La structure intuitive en « drag-and-drop » vous permet de créer des parcours clients en toute simplicité. Vous pouvez zoomer pour obtenir une vue détaillée, réorganiser les blocs en fonction de l'évolution de votre stratégie et créer des parcours qui s'adaptent à votre entreprise.
Accès et Disponibilité
- L' automatisation est disponible exclusivement pour les abonnements Premium 15k et supérieurs.
- Si vous passez à une version inférieure qui ne prend pas en charge l'automatisation, tous les scénarios actifs seront automatiquement mis en pause.
À la suite de l'introduction du nouvel éditeur pour les scénarios d'automatisation, vous ne pourrez plus utiliser l'ancienne fonctionnalité d'automatisation pour créer de nouveaux scénarios. Cependant, tous les scénarios actifs créés précédemment avec l'ancien éditeur continueront à fonctionner comme prévu.
Nous vous encourageons à recréer vos scénarios existants à l'aide du nouvel éditeur afin de tirer pleinement parti de ses fonctionnalités revisitées, de ses améliorations et de ses futures mises à jour. Le nouvel éditeur est plus intuitif, plus flexible et conçu pour évoluer avec vos besoins.
Création de votre Scénario
Pour commencer, accédez à Automatisations dans la navigation de Mailjet, puis sélectionnez "Créer un scénario".
Une fois dans l’éditeur, choisissez le type d’e-mails que le flux d’automatisation enverra : Marketing ou Transactionnel.
Ensuite, utilisez les blocs du panneau de droite pour construire votre parcours client. Tout en mettant l'accent sur le parcours, nous ferons référence au scénario lorsque le contexte s'y prêtera.
Chaque bloc vous permet de déclencher une action, d'écouter un événement ou d'appliquer une condition au scénario.
Bloc de Démarrage
Le bloc de démarrage détermine les critères auxquels votre contact doit répondre pour que le scénario se déclenche. Vous définissez les critères en sélectionnant un type de déclencheur et en configurant votre public.
- Options de déclenchement du scénario :
- Événement d'abonnement : déclenche le scénario lorsqu'un contact s'abonne à une, plusieurs ou toutes les listes de contacts.
- Événement de mise à jour des propriétés d'un contact : déclenche le scénario lorsqu'une propriété d'un contact est mise à jour.
-
Déclencheur comportemental (OPEN/CLICK) : Déclenche lorsque le contact ouvre un e-mail ou clique sur un lien — avec des filtres optionnels par Campagnes, Tags et Expéditeurs.
Pour plus de détails sur les déclencheurs comportementaux, rendez-vous dans la section « Déclencheurs comportementaux » de cet article. -
Événement externe (Webhook) : Déclenchez un workflow lorsque votre système (site web, application, CRM, etc.) envoie un événement à Mailjet via l’API. Vous pouvez sélectionner un ou plusieurs qualificatifs de webhook (les « noms » d’événements) afin de définir quels événements externes peuvent démarrer le workflow.
Pour plus de détails sur les webhooks, consultez la section « Événements externes (Webhooks) » de cet article.
- Segmentation de votre audience (optionnel) :
- Sélectionnez ou créez un segment à partir de vos segments existants.
- Créez un filtre personnalisé : segmentez votre public en créant un segment qui n'est disponible que dans le scénario.
Exemples de configuration :
- Contact abonné à n'importe quelle liste et localisé en France.
- Contacts abonnés à la liste de contacts "Newsletter".
- Contacts abonnés à "Newsletter" ou "Promotions" et appartenant au segment "Utilisateurs Engagés".
- Comportemental (OPEN) : le contact ouvre un e-mail de la campagne « Spring_Sale_2026 » ou « VIP_Offers ».
- Comportemental (CLICK) : le contact clique sur un lien tagué
pricingouupgradedans n’importe quelle campagne. - Comportemental (OPEN + Expéditeurs) : le contact ouvre un e-mail envoyé par
news@mail.example.comouoffers@mail.example.com. - Comportemental (CLICK + Campagnes + Tags) : le contact clique sur un lien tagué
shoesousneakersdans les campagnes « Summer_Catalog » ou « Back_To_School ». - Événement externe (Webhook) : le contact déclenche l’événement externe
purchase_completed.
Une fois que vous avez configuré votre bloc de démarrage pour définir les critères auxquels votre public doit répondre pour entrer dans le scénario, vous pouvez commencer à concevoir le parcours client.
Bloc d'Envoi d'Email
Envoie automatiquement un email prédéfini aux contacts lorsqu’ils atteignent cette étape du workflow.
- Modifier le design : Personnalisez le contenu de votre modèle d’email.
- Nom de la campagne : Indiquez un nom pour identifier votre campagne.
- Données du webhook : L’option Utiliser les données du webhook permet au bloc Envoyer un email d’utiliser les données reçues depuis un webhook ou un événement externe entrant. Cela signifie que l’email peut être personnalisé avec les valeurs envoyées dans la charge utile du webhook, et pas uniquement avec les propriétés de contact standard.
👉Exemple : utiliser les données d’un webhook
Imaginez que vous avez une boutique en ligne. Chaque fois qu’un client effectue un achat, votre site web envoie une requête HTTP POST au endpoint du webhook Mailjet Workflows. Cet événement déclenche ensuite l’action correspondante dans votre workflow d’automatisation.
Le webhook envoie ce type de données :
{
"Tag": "purchase_completed",
"contactMail": "localpart@domainpart.tld",
"Data": {
"Variables": {
"firstname": "John",
"product_name": "Running Shoes",
"order_number": "ORD-45821",
"delivery_date": "25 June",
"discount_code": "THANKYOU10"
}
}
}
Votre automatisation pourrait être :
Événement externe/webhook reçu → Envoyer un email
Dans le bloc Envoyer un email, activez l’option Utiliser les données du webhook.
https://api.mailjet.com/V3/REST/workflow2/event lors du traitement de ce bloc Envoyer un email spécifique.Ensuite, dans le contenu du bloc Envoyer un email, vous pouvez utiliser le langage de templating de Mailjet (https://documentation.mailjet.com/hc/fr/articles/16886347025947-Mailjet-Templating-Language) et plus particulièrement les variables de type var, dont les valeurs de remplacement sont envoyées via votre appel au endpoint https://api.mailjet.com/V3/REST/workflow2/event :
Bonjour {{var:firstname:""}},
Merci pour votre commande {{var:order_number:""}}.
Vous avez acheté : {{var:product_name:"votre article"}}
Votre date de livraison estimée est le {{var:delivery_date:"bientôt"}}.
Voici une réduction pour votre prochaine commande : {{var:discount_code:""}}
Le destinataire recevrait :
Bonjour John, Merci pour votre commande ORD-45821. Vous avez acheté : Running Shoes. Votre date de livraison estimée est le 25 June. Voici une réduction pour votre prochaine commande : THANKYOU10
Sans l’option Utiliser les données du webhook, l’email utilisera uniquement les données de contact standard déjà stockées dans Mailjet, comme les propriétés de contact, qui peuvent être récupérées via des variables de type data et non des variables de type var. Il ne pourra pas utiliser les valeurs temporaires envoyées par le webhook, comme le numéro de commande, le nom du produit ou le code de réduction.
👉Définition du endpoint
Les événements webhook sont envoyés au endpoint suivant :
POST /v3/REST/workflow2/event
Champs de la charge utile
| Champ | Obligatoire | Type | Description |
|---|---|---|---|
ContactID |
Facultatif | Integer | L’ID du contact pour l’événement. Au moins ContactID ou ContactMail doit être fourni. |
ContactMail |
Facultatif | String | L’adresse email du contact pour l’événement. Au moins ContactID ou ContactMail doit être fourni. |
Tag |
Obligatoire | String | Le nom de l’événement. Cette valeur doit correspondre au nom de l’événement utilisé dans le déclencheur du workflow. |
Data |
Facultatif | Object | Un objet contenant des données de message supplémentaires qui peuvent être réutilisées ultérieurement dans un bloc Envoyer un email du workflow. |
Si l’objet Data est inclus dans la charge utile de l’événement, les données sont temporairement stockées dans l’état du workflow du contact. Elles peuvent ensuite être utilisées par un futur bloc Envoyer un email dans le même workflow.
Ces données sont supprimées de l’état du workflow une fois utilisées, ou lorsque le contact quitte le workflow.
Champs disponibles dans l’objet Data
L’objet Data peut inclure les champs pris en charge par l’API Send de Mailjet.
| Champ | Obligatoire | Type | Description |
|---|---|---|---|
From |
Facultatif | Object | Définit l’adresse email et le nom de l’expéditeur. L’objet contient deux propriétés : Email et Name. |
Variables |
Facultatif | Object | Définit les variables qui peuvent être utilisées pour personnaliser le contenu de l’email. Les variables doivent être fournies sous forme de paires clé-valeur, par exemple { "firstname": "John" }. |
CustomID |
Facultatif | String | Ajoute un identifiant personnalisé au message. |
EventPayload |
Facultatif | String | Ajoute une charge utile au message. La charge utile peut utiliser n’importe quel format standard, comme JSON, XML ou CSV. |
TrackOpens |
Facultatif | String | Active ou désactive le suivi des ouvertures pour ce message. Valeurs autorisées : account_default, enabled, disabled. Valeur par défaut : account_default. |
TrackClicks |
Facultatif | String | Active ou désactive le suivi des clics pour ce message. Valeurs autorisées : account_default, enabled, disabled. Valeur par défaut : account_default. |
TemplateErrorDeliver |
Facultatif | Boolean | Lorsque cette valeur est définie sur true, le message est envoyé même si une erreur est détectée dans le langage de templating. Lorsqu’elle est définie sur false, l’envoi est interrompu si une erreur de templating est détectée. Ce champ peut uniquement être utilisé lorsque le langage de templating est activé. Valeur par défaut : false. |
TemplateErrorReporting |
Facultatif | Object | Définit le destinataire qui doit recevoir une copie de l’email avec le message d’erreur si un problème de template se produit. L’objet contient Email et Name. |
Exemple de charge utile
{
"ContactMail": "john@example.com",
"Tag": "purchase_completed",
"Data": {
"Variables": {
"firstname": "John",
"product_name": "Running Shoes",
"order_number": "ORD-45821",
"delivery_date": "25 June",
"discount_code": "THANKYOU10"
},
"TrackOpens": "enabled",
"TrackClicks": "account_default",
"CustomID": "order-confirmation-ORD-45821"
}
}
Dans cet exemple :
-
ContactMailidentifie le contact qui doit entrer dans le workflow. -
Tagdéfinit le nom de l’événement utilisé pour déclencher le workflow. -
Variablescontient les valeurs temporaires qui peuvent être utilisées dans un bloc Envoyer un email ultérieur. -
TrackOpensactive le suivi des ouvertures pour ce message. -
TrackClicksutilise les paramètres de suivi définis dans le compte Mailjet. -
CustomIDajoute un identifiant personnalisé au message.
Pour utiliser les valeurs de l’objet Variables dans l’email, activez l’option Utiliser les données du webhook dans le bloc Envoyer un email.
Vous pouvez ensuite référencer ces variables dans le modèle d’email à l’aide du langage de templating de Mailjet, par exemple :
Bonjour {{var:firstname:""}},
Merci pour votre commande {{var:order_number:""}}.
Vous avez acheté : {{var:product_name:"votre article"}}
Votre date de livraison estimée est le {{var:delivery_date:"bientôt"}}.
Voici votre code de réduction : {{var:discount_code:""}}
Bloc de Gestion des Listes de Contacts
Permet de gérer vos contacts dans des listes spécifiques :
- Abonnement à une liste : ajoute et inscrit le contact à une liste sélectionnée.
- Ajouter à une liste et se réabonner : ajoute le contact et le réabonne s'il est déjà présent.
- Ajout à une liste sans abonnement : ajoute le contact sans modifier l'état de l'abonnement.
- Désabonnement d'une liste : supprime l'abonnement d'un contact à la liste sélectionnée.
- Suppression d'une liste : supprime complètement le contact de la liste sélectionnée.
Bloc de Mises à Jour des Propriétés de Contact
Permet de mettre à jour les propriétés existantes de vos contacts :
- Sélectionnez la propriété de contact que vous souhaitez mettre à jour parmi celles disponibles (par exemple, l'âge, la ville, la date d'anniversaire).
- Définissez la nouvelle valeur à appliquer.
Bloc de Conditions
Lorsque vous utilisez le bloc de conditions, vous pouvez évaluer le contact en fonction de critères afin de déterminer l'itinéraire qu'il empruntera dans le scénario en sélectionnant un segment.
- Les critères de la condition sont définis par des segments ou des filtres personnalisés.
- Les contacts qui ne remplissent aucune condition seront redirigés vers une alternative par défaut.
Exemple :
Une condition peut être appliquée pour déterminer si le contact a récemment interagi avec les messages en créant un filtre « A ouvert un email au cours des X derniers jours ». Si le destinataire a ouvert un email envoyé au cours des X derniers jours, il quittera le scénario. Dans le cas contraire, il recevra un nouvel email.
Bloc d'Evénements
Le bloc d'événements attend qu'un événement se produise pour que le contact avance dans le scénario. Pour configurer le bloc d'événements, vous devez sélectionner:
Types d’événements
- Abonnement à une liste — ajouté/abonné à une liste.
- Mise à jour d’une propriété de contact — modification d’une valeur.
- Comportemental : OPEN — le contact ouvre un e-mail (peut être filtré).
-
Comportemental : CLICK — le contact clique sur un lien (peut être filtré).
Pour plus de détails sur les déclencheurs comportementaux, rendez-vous dans la section « Déclencheurs comportementaux » de cet article. -
Événement externe (Webhook) — le workflow se met en pause jusqu’à ce que votre système envoie un événement externe correspondant (qualificatif de webhook) pour ce contact.
Pour plus de détails sur les webhooks, consultez la section « Événements externes (Webhooks) » de cet article.
Configurez le minuteur de secours : il garantit qu’un contact ne reste jamais bloqué si l’événement ne se produit pas.
Bloc de minuteur
Ce bloc vous permet de déterminer quand le contact passera à l'étape suivante en définissant un délai, un filtre de date personnalisé ou un délai selon une propriété datée.
- Minuteur de Délai : vous permet de retarder l'étape suivante du scénario de quelques minutes, heures ou jours.
- Minuteur de Date Personnalisée : vous permet de retarder l'étape suivante en fonction d'une date définie. Une fois la date sélectionnée, vous déterminez si vous souhaitez que le délai soit ponctuel ou récurrent (annuel ou mensuel).
- Minuteur basé sur une Propriété de Date : vous permet de retarder l'étape suivante en fonction d'une date indiquée dans les propriétés de contact (par exemple, l'anniversaire).
Si vous souhaitez plus de précision sur l'heure d'envoi de l'email, les trois types de délais vous permettent de spécifier l'heure, ainsi que les jours de la semaine où vous souhaitez qu'il soit envoyé.
Bloc de Sortie
Le bloc de sortie représente la fin d'un scénario pour le contact. Un scénario peut comporter de nombreux blocs de sortie pour chaque chemin représenté dans le scénario, et chaque bloc de sortie vous permet de déterminer si le contact doit être autorisé à revenir dans le scénario s'il répond à nouveau aux critères de déclenchement du bloc de démarrage.
Déclencheurs comportementaux
Les déclencheurs comportementaux vous permettent de créer des flux d’automatisation avancés basés sur le comportement de vos contacts : ouverture d’un e-mail ou clic sur un lien. Ces deux nouveaux événements sont disponibles dans les blocs Démarrage et Événement du concepteur d’automatisation.
Filtres disponibles
Vous pouvez appliquer quatre types de filtres — un seul ou plusieurs combinés.
👉 Filtrer par campagnes
Attendez un événement (OPEN/CLICK) sur des e-mails issus de campagnes spécifiques. Vous pouvez sélectionner jusqu’à 10 campagnes par filtre d’événement, en combinant les types suivants :
-
Campagnes marketing (Newsletters) – Envoyées depuis l’app ou via
/v3/REST/campaigndraft. - Campagnes transactionnelles – Messages envoyés via Send API v3.1 avec un nom CustomCampaign (statistiques agrégées sous ce nom).
- Campagnes de workflow – Campagnes issues des blocs Envoyer un e-mail dans l’automatisation (du flux actuel ou d’autres flux publiés).
- Campagnes personnalisées – Noms de campagnes transactionnelles à venir : ajoutez-les dès maintenant en texte libre.
👉 Filtrer par tags
Les tags sont des chaînes ASCII personnalisées (max. 64 caractères) sans espace, sans caractères spéciaux (sauf le souligné _), et le tag ne peut pas être uniquement _. Jusqu’à 10 tags par filtre d’événement.
- OPEN — Attendre des ouvertures sur des e-mails associés à des tags spécifiques.
- CLICK — Attendre des clics sur des liens associés à des tags spécifiques.
Comment les tags d’OPEN sont appliqués
-
Éditeur (UI) – Dans l’éditeur d’e-mail, ouvrez Paramètres > Tags et ajoutez un ou plusieurs tags (longueur combinée ≤ 255 caractères).
-
Send API v3 – Utilisez l’en-tête
Mj-WorkflowTagsavec une liste séparée par des virgules (ex.tag1,tag2).
{
"Messages": [
{
"FromEmail": "sender@example.com",
"FromName": "Your Mailjet Pilot",
"Recipients": [{ "Email": "user@example.com", "Name": "Passenger 1" }],
"Mj-WorkflowTags": "tag1,tag2,tag8",
"Subject": "Your email flight plan!",
"Text-Part": "Welcome to Mailjet!",
"HTML-Part": "<h3>Welcome to <a href="https://www.mailjet.com/?mj-workflow-tags=tag4,tag5">Mailjet</a></h3>"
}
]
}-
Send API v3.1 – Utilisez la propriété de message
WorkflowTagsavec une liste séparée par des virgules.
{
"SandboxMode": false,
"Messages": [
{
"From": { "Email": "sender@example.com", "Name": "Your Mailjet Pilot" },
"Sender": { "Email": "sender@example.com", "Name": "Your Mailjet Co-pilot" },
"To": [{ "Email": "user@example.com", "Name": "Passenger 1" }],
"WorkflowTags": "tag1,tag2",
"Subject": "Your email flight plan!",
"TextPart": "Welcome to Mailjet!",
"HTMLPart": "<h3>Welcome to <a href="https://www.mailjet.com/?mj-workflow-tags=tag4,tag5">Mailjet</a></h3>",
"Priority": 2,
"CustomCampaign": "test-send-api-tag-1"
}
]
}Comment les tags de CLICK sont appliqués
-
Éditeur (UI) – Lorsque vous ajoutez un lien à un texte ou à un bouton, définissez les tags dans la fenêtre du lien (longueur combinée ≤ 255 caractères).
-
HTML personnalisé via APIs (v3 ou v3.1) – ajoutez vous-même les tags à chaque lien en utilisant un paramètre de requête :
mj-workflow-tags=tag1,tag2
mj-workflow-tags pendant la redirection, de sorte que vos destinataires ne le verront pas dans l’URL finale.👉 Filtrer par expéditeurs
Attendez un OPEN/CLICK sur des e-mails envoyés par des adresses d’expéditeur spécifiques. Vous pouvez choisir jusqu’à 10 expéditeurs par filtre d’événement (depuis n’importe quel expéditeur de votre clé API).
Combiner les filtres
Vous pouvez utiliser un seul filtre (Campagnes, Tags ou Expéditeurs) ou en combiner plusieurs.
- Lorsque vous choisissez plusieurs éléments au sein d’un même type de filtre (par ex. plusieurs campagnes), vous indiquez « n’importe lequel convient ». (C’est un OU.)
- Lorsque vous combinez différents types de filtres (par ex. Campagnes et Tags), vous indiquez « tous les types choisis doivent correspondre en même temps ». (C’est un ET.)
🔎Exemple (événement CLICK) :
Vous choisissez les campagnes A ou B, et les tags X ou Y.
Le flux ne se déclenche que lorsque quelqu’un clique sur un lien qui est :
- dans la campagne A ou la campagne B
ET
- ce lien possède le tag X ou le tag Y.
Notes (Déclencheurs comportementaux)
- Au moins un filtre est requis.
- Limites par filtre : 10 campagnes, 10 tags, 10 expéditeurs.
-
Format des tags : ASCII uniquement ; ≤ 64 caractères chacun ; pas d’espaces ; seul
_est autorisé comme caractère spécial ; le tag ne peut pas être uniquement_. - Plafond de longueur totale dans l’éditeur : longueur combinée de tous les tags ≤ 255 caractères.
- Suivi requis : les déclencheurs OPEN et CLICK nécessitent l’activation du suivi des ouvertures/clics sur votre compte et vos e-mails ; sinon les événements ne se déclencheront pas.
- Liens système exclus (CLICK) : désinscription, sortie de workflow et autres liens système ne sont pas pris en compte pour le filtre de campagnes.
-
Propreté des URL :
mj-workflow-tagsest supprimé lors de la redirection (avec le suivi des clics activé), il reste invisible pour les destinataires.
Événements externes (webhooks)
Les événements externes vous permettent de déclencher ou de poursuivre un workflow d’automatisation en fonction d’actions qui se produisent en dehors de Mailjet, par exemple :
un achat finalisé
un essai démarré
un abonnement renouvelé
rappel de panier abandonné
Contrairement aux webhooks Event API de Mailjet (où Mailjet envoie des événements email vers votre serveur), cette fonctionnalité fonctionne à l’inverse : votre système envoie un événement à Mailjet pour faire avancer un contact dans un workflow.
Concepts clés
Qualificatif de webhook : le « nom d’événement » que vous choisissez dans le builder (par exemple
purchase_completed). Votre appel API doit envoyer le même qualificatif afin que Mailjet puisse l’associer au bloc Démarrer/Événement.Association du contact : l’événement externe est lié à un contact spécifique (généralement via son adresse email). Si le qualificatif et le contact ne correspondent pas à ce que le bloc attend, rien ne se passe.
👉 Fonctionnement dans le bloc Démarrer
Sélectionnez Le contact déclenche un événement externe
Ajoutez un ou plusieurs qualificatifs de webhook (ce sont les événements externes qui peuvent démarrer le workflow).
(Optionnel) Ajoutez un segment/filtre personnalisé pour limiter qui peut entrer.
Implémentez l’appel API dans votre système à l’aide de l’extrait de code affiché dans le builder.
👉 Fonctionnement dans le bloc Événement
Utilisez le bloc Événement lorsqu’un contact se trouve déjà dans un workflow, et que vous souhaitez attendre une action externe :
Ajoutez un bloc Événement.
Sélectionnez Événement externe (Webhook) comme type d’événement.
Choisissez le(s) qualificatif(s) de webhook que le workflow doit écouter.
(Optionnel) Ajoutez un segment/filtre personnalisé pour limiter qui peut entrer.
Configurez le minuteur de secours : cela garantit qu’un contact ne reste jamais bloqué indéfiniment dans le workflow, au cas où l’événement ne se produirait jamais.
Exemple de cas d’usage : Envoyer un email → attendre purchase_completed jusqu’à 3 jours → si oui, envoyer « Merci » ; sinon, envoyer un rappel.
Déclencher l’événement externe (appel API)
Lorsque l’action externe se produit dans votre système, envoyez une requête POST vers l’endpoint external-event de Mailjet en utilisant la même clé API que le workflow.
curl -X POST "https://api.mailjet.com/V3/REST/workflow2/event" -H "Content-Type: application/json"
-d '{ "Tag": "$tag_Name", "contactMail": "$Email_Of_Existing_Contact" }'
-u "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE"Dans le corps de la requête :
envoyez le qualificatif de webhook sélectionné (nom de l’événement)
envoyez l’ identifiant du contact (généralement l’email du contact)
Bonnes pratiques
Gardez des qualificatifs cohérents et explicites (par ex. :
trial_started,plan_upgraded,invoice_paid).Utilisez une convention de nommage contrôlée (minuscules + underscores).
Configurez toujours un minuteur de secours dans les blocs Événement pour éviter les contacts « bloqués ».
Journalisez l’appel API sortant et la réponse de nos serveurs dans votre système (code de statut + payload) pour faciliter le dépannage.
Check-list de dépannage
Si le workflow ne démarre pas (ou si le contact ne dépasse pas un bloc Événement) :
Vérifiez que le qualificatif dans l’appel API correspond exactement au qualificatif sélectionné dans le bloc.
Vérifiez que vous utilisez la bonne clé API (celle à laquelle appartient le workflow).
Vérifiez que le contact existe dans votre audience Mailjet et que l’identifiant correspond (par ex. : même adresse email).
S’il s’agit d’un bloc Événement, vérifiez que le contact a déjà atteint ce bloc (et n’a pas quitté le workflow).
Réponses API et erreurs courantes
👉 404 — Le contact n’existe pas
Ce que vous verrez
HTTP/2 404
content-type: application/json; charset=utf-8
{"Code":"","Message":"The requested resource does not exist","Status":404,"Details":null}
Signification
Mailjet n’a pas trouvé le contact référencé dans votre requête (par exemple, l’email du contact n’est pas présent dans les contacts de votre clé API).
Comment corriger
Vérifiez que le contact existe dans votre audience Mailjet avant d’envoyer l’événement.
Vérifiez que vous utilisez le bon compte / la bonne clé API (celui/celle où le contact est stocké).
Vérifiez attentivement la valeur envoyée dans
contactMail(fautes de frappe, espaces en trop, mauvais domaine).
👉 204 — Mailjet a bien reçu votre requête
Une réponse 204 signifie que Mailjet a bien reçu votre requête, mais ne renvoie pas de corps de réponse. Une 204 n’indique pas de manière fiable si une action du workflow a été déclenchée.
Ce que vous verrez
HTTP/2 204
Signification
A) Requête reçue et action du workflow déclenchée
Cela se produit lorsque l’événement correspond à tout ce que le workflow attend :
le contact existe et peut être identifié via
contactMaille qualificatif de webhook (
Tag) correspond à un qualificatif sélectionné dans le bloc Démarrer ou Événementle contact respecte les filtres supplémentaires des blocs Démarrer/Événement (appartenance à un segment, conditions, etc.)
Que faire
Vérifiez la progression du contact dans le workflow via l’interface d’automatisation (par ex. : le contact a dépassé le bloc Démarrer/Événement, ou est entré dans l’étape suivante).
Si l’étape suivante de votre workflow envoie un email, vérifiez que le message apparaît dans l’historique / l’activité du contact.
B) Requête reçue, mais aucune action du workflow n’a été déclenchée
Une 204 peut également se produire lorsque la requête est valide, mais ne correspond pas aux conditions de l’automatisation, par exemple :
le qualificatif (
Tag) ne correspond pas aux qualificatifs sélectionnés dans le blocle contact ne correspond pas aux filtres du workflow (segment / conditions)
le contact n’est pas éligible pour entrer/ré-entrer dans le workflow en raison des paramètres du workflow (par exemple, « Les contacts ne peuvent pas ré-entrer »)
le contact n’est pas en attente sur le bloc Événement spécifique que vous souhaitiez satisfaire
Que faire
Vérifiez que l’orthographe/la casse du qualificatif correspond exactement à ce qui est configuré dans le builder.
Vérifiez que le contact correspond au segment/aux filtres utilisés dans le bloc Démarrer/Événement.
Vérifiez les règles d’entrée (ré-entrée) du workflow et l’emplacement actuel du contact dans le workflow.
Recommandation : considérez 204 comme « acceptée » et vérifiez le résultat dans l’interface
Comme 204 peut correspondre aux deux situations ci-dessus, considérez-la comme une requête acceptée, puis confirmez le résultat en vérifiant :
la position/la progression du contact dans le workflow
Vérifier l’issue d’une 204 via l’API (endpoint Messages)
Comme 204 No Content confirme uniquement que la requête a été acceptée (sans fournir de corps de réponse), vous pouvez valider si le workflow a réellement envoyé un email en interrogeant la ressource Messages de Mailjet pour ce contact dans une fenêtre de temps définie. (Pour plus de détails, consultez notre documentation développeur ici.)
1) Interroger les messages envoyés à un contact spécifique
Utilisez le ContactID du contact et un timestamp de début :
GET https://api.mailjet.com/v3/REST/message?Contact=$ContactID&FromTS=2026-01-19T00:00:00
Comment interpréter le résultat
Messages renvoyés (Count > 0 / le tableau Data contient des enregistrements) : le workflow a déclenché un envoi d’email pour ce contact dans la période demandée.
Aucun message renvoyé (Count = 0 / Data vide) : soit aucun email n’a été envoyé dans cette plage de temps, soit vous devez élargir la fenêtre (ou vérifier que vous utilisez le bon ContactID/le bon compte).
Bonnes pratiques
Utilisez une fenêtre
FromTSsuffisamment large lors des tests (par exemple, démarrez 15 à 60 minutes avant votre appel de test).Utilisez un fuseau horaire cohérent dans vos logs et timestamps (UTC recommandé).
2) Si vous n’avez pas le ContactID
Si votre système ne dispose que de l’adresse email, récupérez d’abord le ContactID (via les ressources Contacts), puis appelez l’endpoint Messages avec le filtre Contact. Pour plus d’informations, cliquez ici.
3) Ce que cela confirme (et ce que cela ne confirme pas)
Cette vérification confirme qu’un objet message existe pour ce contact dans la plage de temps. Elle ne prouve pas, à elle seule, quel bloc l’a déclenché. Pour dépanner, combinez-la avec :
la progression dans l’interface du workflow (position du contact), et/ou
les logs de votre système (timestamp + qualificatif/tag envoyé + request GUID).
👉 400 — Tag invalide (caractères non pris en charge, p. ex. utilisation de « - »)
Ce que vous verrez
HTTP/2 400
content-type: application/json; charset=utf-8
{"Code":"MJ-0001","Message":"invalid Tag: should contain only alphanumeric ASCII characters and underscores","Status":400,"Details":null}
Signification
Le qualificatif de webhook (Tag) contient des caractères invalides. Les tags doivent utiliser uniquement des caractères ASCII alphanumériques et des underscores (par exemple : purchase_completed). Les tirets (-) ne sont pas autorisés.
Comment corriger
-
Remplacez les tirets par des underscores :
purchase-completed→purchase_completed
Standardisez une convention de nommage des qualificatifs dans l’ensemble de vos systèmes (recommandé : minuscules + underscores).
👉 400 — Structure de payload invalide (tentative d’envoi de Tag sous forme de tableau)
Ce que vous verrez
HTTP/2 400
content-type: application/json; charset=utf-8
{"Code":"MJ-0001","Message":"error casting payload into associated model","Status":400,"Details":null}
Signification
Le corps de la requête ne correspond pas au schéma attendu. Tag doit être une chaîne unique, et non un tableau.
Comment corriger
Envoyez un qualificatif par requête (une valeur
Tag).Si vous devez déclencher plusieurs qualificatifs, envoyez plusieurs appels API — un par qualificatif.
👉 400 — ContactMail invalide (format d’email invalide)
Ce que vous verrez
HTTP/2 400
content-type: application/json; charset=utf-8
{"Code":"MJ-0001","Message":"invalid ContactMail: mail: missing '@' or angle-addr","Status":400,"Details":null}
SignificationcontactMail n’est pas au bon format (par exemple, il manque @).
Comment corriger
Validez les adresses email dans votre système avant d’appeler l’endpoint.
-
Assurez-vous d’envoyer une adresse email simple (sans format « nom d’affichage »), par exemple :
Valide :
user@example.comNon valide :
John Doe <user@example.com>
Sauvegarde et Publication des Scénarios
- Les scénarios sont automatiquement sauvegardés et la dernière heure de sauvegarde est indiquée dans l'en-tête de la structure du scénario.
- Vous pouvez enregistrer manuellement un scénario ou sélectionner « Sauvegarder et publier ».
- Une fois que vous avez publié un scénario, vous pouvez le modifier en sélectionnant l'option « brouillon ».
Lorsque vous souhaitez publier et que vous avez sélectionné l'option, vous devez choisir d'accepter uniquement les événements futurs ou d'inclure également les contacts existants en les comparant aux critères du bloc de démarrage.
Une fois le scénario publié, vous verrez des statistiques de base sur les contacts qui sont entrés dans le scénario, s'y trouvent actuellement et l'ont quitté. En outre, si vous survolez la miniature d'un bloc d'action d'email dans le scénario, vous obtiendrez un aperçu des statistiques de la campagne pour ce bloc.
Créer un scénario à partir d’un modèle
Pour vous aider à démarrer plus facilement avec l’automatisation, Mailjet propose désormais une sélection de modèles de scénario prédéfinis pour les cas d’usage les plus courants.
Au lieu de créer votre scénario depuis zéro, vous pouvez sélectionner un modèle prêt à l’emploi et le personnaliser selon vos besoins. Cela vous fait gagner du temps et vous assure de suivre les bonnes pratiques en matière d’automatisation d’emails.
Comment utiliser un modèle :
- Accédez à la section Automatisations de votre compte Mailjet.
- Cliquez sur Créer à partir d’un modèle en haut à droite.
- Parcourez les modèles disponibles et choisissez celui qui correspond le mieux à votre objectif.
- Cliquez sur Commencer la création pour personnaliser le scénario.
Modèles disponibles :
- Série de bienvenue – Accueillez les nouveaux utilisateurs et présentez votre marque.
- Séquence d’onboarding – Accompagnez les utilisateurs dans leurs premiers pas.
- Campagne de réengagement – Récupérez les contacts inactifs.
- Confirmation de mise à jour du profil – Validez les modifications importantes des contacts.
- Emails d’anniversaire d’abonnement – Célébrez les jalons des utilisateurs.
- Nurturing des prospects – Formez vos prospects tout au long du parcours commercial.
D’autres modèles sont également disponibles : Célébrations de jalons, Demandes de feedback, Invitations à des événements, Inscription à un programme de fidélité, Campagnes de reconquête, etc.
Vous pouvez aussi choisir l’option Canvas vierge pour créer un scénario entièrement personnalisé.
Exemples de scénarios
Scénario d’anniversaire
Avec le générateur d'automatisation de Mailjet, vous pouvez facilement créer des scénarios déclenchés à des dates récurrentes – parfaits pour les anniversaires, les anniversaires d’adhésion ou les rappels de renouvellement.
Voici un exemple étape par étape pour configurer un scénario d’envoi d’e-mails d’anniversaire :
Aperçu de la structure du scénario
Le scénario se compose de trois étapes principales :
- Déclencheur : lorsque la date d'anniversaire du contact est mise à jour.
- Minuteur : attendre la prochaine occurrence annuelle de l’anniversaire.
- Action : envoyer un e-mail d’anniversaire.
1. Définir le déclencheur (mise à jour d'une propriété du contact)
Commencez par créer un nouveau scénario et sélectionnez le déclencheur "Mise à jour d’une propriété de contact".
- Définissez le filtre de propriété sur anniversaire (propriété de type date-heure).
- Appliquez un segment : ajoutez une condition "Est dans la liste" et sélectionnez la liste de contacts cible (par ex. : MyFirstTest).
2. Ajouter un minuteur (attendre la prochaine occurrence)
Ajoutez un bloc Minuteur après le déclencheur.
- Choisissez la propriété anniversaire.
- Réglez sur "Activer lors de la prochaine occurrence annuelle".
- Facultatif : vous pouvez définir une heure spécifique, un jour de la semaine ou un délai.
3. Configurer l’e-mail (Envoyer un e-mail)
Ajoutez un bloc Envoyer un e-mail après le minuteur.
- Créez votre modèle d’e-mail d’anniversaire.
- Exemple d’objet : “🎂 Joyeux anniversaire de la part de toute l’équipe !”
4. Activer la répétition annuelle
Reliez la fin du scénario au bloc minuteur pour que le processus se répète chaque année à la date d’anniversaire du contact.
📝 Conseils
- Effectuez des tests avec des contacts fictifs pour vérifier le bon fonctionnement du scénario.
- Vous pouvez réutiliser cette configuration pour d’autres événements récurrents, comme des anniversaires d’inscription, des rappels de renouvellement ou des jalons de fidélité.
Statistiques de l’automatisation
Une fois qu’une automatisation est publiée et que les contacts commencent à y entrer, vous disposez de plusieurs moyens pour suivre les performances du scénario :
- Compteurs d’aperçu du scénario (en haut à droite de l’éditeur)
- Statistiques des emails envoyés (s’affichent lorsque vous sélectionnez un bloc Envoyer un email)
- Statistiques du scénario au niveau des blocs (affichées directement sur les blocs du scénario dans la vue publiée)
Compteurs d’aperçu du scénario
Les compteurs d’aperçu du scénario, situés dans l’angle supérieur droit, résument l’état général des contacts dans votre automatisation :
- Entrés — Contacts uniques qui ont commencé le scénario.
- Actifs — Contacts qui progressent encore dans le scénario (par exemple, en attente d’un délai ou d’une condition).
- Sortis — Contacts qui ont terminé un parcours ou atteint un bloc de sortie.
- Sortis plus tôt — Contacts qui ont quitté le scénario avant de l’avoir terminé.
- Peuvent réintégrer — Contacts autorisés à entrer de nouveau dans le scénario, selon vos paramètres de réintégration.
Statistiques des emails envoyés
Sélectionnez une étape Envoyer un email pour consulter les KPI de ce message :
- Délivrés — Acceptés par les serveurs des destinataires.
- Ouverts — Ouvertures suivies. (Peut être surestimé par des fonctionnalités de confidentialité comme Apple Mail Privacy Protection.)
- Cliqués — Au moins un clic sur un lien.
- Désabonnés — Désabonnements depuis cet email.
- Bloqués — Supprimés en raison de hard bounces, de plaintes ou de désabonnements antérieurs.
- Marqués comme spam — Plaintes pour spam.
- Hard bounce — Échecs permanents, comme une adresse email invalide.
- Soft bounce — Problèmes temporaires, comme une boîte de réception pleine ou des limites de débit.
- Nouvelle tentative — En attente ; Mailjet tentera une nouvelle délivrance.
Statistiques du scénario au niveau des blocs
Dans la vue publiée d’une automatisation, vous pouvez également consulter des statistiques détaillées directement sur chaque bloc du scénario.
Ces statistiques au niveau des blocs vous aident à comprendre comment les contacts progressent dans le scénario et à quelle fréquence chaque étape est utilisée.
Comment les statistiques sont affichées
Vous pouvez passer d’une statistique disponible au niveau des blocs à une autre depuis le panneau des statistiques du scénario, dans l’angle supérieur droit de l’éditeur.
Lorsque vous sélectionnez l’une de ces vues, la métrique correspondante apparaît directement sur chaque bloc du scénario.
Pour chaque bloc, vous verrez :
- la statistique sélectionnée
- une icône et une couleur correspondantes
- un compteur affiché sur le bloc
Lorsque vous survolez la statistique affichée sur un bloc, une infobulle affiche toutes les métriques disponibles pour ce bloc.
Contacts actuellement dans le bloc
Cette vue indique combien de contacts individuels se trouvent actuellement sur un bloc.
Elle est particulièrement utile pour les blocs dans lesquels les contacts peuvent rester un certain temps, comme :
- Début
- Événement
- Minuteur
- Sortie
Utilisez cette vue pour voir où les contacts attendent actuellement ou progressent dans le scénario.
Contacts ayant atteint le bloc
Cette vue indique combien de contacts individuels ont atteint un bloc au moins une fois.
Elle inclut à la fois :
- les contacts qui se trouvent actuellement sur ce bloc
- les contacts qui y sont passés précédemment
Utilisez cette métrique pour comprendre combien de contacts uniques sont passés par chaque étape de l’automatisation.
Nombre de fois où le bloc a été atteint
Cette vue indique le nombre total de fois où un bloc a été atteint.
Ce nombre peut être supérieur au nombre de contacts individuels, car un même contact peut atteindre le même bloc plusieurs fois, par exemple lorsque :
- le scénario autorise la réintégration
- un contact repasse dans le scénario
- différents parcours ramènent le même contact à la même étape
Cette métrique est utile pour mesurer :
- combien de fois un bloc d’action a été exécuté
- quels parcours sont les plus utilisés
📝Conseils
- Les statistiques apparaissent après l’entrée du premier contact dans le scénario et peuvent prendre un court délai avant d’être mises à jour.
- Si votre scénario envoie plusieurs emails, consultez les statistiques de chaque Envoyer un email.
- Les statistiques du scénario au niveau des blocs sont disponibles uniquement dans la vue publiée d’un scénario d’automatisation.
Liens de désinscription dans les e-mails d’automatisation
Les e-mails envoyés depuis un workflow d’automatisation doivent inclure au moins une option de désinscription générée par Mailjet. Il peut s’agir :
- d’un lien de sortie du workflow (« ne plus recevoir d’e-mails de cette série »), ou
- d’un lien de désinscription global (« se désinscrire de tous les e-mails marketing »).
Vous pouvez remplacer l’un de ces liens générés par Mailjet par votre propre URL, mais pas les deux.
Si votre e-mail ne contient aucun lien de sortie du workflow ou de désinscription généré par Mailjet, Mailjet ajoute automatiquement un pied de page de désinscription au message. Ce pied de page contient à la fois un lien de sortie du workflow et un lien de désinscription global.
Liens requis pour les modèles d’automatisation
Lors de la création de modèles d’automatisation, au moins une des variables suivantes doit être incluse :
-
[[WORKFLOW_EXIT_EN]]– Permet au destinataire de quitter le workflow. -
[[WORKFLOW_EXIT_UNSUB_LINK_EN]]– Permet au destinataire de quitter le workflow et de se désinscrire de tous les e-mails marketing.
Gérer un workflow existant
Pour gérer un workflow existant, accédez à Mes workflows automatisés et cliquez sur l’ icône en forme d’engrenage à droite.
Vous pouvez ensuite choisir l’une des options suivantes :
Dupliquer – Crée une copie du workflow sélectionné. Cette option est utile si vous souhaitez réutiliser une configuration existante plutôt que de créer un nouveau workflow à partir de zéro.
Verrouiller – Verrouille le workflow pour empêcher de nouveaux contacts d’y entrer, tout en permettant aux contacts déjà présents dans le workflow de continuer et de le terminer.
Arrêter – Arrête l’exécution du workflow. Utilisez cette option si vous ne souhaitez plus que l’automatisation continue à traiter les contacts ou les événements.
Supprimer – Supprime définitivement le workflow de votre compte.