Une fois vos règles de déclenchement configurées, tout ce qui concerne leur exécution se trouve dans l'onglet Delivery. Cet article couvre la planification quotidienne, les exécutions manuelles et les tests sur un seul membre, les protections que sont les heures calmes et les plafonds de fréquence, le fonctionnement de Preview, et la référence complète du journal d'exécution, y compris les colonnes, les valeurs de statut et les raisons de saut côté backend.
Sommaire
- Planifier et exécuter
- Heures calmes et plafonds de fréquence
- La chaîne d'éligibilité complète
- Preview
- Référence du journal d'exécution
- Colonnes
- Valeurs de statut
- Raisons de saut côté backend
Planifier et exécuter
Tout ce qui concerne l'exécution des déclencheurs se trouve dans l'onglet Delivery : la planification quotidienne, les heures calmes, les plafonds de fréquence et le panneau Execute Triggers. Certains éléments de l'onglet conservent le terme Execution (par exemple Execution Results, Execution Run et Executed At).
L'onglet Delivery : planification quotidienne, heures calmes, plafonds de fréquence et exécutions manuelles au même endroit.
Planification quotidienne
- Définissez une heure et un fuseau horaire sur la configuration et activez ou désactivez la planification.
- La planification est partagée par tous les studios utilisant la configuration.
- Le planificateur vérifie chaque minute les configurations arrivées à échéance et exécute toutes les règles actives pour tous les studios rattachés.
- Une règle ne s'exécute pas deux fois le même jour calendaire (dans le fuseau horaire local du studio). Si une règle a déjà été exécutée aujourd'hui, automatiquement ou manuellement, elle n'est pas relancée.
Exécution manuelle (« Run now »)
- Exécute immédiatement la règle pour le studio en cours. Cela envoie de vrais messages. Il n'y a pas d'annulation possible pour un message envoyé.
- Une exécution manuelle est autonome : elle ne se déduplique pas par rapport aux autres règles de l'exécution quotidienne.
- Si la règle a déjà été exécutée aujourd'hui (automatiquement ou manuellement), l'exécution manuelle est bloquée pour éviter le double envoi de messages.
Tester sur un seul membre
- Exécute la règle sur un membre précis que vous choisissez.
- Vous choisissez le membre par son customer ID (identifiant client), et non par son numéro de membre. Copiez-le depuis le profil du membre : ouvrez le profil et prenez le numéro dans l'URL de la page — par exemple
.../#/customermanagement/1562839240/overviewsignifie customer ID 1562839240. - Contourne la correspondance des conditions : le membre est traité qu'il corresponde ou non aux conditions.
- Envoie toujours en tant que Groupe A, sans figer le membre dans un compartiment témoin, de sorte que le test n'atterrit jamais silencieusement dans le groupe témoin.
- Utilisez cela pour vérifier de bout en bout la configuration des canaux et les modèles avant d'activer une règle.
Heures calmes et plafonds de fréquence
Deux des protections de messagerie sont des réglages globaux, configurés dans l'onglet Delivery et partagés par tous les studios rattachés à la configuration. (Les deux autres protections, le délai de latence par règle et la déduplication en cas de correspondances multiples, sont traitées dans Créer et modifier des règles de déclenchement.)
Heures calmes (quiet hours). Définissez une heure de début et une heure de fin dans le fuseau horaire du studio. Les plages nocturnes fonctionnent (22:00 à 07:00 englobe minuit). Les heures calmes sont désactivées si une seule des deux heures est renseignée, ou si le début et la fin sont identiques.
Ce qui se passe pendant les heures calmes. Les messages arrivant à échéance alors que la fenêtre est ouverte ne sont pas abandonnés : ils sont mis en file d'attente et envoyés dès que la fenêtre d'heures calmes s'ouvre à l'envoi (c'est-à-dire une fois la fenêtre terminée). L'éditeur de déclencheur vous avertit lorsqu'une heure d'exécution configurée tombe dans une fenêtre d'heures calmes active, et le panneau de planification quotidienne affiche le même avertissement pour l'exécution quotidienne. Les déclencheurs lead basés sur les événements (le New-Lead welcome) ne sont pas soumis aux heures calmes et sont envoyés immédiatement.
Ordre des protections. Pour chaque exécution, les protections sont évaluées dans un ordre fixe : heures calmes, puis plafond quotidien, puis plafond hebdomadaire, puis délai de latence par règle.
Plafonds de fréquence quotidien et hebdomadaire. Limites glissantes par membre : un nombre maximal de messages Engage par jour (fenêtre glissante de 24 heures) et par semaine (fenêtre glissante de 7 jours). Chaque plafond a son propre bouton d'activation/désactivation dans l'onglet Delivery. Si un membre a déjà atteint un plafond, les messages suivants sont ignorés.
Les plafonds sont globaux par membre, tous déclencheurs Engage confondus, et non comptés par déclencheur ; ainsi, un membre ayant déjà reçu un message d'une autre règle plus tôt dans la fenêtre peut être plafonné pour celle-ci. Une exécution compte comme un message, même lorsqu'il part sur plusieurs canaux. Les fenêtres sont glissantes (les dernières 24 heures et les 7 derniers jours), et non des jours ou semaines calendaires.
Voir aussi : Créer et modifier des règles de déclenchement (Protections de messagerie, Priorité et résolution des correspondances multiples).
La chaîne d'éligibilité complète
Un membre peut satisfaire toutes les conditions que vous avez écrites et ne rien recevoir malgré tout, car les conditions ne sont qu'une étape. Pour chaque exécution, Engage applique cette chaîne dans l'ordre :
- Audience — membre actif, ancien membre ou lead.
- Opposition à la communication — les membres qui se sont désinscrits (pas de consentement Newsletter) sont retirés.
- Type de contrat — le filtre inclure/exclure par type de contrat de la règle.
- Vos conditions — les champs de condition de la règle.
- Joignabilité sur le canal sélectionné — WhatsApp et SMS nécessitent un numéro de téléphone, Email nécessite une adresse email.
L'absence de coordonnées sur le canal sélectionné est la raison la plus fréquente pour laquelle un membre correspondant ne reçoit rien. Une précision sur l'étape des conditions : une condition ne correspond qu'aux membres qui ont effectivement une valeur pour ce champ. Un membre sans valeur est exclu par tous les opérateurs, y compris les négations ; ainsi un membre sans moyen de paiement ne correspond pas à « payment method is not Direct Debit ». Pour atteindre les membres sans valeur, utilisez une condition explicite « is empty » lorsque le champ en propose une.
Preview
Preview vérifie la portée d'une règle avant tout envoi.
- Preview évalue le brouillon actuel de la règle tel que vous l'avez dans l'éditeur, et non la dernière version enregistrée.
- Il renvoie le nombre total de membres correspondants et une liste d'échantillon avec le nom, la tranche de risque de résiliation et les principales métriques de visite.
- Preview est un instantané en temps réel : il ne montre que qui correspond aux conditions en ce moment, sur la base de l'instantané des données du jour (les métriques membres se rafraîchissent une fois par jour).
- Vous pouvez charger la liste paginée complète des membres correspondants, ce qui est utile dans les grands studios.
Un décompte de 0 n'est pas un problème. Un Preview affichant 0 membre signifie seulement que personne ne correspond aujourd'hui. Cela ne veut pas dire que la règle est cassée ni que personne ne correspondra demain : les membres entrent et sortent des conditions au fil de l'évolution de leurs données, par exemple lorsqu'un seuil d'expiration de contrat est franchi pendant la nuit ou qu'un membre franchit le seuil de dormance.
Utilisez Preview pour ajuster les seuils avant l'activation. Si une règle Dormancy correspond à la moitié du studio, le seuil est probablement trop serré pour une campagne utile ; augmentez la valeur des jours depuis la dernière visite et refaites un aperçu.
Preview montre qui correspond aux conditions. Il ne simule pas les protections, si bien que le nombre réel de messages envoyés lors d'une exécution peut être plus faible une fois appliqués les délais de latence, les plafonds de fréquence, les heures calmes, la déduplication et le groupe témoin A/B. Considérez l'aperçu comme « qui est éligible », et non « qui sera contacté ».
Référence du journal d'exécution
Chaque membre évalué obtient une ligne, de sorte que vous pouvez toujours reconstituer pourquoi une personne a été contactée ou non. L'onglet Delivery affiche des cartes récapitulatives (Total correspondants, Groupe A, Groupe B) et un tableau de résultats par membre. Les résultats peuvent être filtrés par plage de dates, exécution, déclencheur, canal et groupe A/B, et exportés au format CSV.
Résultats de Delivery : une ligne par membre évalué, avec le Path (One-way ou Agent), le canal, le groupe A/B et le résultat.
Colonnes
| Colonne | Ce qu'elle affiche |
|---|---|
| Member | Le nom du membre, figé au moment de l'envoi. Les journaux historiques restent lisibles même si les données du membre changent par la suite. |
| Trigger | La règle de déclenchement qui a évalué ce membre. |
| Path | Parcours de diffusion : One-way (envoyé directement) ou Agent (diffusé via l'agent MagicAI Chat). Vide pour les membres ignorés. |
| Channel | Le canal sur lequel le message a été envoyé (ou tenté). Vide pour les membres ignorés avant la sélection du canal, comme le groupe témoin. |
| Group | A (traitement, contacté) ou B (témoin, non contacté). |
| Churn risk | La tranche de risque de résiliation du membre au moment de l'exécution (Very Low à Very High). Utile pour vérifier qui a été ciblé. |
| Status | Le résultat de cette tentative d'envoi. Voir la référence des statuts ci-dessous. |
| Date/heure | Le moment de création de cette entrée du journal. |
Valeurs de statut
Chaque tentative d'envoi se solde par exactement l'un des résultats ci-dessous, affiché dans la colonne Status. La colonne Path voisine affiche Agent (diffusé via l'agent MagicAI Chat) ou Aller simple (envoyé directement), et reste vide pour les lignes ignorées et témoins.
| Statut | Ce qui s'est passé |
|---|---|
| Sent | Le message a été transmis et son envoi confirmé par le backend. La confirmation de livraison réelle dépend du fournisseur en aval (par exemple WhatsApp ou la passerelle SMS). |
| Failed | L'envoi a échoué en raison d'une erreur d'exécution. |
| Control (no message) | Le membre est dans le groupe témoin B et n'a délibérément pas été contacté, afin que le groupe de traitement puisse être comparé à une base de référence propre dans l'analyse d'impact. Une ligne par membre est enregistrée, sans canal. |
| Skipped (quiet hours) | Le studio se trouve dans sa fenêtre d'heures calmes configurée. Le message n'est pas abandonné : il est mis en file d'attente et envoyé une fois la fenêtre ouverte. |
| Skipped (cooldown) | La fenêtre de délai de latence de la règle ne s'est pas encore écoulée pour ce membre. |
| Skipped (already contacted) | Un déclencheur à contact unique a déjà envoyé un message à ce membre lors d'une exécution antérieure. |
| Skipped (daily frequency cap) | Le plafond de messages glissant sur 24 heures du studio a été atteint. |
| Skipped (weekly frequency cap) | Le plafond de messages glissant sur 7 jours du studio a été atteint. |
| Skipped (higher-priority trigger) | Une règle de priorité supérieure a déjà revendiqué ce membre lors de la même passe du planificateur (voir Priorité et résolution des correspondances multiples dans Créer et modifier des règles de déclenchement). |
| Skipped (no channel) | Le membre est injoignable sur le canal (pas de numéro de téléphone pour WhatsApp ou SMS, pas d'adresse email pour Email). |
| Skipped (not allowlisted) | Le membre ne figure pas sur la liste d'autorisation d'envoi configurée. |
| Skipped (backend) | Le backend a délibérément retenu le message. Le champ de raison indique la cause précise (voir Raisons de saut côté backend ci-dessous). |
Ce sont les statuts du journal de diffusion confirmés par l'ingénierie (l'ensemble message-status du ml-backend). Chaque membre évalué produit une ligne par exécution avec son résultat. Le statut « Skipped (backend) » porte un champ de raison de second niveau qui nomme la cause précise (voir Raisons de saut côté backend ci-dessous). Des rapports de livraison plus riches par envoi (un statut Succeeded, Failed ou Pending par message avec la raison de l'échec) sont prévus pour une version ultérieure, pas pour le lancement. Le libellé exact à l'écran des statuts les moins courants est vérifié par rapport à l'interface GA.
Raisons de saut côté backend
Lorsque le statut est « Skipped (backend) », le champ de raison explique pourquoi le système de diffusion a retenu le message :
| Raison | Ce qu'il faut vérifier |
|---|---|
| Engage disabled | La fonctionnalité Engage est désactivée au niveau de la plateforme. |
| No channel handler | Aucun gestionnaire de diffusion n'est enregistré pour ce canal. Contactez le support. |
| Channel disabled | Le canal est désactivé pour ce studio. |
| Studio mismatch | Le contexte de studio ne correspondait pas. Contactez le support. |
| Template not found | Le modèle assigné à ce canal n'existe plus. Réassignez un modèle. |
| Template archived | Le modèle a été archivé après la configuration de la règle. Réassignez un modèle actif. |
| Template wrong channel | Le modèle a été créé pour un autre canal. Assignez un modèle correspondant. |
| App not activated | Canal Push : l'application MySports n'est pas activée pour ce studio. |
| No default locale | Aucune langue par défaut n'est définie pour le membre. |
| No phone number | Canal SMS : le membre n'a pas de numéro de téléphone enregistré. |
| No chatbot configuration | Parcours de diffusion par chat : aucune configuration MagicAI Chat n'existe. Configurez-en une ou retirez l'agent du canal. |
| MySports unavailable | Canal Push : MySports était indisponible au moment de l'envoi. |
| No WhatsApp Business Account | Canal WhatsApp : aucun compte WhatsApp Business Account Meta n'est lié à ce studio. Voir aussi : Configurer WhatsApp pour Engage. |
| WhatsApp Business Account mismatch | Le Business Account approuvé du modèle diffère du compte lié au studio. Les modèles WhatsApp sont approuvés par compte ; une non-concordance signifie que Meta rejetterait l'envoi. Utilisez un modèle approuvé pour le compte lié au studio. |
Voir aussi : Configurer WhatsApp pour Engage. Voir aussi : Analyse d'impact.