Sign inGet started

Liens de désinscription

Un destinataire de vos e-mails marketing dispose de deux moyens pour se désinscrire : le bouton de désinscription affiché par son fournisseur de messagerie, et un lien dans le corps du message. Nous ajoutons les deux à chaque envoi marketing, signalons chaque désinscription comme un événement webhook et enregistrons la désinscription de l'adresse pour que votre prochaine campagne l'ignore. Définir correctement la catégorie est la seule partie qui vous incombe.

Définir la catégorie

Une désinscription n'a de sens que pour un e-mail dont le destinataire peut se désinscrire, c'est pourquoi la catégorie passe en premier. Un envoi est category: "marketing" par défaut, donc les e-mails de campagne, de newsletter et d'annonce sont traités correctement sans intervention. Définissez category: "transactional" explicitement sur les e-mails opérationnels, et nous n'y touchons pas. Un reçu ou une réinitialisation de mot de passe n'a pas de lien de désinscription et n'est jamais bloqué par une désinscription antérieure.
Deux obligations sous-tendent ce fonctionnement. Les expéditeurs en masse sont tenus par Gmail et Yahoo de proposer la désinscription en un clic sur les e-mails marketing, et un lien visible dans le corps du message est séparément exigé par la loi dans la plupart des marchés. Un envoi marketing inclut les deux.

Le bouton de désinscription en un clic

Il s'agit du contrôle de désinscription que les fournisseurs de messagerie affichent dans l'en-tête du message. Il repose sur deux en-têtes, List-Unsubscribe et List-Unsubscribe-Post, et les fournisseurs ne proposent la version en un clic que lorsque les deux sont présents et que le point de terminaison de désinscription accepte un POST non authentifié sans étape de confirmation. C'est le contrat que Gmail et Yahoo vérifient.
Les e-mails marketing partent avec ces en-têtes déjà en place, quel que soit le mode d'envoi : une diffusion depuis le tableau de bord, ou un message marketing via POST /v1/email/messages. Rien à construire, rien à héberger.
Comme nous gérons cette paire d'en-têtes sur les e-mails marketing, définir votre propre List-Unsubscribe ou List-Unsubscribe-Post sur un envoi marketing est rejeté avec une 422. Sur un envoi transactional, nous n'ajoutons aucun en-tête de désinscription, et vous pouvez définir le vôtre via le champ headers si vous en avez besoin.
Un destinataire qui utilise le bouton du fournisseur produit un événement email.list_unsubscribed.

Le lien dans le corps du message

Le second moyen est un lien de désinscription visible dans le message lui-même. Nous en ajoutons un dans le corps HTML de vos envois marketing, pour que le destinataire ait toujours quelque chose à cliquer. Vous pouvez aussi ajouter votre propre lien pointant vers un centre de préférences que vous hébergez ; le nôtre reste à côté comme socle de conformité.
Par défaut, le lien apparaît sous forme d'un petit pied de page à la fin du corps. Pour choisir l'emplacement vous-même, placez la variable réservée {{ bird.unsubscribe_url }} à l'endroit où le lien doit apparaître :
Exemple de code
<p>
  You received this because you subscribed to our newsletter. You can {{ bird.unsubscribe_url }} at
  any time.
</p>
Nous affichons alors le lien à cet endroit au lieu d'ajouter le pied de page, sous forme d'ancre dont le texte est "unsubscribe". Vous pouvez aussi l'utiliser comme valeur href (<a href="{{ bird.unsubscribe_url }}">Leave this list</a>) pour conserver votre propre libellé et votre propre mise en forme.
La substitution s'effectue uniquement sur la copie sortante, donc relire le message via API renvoie votre contenu d'origine avec la variable intacte.
Personnalisez la page de destination dans Email > Unsubscribe page. Définissez le nom de l'expéditeur, l'arrière-plan, le texte et les couleurs du bouton. Le nom de l'expéditeur reprend par défaut le nom de votre organisation. Utilisez le lien d'exemple pour prévisualiser le résultat.
Un destinataire qui utilise le lien dans le corps du message produit un événement email.unsubscribed, distinct de email.list_unsubscribed pour que vous puissiez différencier les deux chemins.

Ce que fait une désinscription

Nous cessons d'envoyer des e-mails au destinataire sans que vous ayez à agir sur le webhook. Chaque événement enregistre l'adresse du destinataire comme désinscrite des e-mails non transactionnels, ce qui signifie :
  • Les envois marketing vers l'adresse sont rejetés avec email.rejected et rejection_reason: "recipient_suppressed". Cette raison signale tout blocage au niveau du destinataire, qu'il s'agisse d'une suppression ou d'une préférence déclarée, c'est donc celle à utiliser dans tous les cas.
  • Les envois transactional passent toujours, car une désinscription signifie que le destinataire ne veut plus de campagnes. L'adresse elle-même reste fonctionnelle.
Une désinscription est une préférence déclarée, pas une suppression : elle apparaît dans l'onglet Preferences de Email > Suppressions, et sur la page de détail du contact, et non dans la liste de suppression. Seule cette adresse est concernée, et l'enregistrement indique qui s'est désinscrit et quand.
Les événements webhook vous permettent de répliquer la désinscription dans votre propre base de données, basculer un indicateur d'abonnement ou la journaliser. Les deux incluent les champs d'identification de chaque événement e-mail : email_id, recipient_id, workspace_id, l'adresse recipient et son recipient_role. Ils incluent aussi les tags et metadata de l'envoi d'origine, pour que vous puissiez rapprocher vos enregistrements sans requête supplémentaire, ainsi que broadcast_id identifiant la diffusion dans laquelle l'e-mail a été envoyé, ou null lorsque l'envoi n'était lié à aucune diffusion. Un lien de désinscription provenant d'un e-mail envoyé avant l'ajout du champ ne nomme aucune diffusion : une désinscription via un tel lien signale null sur les deux événements, que l'e-mail ait été envoyé par une diffusion ou non. Abonnez-vous à ces événements comme à tout autre événement e-mail ; la référence des événements contient les payloads complets.
Une désinscription est la déclaration propre du destinataire, vous ne pouvez donc pas la supprimer via API des suppressions comme vous le feriez pour une suppression. Pour reprendre l'envoi à cette adresse, enregistrez un opt-in dans Contacts > Preferences, ou appelez POST /v1/preferences avec status: granted. Cette page à l'échelle de l'espace de travail enregistre les déclarations pour chaque canal, tandis que l'onglet dans Email > Suppressions affiche celles liées à l'e-mail. Dans les deux cas, passer outre la désinscription nécessite consented_at, le moment où le destinataire a consenti, et l'opt-in ne prend effet que si ce moment est postérieur à la désinscription qu'il annule.

Étapes suivantes

  • Catégories : pourquoi marketing est ce qui donne effet à une désinscription
  • Suppressions : la liste des faits de délivrabilité, et en quoi elle diffère d'une préférence déclarée
  • Événements e-mail : les payloads complets de email.unsubscribed et email.list_unsubscribed
  • Exigences de Gmail et Yahoo : où la désinscription en un clic est requise pour les expéditeurs en masse
  • Webhooks : abonnement d'un point de terminaison, vérification de signature et réessais