Envoyer des e-mails avec WebBlocks Campaigns
Transformez l’inscription d’un visiteur en un processus d’e-mail maîtrisé et vérifiable. WebBlocks Campaigns conserve dans votre CMS les contacts, listes, consentements, modèles réutilisables et destinataires des campagnes. Le bloc natif Newsletter Sign-up recueille les demandes ; leur confirmation ajoute les abonnés à votre public. Le journal d’envoi explique les destinataires pour lesquels l’envoi a été effectué, a échoué ou a été ignoré.
L’exemple concerne Northstar Studio et sa newsletter Studio notes. Vous importerez Ada et Casey, ajouterez Robin au moyen du bloc public, préparerez un message personnalisé, choisirez une liste, mettrez une campagne en attente et consulterez son résultat. Casey se désinscrira après la mise en attente : vous verrez le contrôle effectué à l’envoi empêcher son message. Un public de test distinct illustre un échec temporaire suivi d’une nouvelle tentative.
Ce parcours a été vérifié avec l’archive publiée de Campaigns 0.7.4 sur WebBlocks CMS 1.105.37, en anglais, en thème clair et avec des données fictives. Tous les tests utilisent un récepteur SMTP local temporaire. Il accepte ou refuse volontairement les messages sans les acheminer à l’extérieur. Sent dans ces captures signifie accepté par ce récepteur local, et non remis dans une vraie boîte de réception. L’acheminement et la planification en production n’ont pas été testés. Les captures sont en anglais ; les libellés de l’interface restent anglais pour permettre de les retrouver.
Pour l’architecture et l’intégration, consultez la référence Campaigns. Les bases de l’installation figurent dans le Système de plugins.
Avant de commencer
Utilisez un site de test et un compte ayant accès au bon site. L’installation exige Super admin. Campaigns distingue les autorisations de consultation, gestion, envoi et modification des réglages. Pouvoir modifier une campagne ne donne pas nécessairement le droit de l’envoyer ou de tester un modèle. Consultez Rôles et autorisations avant de déléguer ces tâches.
Le manifeste 0.7.4 exige CMS ^1.92.0 et PHP >=8.3 ; le catalogue annonce PHP ^8.3 et Laravel ^13.0. Vérifiez le résultat de compatibilité de votre installation réelle, y compris les exigences du CMS. Utilisez l’archive publiée dans le catalogue des plugins WebBlocks.
Demandez à l’administrateur de l’hébergement de configurer un transport de courrier fonctionnel et les exécutions d’envoi. Les réglages d’expéditeur du plugin ne configurent pas SMTP. Les adresses fictives example.test sont des exemples ; pour les essais de remise réelle, utilisez des boîtes de test que vous contrôlez. Conservez les identifiants du fournisseur dans la configuration privée de l’application hôte.
Campaigns sert aux campagnes d’e-mail. Il n’ajoute pas aux écrans présentés un concepteur visuel, un calendrier automatique ou des statistiques d’ouverture et de clic. Contact Messages, les soumissions Forms et les contacts Campaigns ont des fonctions différentes. L’envoi d’un formulaire n’autorise pas automatiquement une newsletter.
1. Installer et activer Campaigns
- Ouvrez System → Plugins en tant que Super admin.
- Choisissez Browse Plugin Catalog et recherchez WebBlocks Campaigns.
- Lisez la version, le résultat de compatibilité et les notes de version.
- Sélectionnez Install from Catalog, puis Enable Plugin dans les détails.
- Si l’administrateur fournit plutôt le ZIP publié de confiance, utilisez Plugin ZIP → Upload Plugin ZIP, examinez le paquet et activez-le.
Une nouvelle installation est d’abord désactivée. L’installation et l’activation dans le CMS actuel préparent les changements de base de données. Résolvez les avertissements de configuration ou de migration depuis les détails du plugin et le parcours pris en charge par l’hôte avant de saisir des contacts. Une installation réussie ne prouve ni le transport du courrier ni les envois planifiés.
Après activation, repérez Campaigns, Contacts, Templates, Lists, Suppressed, Delivery problems et Settings dans la navigation. Vérifiez le site sélectionné sur chaque écran. Contacts, réglages et campagnes appartiennent à un site ; une liste d’un autre site n’est pas votre public actuel.
Ouvrez Templates → Add template et vérifiez l’éditeur ainsi que les champs de fusion disponibles. Campaigns 0.7.4 corrige l’erreur de compilation de l’écran présente dans 0.7.3. Après une mise à jour, testez la création d’un modèle et la réouverture d’un modèle enregistré.
2. Définir l’expéditeur et les limites d’envoi
Ouvrez Campaigns Settings pour votre site. L’exemple local utilise :
| Réglage | Exemple | Rôle |
|---|---|---|
| From name | Northstar Studio | Nom présenté aux destinataires. |
| From email | hello@example.test | Expéditeur fictif de l’exercice local. |
| Reply-to | studio@example.test | Adresse de réponse fictive. |
| Batch size | 1 | Traiter un destinataire en attente par lot pour faciliter le contrôle. |
| Most per hour | 5 | Lisez le comportement par exécution expliqué ci-dessous avant de vous fier à ce libellé. |
| Soft-bounce threshold | 5 | Des erreurs temporaires répétées peuvent bloquer une adresse au seuil configuré. |
Vérifiez les valeurs puis choisissez Save. Cette version accepte des lots de 1–500, une limite de 1–20000 et un seuil de rebonds temporaires de 0–50. Zéro désactive le blocage automatique pour rebonds temporaires répétés ; cela ne rend pas distribuable une adresse en échec permanent.
L’aide de Most per hour décrit un plafond pour une campagne lors d’une exécution. Le compteur repart à zéro pour chaque campagne et chaque invocation. Il ne s’agit pas d’un quota horaire glissant commun à tout le site ou fournisseur. Le contrôle précède aussi le traitement d’un lot entier : un lot supérieur au quota restant peut le dépasser. Gardez sa taille sous la limite, choisissez la fréquence consciemment et utilisez la limitation de l’hébergeur ou fournisseur si un débit garanti est nécessaire.
Faites vérifier l’expéditeur auprès du fournisseur et tester la remise réelle, réponses comprises. Un récepteur local, un mailer de journalisation ou des réglages enregistrés ne prouvent pas qu’un fournisseur externe autorise votre domaine à envoyer.
3. Créer une liste pour la newsletter
Ouvrez Lists, créez Studio notes et ajoutez une description utile, par exemple « Actualités et ateliers de Northstar Studio ». Cette liste sépare la newsletter des autres contacts. Les captures montrent aussi Delivery test only, un public volontairement distinct pour la nouvelle tentative.
Une liste regroupe les contacts ; elle ne donne pas l’autorisation de leur écrire. La campagne contrôle toujours consentement et blocages. Supprimer une liste retire le regroupement, sans effacer ses contacts ni enregistrer un retrait de consentement. Utilisez les fonctions correspondantes pour ces décisions.
Choisissez une liste précise si le message vise un public particulier. Everyone on this site sélectionne un public plus large : ce doit être un choix délibéré plutôt qu’une valeur par défaut oubliée.
4. Préparer et importer un CSV
Ouvrez Contacts → Import. L’importateur accepte des CSV de 20 MB maximum, séparés par virgule ou point-virgule, avec une marque d’ordre des octets UTF-8 facultative. Prévoyez une ligne d’en-têtes. Le fichier de l’exercice est :
email;first_name;last_name;interest
ada@example.test;Ada;North;Design
casey@example.test;;River;Writing
ada@example.test;Ada;North;Design
not-an-address;Taylor;Example;Workshops
La ligne Ada répétée et l’adresse invalide sont intentionnelles. Conservez un original propre du fichier réel pour examiner les rejets sans le réimporter à répétition.
Choisissez le fichier et la consent basis appropriée, enregistrez le libellé exact applicable lors de l’accord initial, puis sélectionnez Studio notes comme liste. Notre texte fictif signifie : « Oui, je souhaite recevoir par e-mail les actualités et ateliers de Northstar Studio. Je peux me désinscrire à tout moment. » Choisissez Continue.
Ces champs enregistrent votre déclaration concernant l’autorisation du contact ; sélectionner une base ne prouve pas son existence. Utilisez la base et les éléments réellement pertinents. Dans cette version, un import fondé uniquement sur un contrat ne règle pas l’indicateur distinct de consentement opérationnel.
5. Vérifier les colonnes avant de valider l’import
Sur l’écran de correspondance, contrôlez explicitement chaque colonne :
| En-tête CSV | Correspondance |
|---|---|
| Email address | |
| first_name | First name |
| last_name | Last name |
| interest | Champ personnalisé nommé interest |
Vérifiez les propositions automatiques. Contrôlez surtout la colonne du prénom plutôt que de supposer que first_name a été reconnu correctement. Associez une seule colonne d’adresse à Email et ignorez les colonnes inutiles. L’aperçu montre des exemples ; aucun contact n’a encore été créé à cette étape.
Choisissez Import seulement lorsque correspondance, base, texte et liste sont corrects. L’exemple crée deux contacts et ignore deux lignes. Le contact déjà présent pour la nouvelle tentative reste affiché dans l’environnement de démonstration ; le total n’est donc pas le nombre importé depuis ce fichier.
L’interface actuelle présente un résultat global. Elle ne propose pas ici de visionneuse d’historique des problèmes par ligne. Si les totaux surprennent, recherchez doublons, adresses invalides et blocages dans le CSV original avant de préparer une correction.
Réimporter n’est pas une remise à zéro. Un nom non vide peut actualiser un nom existant ; une valeur vide ne l’efface pas et les champs personnalisés sont fusionnés. L’import n’annule ni un consentement accordé ou retiré ni un blocage. Ne l’utilisez pas pour contourner une révocation.
6. Ajouter un bloc Newsletter Sign-up
Créez ou modifiez un brouillon de page et ajoutez le bloc natif Newsletter Sign-up. Pour l’exemple, configurez :
| Réglage du bloc | Exemple |
|---|---|
| Heading | Join Studio notes |
| Intro text | Subscribe, then confirm through the email link. |
| What the visitor agrees to | Le même texte explicite de newsletter utilisé plus haut. |
| Add confirmed subscribers to | Studio notes |
| Button label | Subscribe |
| Also ask for a name | Activé |
Enregistrez le bloc puis suivez la vérification et la publication de la page. La page d’inscription doit être accessible avant de servir à recueillir de vrais abonnés. Sans liste sélectionnée, les contacts confirmés sont enregistrés sans cette association ; choisissez Studio notes volontairement.
Dans cette version, titre personnalisé, introduction et texte de consentement du bloc sont partagés entre les langues de la page. Traduire le titre de la page ne les traduit pas automatiquement. Vérifiez la langue et les formulations vues par le visiteur à chaque emplacement avant un usage multilingue.
7. Tester les deux étapes comme visiteur
Ouvrez la page publique avec une adresse de test contrôlée. Notre visiteur fictif est Robin Example, robin@example.test. Saisissez nom et adresse, lisez le consentement, cochez la case puis choisissez Subscribe.
La page affiche Almost done. La demande est encore en attente et Robin n’est pas encore un contact confirmé. La réponse générique ne révèle pas non plus si une adresse est déjà inscrite ou bloquée. Elle ne prouve pas l’arrivée du message de confirmation.
Ouvrez le lien reçu dans votre propre boîte de test. Son ouverture affiche seulement la page de confirmation ; l’inscription reste non confirmée tant que le visiteur ne choisit pas Yes, confirm my subscription.
Après cette action, le visiteur voit le succès. Campaigns crée ou actualise le contact, enregistre l’accord explicite et ajoute l’abonné confirmé à la liste choisie.
Une nouvelle demande génère un nouveau jeton valable sept jours ; l’ancien lien cesse de fonctionner lors de son remplacement. Demandez un nouveau message si nécessaire, au lieu de partager une URL privée. Une demande ordinaire ne lève pas un blocage manuel ou lié à une plainte. La confirmation peut lever les blocages autorisés pour désinscription ou rebond permanent ; elle ne débloque pas tous les motifs.
Les données de test ont suivi les véritables points d’entrée d’inscription et de confirmation avec du courrier local. Les corps et liens privés ont ensuite été supprimés. La réception dans une vraie boîte reste une vérification distincte de production.
8. Rédiger un modèle réutilisable
Ouvrez Templates → Add template, remplissez les champs ci-dessous puis choisissez Save. Le modèle enregistré s’ouvre dans Edit template, où vous pouvez le modifier et examiner l’aperçu.
Le formulaire comprend Name, Subject, HTML body et Plain-text body. Utilisez Studio notes email comme nom interne. Dans Subject, saisissez :
A studio note for {{ first_name | friend }}
Pour HTML body, partez d’un exemple court et lisible :
<p>Hello {{ first_name | friend }},</p>
<p>Here is this month's Northstar Studio news.</p>
<p><a href="{{ unsubscribe_url }}">Unsubscribe from studio notes</a></p>
Rédigez séparément la version texte brut :
Hello {{ first_name | friend }},
Here is this month's Northstar Studio news.
Unsubscribe: {{ unsubscribe_url }}
Le texte brut n’est pas automatiquement dérivé du HTML. Vérifiez les deux. Le modèle contient du HTML rédigé par l’opérateur : utilisez un balisage fiable et testez son apparence dans les logiciels de courrier.
Les champs intégrés comprennent email, first_name, last_name et unsubscribe_url. Des champs importés comme interest peuvent aussi être disponibles. Leur liste provient d’un échantillon de contacts récents ; un champ rare d’un ancien contact peut ne pas être reconnu. Contrôlez la liste réelle et sa validation avant la mise en attente.
{{ first_name | friend }} utilise « friend » lorsque le prénom manque. Casey montre l’utilité d’une valeur de repli. Les champs inconnus bloquent test et mise en attente ; l’absence de repli déclenche un avertissement sans empêcher automatiquement l’envoi.
Pour le courrier commercial, conservez un vrai lien de désinscription dans le HTML et son URL dans le texte brut. Le validateur recherche le champ réservé dans l’ensemble formé par l’objet et les deux corps ; il ne prouve pas que chaque format possède un lien utilisable. Vérifiez les deux versions vous-même.
9. Vérifier l’aperçu et envoyer un test contrôlé
Après enregistrement dans l’éditeur fonctionnel, examinez Preview, indiquez un destinataire test email contrôlé puis choisissez Send test. Il faut une autorisation d’envoi. L’objet reçoit le préfixe [TEST].
L’aperçu remplace les champs et affiche le HTML sous forme de source. Il ne simule pas visuellement un logiciel de courrier. Il utilise un contact d’exemple, normalement le plus ancien du site. Ne supposez ni qu’il s’agit d’Ada ni qu’un sélecteur visible existe. Vérifiez les valeurs présentes et manquantes avec des données contrôlées.
unsubscribe_url reste vide dans l’aperçu et les tests du modèle. L’URL propre au destinataire est ajoutée lors d’un véritable envoi de campagne. Un test de modèle réussi ne vérifie donc pas le parcours de désinscription. Utilisez une petite campagne autorisée pour cela.
Dans l’exercice, nous avons créé et enregistré le modèle dans l’éditeur, l’avons rouvert puis avons enregistré un changement d’objet. L’aperçu sans prénom a affiché « friend » comme prévu. Le test a atteint le SMTP local. Cela vérifie le parcours applicatif, pas la remise dans une boîte externe. Avant la production, contrôlez une vraie boîte maîtrisée, les deux formats, le repli de l’objet, les réponses et le véritable lien de désinscription.
L’avertissement sur l’absence de repli peut mentionner unsubscribe_url. Gardez ce champ réservé dans le vrai lien : sa valeur individuelle est créée pendant l’envoi. Le remplacer par du texte générique pour masquer l’avertissement supprimerait la destination de désinscription fonctionnelle.
Corrigez d’abord tout transport manquant ou inutilisable. Les mailers log, array et null ne prouvent aucune livraison externe ; le plugin refuse un test si le mailer est indisponible. Ne diagnostiquez pas une configuration SMTP élémentaire avec un vrai public.
10. Créer la campagne et choisir son public
Ouvrez Campaigns → Add campaign. Saisissez November studio notes, choisissez Studio notes email, la liste Studio notes et le canal Commercial. Enregistrez le brouillon.
Une campagne commerciale demande un consentement marketing accordé avec une base appropriée, par exemple un accord explicite ou une relation client existante. Les adresses bloquées sont exclues. Le canal séparé Operational exige son consentement opérationnel ; changer de canal ne contourne pas un blocage. Celui de l’adresse s’applique aux deux canaux Campaigns.
Le nombre de contacts utilisables en marketing ne garantit pas qu’ils recevront tous cette campagne. Liste, base valable et blocages peuvent modifier le public réel. Examinez le total des destinataires et le journal.
Brouillons et campagnes en pause sont modifiables ; campagnes en attente ou en cours ne le sont pas librement. Modèle et données du contact sont lus au dispatch, plutôt que figés intégralement lors de la mise en attente. Gardez modèle et public stables pendant l’exécution. Ne supprimez pas un modèle encore nécessaire.
11. Mettre en attente, contrôler et suspendre
Quand le brouillon est prêt, choisissez Queue for sending. Des lignes sont créées pour les adresses admissibles. Cette action seule ne distribue aucun message. L’exemple comprend Ada, Casey et Robin maintenant confirmé.
Utilisez Pause pour arrêter les traitements suivants pendant le contrôle. L’exercice local a lancé le dispatcher avec la campagne suspendue ; les destinataires sont restés en attente.
Queue for sending reprend une campagne suspendue. Un public inchangé ne produit pas de doublons. Mais de nouveaux contacts admissibles peuvent être ajoutés : l’action ne retire pas les anciens et ne reconstruit pas entièrement le public. Changer de liste après une pause ne supprime pas les adresses déjà en attente.
Contrôlez les destinataires et changements de public avant la reprise. Si le public doit être sensiblement différent, préparez une campagne vérifiée séparément plutôt que de supposer qu’une pause et une modification réinitialisent la précédente.
12. Exécuter le dispatcher sur l’hôte
L’administrateur de l’hébergement exécute la commande depuis l’application hôte du CMS :
php artisan webblocks-campaigns:dispatch
Pour une exécution contrôlée d’une campagne, remplacez 123 par son identifiant réel :
php artisan webblocks-campaigns:dispatch --campaign=123 --batches=1
La valeur par défaut est un lot. Cette version n’a pas d’option --dry-run. Dispatch peut envoyer du courrier : utilisez seulement la campagne prévue et le transport vérifié. Avec un lot d’une personne, plusieurs invocations sont nécessaires pour notre public.
Planifiez les exécutions avec le scheduler ou cron pris en charge par l’hôte. Lancer le scheduler Laravel n’enregistre pas automatiquement la commande Campaigns : il faut une tâche explicite. Le dispatch lui-même ne nécessite pas de queue worker distinct. Considérez ensemble fréquence, taille des lots et limites du fournisseur en tenant compte du comportement par exécution de Most per hour.
Notre test a invoqué manuellement la commande contre le récepteur local isolé. Il n’a pas éprouvé de scheduler de production, de quota fournisseur ni de remise externe.
13. Vérifier la désinscription avant l’envoi suivant
Une vraie campagne commerciale fournit un lien de désinscription individuel. Son ouverture affiche une confirmation. Un GET seul ne retire pas le consentement : une simple inspection de liens ne désinscrit donc personne silencieusement.
Choisir Unsubscribe me termine l’action et affiche le succès. Casey l’a fait après la mise en attente mais avant le dispatch.
Campaigns enregistre un blocage d’adresse propre au site et retire le consentement marketing. Dispatch vérifie à nouveau : la ligne de Casey devient Skipped au lieu d’être envoyée. Un public en attente n’est donc pas une garantie de remise.
La désinscription publique crée un blocage qui affecte aussi Campaigns Operational. Les autres messages du CMS suivent des parcours distincts ; ne promettez pas qu’une seule action contrôle tout le courrier de l’hôte.
14. Lire le journal, pas seulement le statut de la campagne
Ouvrez le journal et examinez totaux, lignes et motifs. La campagne terminée affiche 2 sent, 0 failed, 1 skipped : Ada et Robin ont été acceptés par le SMTP local, Casey ignoré après sa désinscription.
| Statut du destinataire | Signification dans le processus |
|---|---|
| Pending | Attend le traitement d’envoi. |
| Sent | Le transport configuré a accepté le message ; la remise en boîte nécessite une preuve distincte. |
| Failed | La tentative a échoué ; examinez le motif avant de recommencer. |
| Skipped | Envoi volontairement omis, par exemple pour blocage ou configuration de courrier indisponible. |
La campagne peut atteindre Sent une fois toutes les lignes définitives, y compris Failed et Skipped. Le pourcentage compte les destinataires traités, pas les remises réussies en boîte. Une campagne achevée avec des omissions n’est pas un succès intégral.
Enquêtez avec le filtre de statut et les raisons regroupées sous Why not sent. Un mailer indisponible peut faire ignorer des destinataires tout en terminant la campagne. Corriger la configuration ne fait pas renvoyer les lignes ignorées par le bouton réservé aux échecs. Examinez consciemment une nouvelle campagne si ces adresses doivent être reconsidérées.
15. Gérer les blocages séparément des contacts
Ouvrez Suppressed pour le registre par adresse. Casey reste listé avec le motif Unsubscribed, indépendamment de sa fiche contact.
Utilisez les contrôles manuels pour bloquer une adresse et indiquez un motif approprié. Lever un blocage ne rétablit pas le consentement : un marketing révoqué reste révoqué jusqu’à un nouvel accord correct. Réimporter l’adresse ne retire pas le blocage.
Retirer le marketing diffère aussi du blocage d’adresse. Le premier change l’autorisation commerciale ; le second bloque les deux canaux Campaigns. Examinez ensemble motif, consentement et canal prévu pour comprendre une exclusion.
16. Examiner un échec temporaire puis réessayer
La liste distincte Delivery test only contient une adresse fictive. Le récepteur SMTP a délibérément refusé le premier essai avec une réponse temporaire de boîte pleine. Le journal montre une ligne Failed et Try 1 failed again.
Lisez le motif et corrigez la cause avant de choisir l’action. La nouvelle tentative remet les échecs en attente, réutilise les mêmes lignes et revérifie consentement et blocage à l’envoi. Aucun doublon n’est créé pour la même adresse. Relancez Dispatch après la demande de nouvelle tentative.
Le deuxième essai local a réussi parce que le récepteur était conçu pour l’accepter. Cela montre le mécanisme, pas la résolution d’une panne réelle de fournisseur. Répéter sans changement un échec d’authentification ou de politique d’expéditeur aide rarement.
Ouvrez Delivery problems pour les erreurs enregistrées. L’événement temporaire reste visible après la réussite : c’est un historique, pas forcément un blocage actuel.
Un échec permanent d’adresse peut provoquer un blocage immédiat. Des rebonds temporaires répétés peuvent atteindre le seuil du site. Les refus liés à la politique ou à l’expéditeur et les erreurs inconnues ne deviennent pas automatiquement des adresses inexistantes. Vérifiez classification et réponse du fournisseur plutôt que de bloquer tout un public après une erreur de configuration de l’hôte.
17. Terminer les vérifications avant la production
Avant de vrais contacts, répétez le parcours complet avec vos versions compatibles réelles. Confirmez le bon site et l’autorisation d’envoi distincte. Importez un petit public contrôlé, vérifiez consentements et listes, puis confirmez une inscription publique avec une vraie boîte.
Créez et enregistrez le modèle dans l’interface fonctionnelle. Testez les replis de l’objet, HTML, texte brut, liens individuels et réponses. Vérifiez fournisseur réel, autorisation de l’expéditeur et réception. Lancez une petite campagne approuvée, contrôlez chaque statut et essayez pause, désinscription et nouvelle tentative choisie avec soin. Vérifiez enfin la tâche explicite et son débit par rapport aux exigences du fournisseur.
Gardez un consentement pertinent lorsque la newsletter évolue. Examinez les blocages sans rétablir discrètement les autorisations. La liste organise, la campagne est une tâche d’envoi et le journal des destinataires documente ce qu’elle a réellement effectué.
Dépannage
| Symptôme | Vérification |
|---|---|
| Création/modification de modèle en échec sur Campaigns 0.7.3 | Passez à 0.7.4 ou une version compatible ultérieure ; faites vider les anciennes vues compilées si nécessaire, puis testez modèles nouveaux et enregistrés. |
| Le plugin indique une configuration incomplète | Résolvez les migrations dans les détails et confirmez l’activation. |
| L’import crée moins de contacts que de lignes CSV | Vérifiez doublons, adresses invalides ou bloquées, correspondance et résultat global. |
| Un prénom manque | Associez explicitement la colonne de prénom et utilisez un repli dans le modèle. |
| Almost done apparaît mais pas le contact | La confirmation manque ; vérifiez le transport et utilisez le dernier lien non expiré. |
| Un contact manque à la campagne | Vérifiez site, liste, statut et base du consentement, indicateur opérationnel si pertinent et blocages. |
| La campagne reste en attente | Vérifiez planification explicite, exécution de commande et pause. |
| La campagne affiche Sent mais les messages manquent | Lisez statuts et motifs ; distinguez acceptation du transport et remise réelle en boîte. |
| Lien de désinscription vide dans le test | Aperçu et test n’ont pas d’URL individuelle ; vérifiez une campagne contrôlée. |
| Lever le blocage ne permet pas le marketing | Vérifiez le consentement retiré ; le déblocage seul ne le rétablit pas. |
| Aucun bouton pour réessayer une ligne ignorée | L’action concerne les échecs ; examinez l’omission et une nouvelle campagne séparément. |
| L’envoi dépasse la valeur horaire apparente | La limite vaut par campagne/exécution et est contrôlée par lot ; vérifiez taille, fréquence et limitation du fournisseur. |
Consultez aussi Créer des formulaires personnalisés avec WebBlocks Forms, Rôles et autorisations et la référence Campaigns.