Links de cancelamento de inscrição
Um destinatário dos seus e-mails de marketing tem duas formas de recusar: o botão de cancelamento de inscrição que o provedor de e-mail exibe e um link no corpo da mensagem. Nós incluímos ambos em cada envio marketing, reportamos cada cancelamento como um evento de webhook e registramos o cancelamento do endereço para que sua próxima campanha o ignore. Configurar a categoria corretamente é a única parte que depende de você.
Defina a categoria
Um cancelamento de inscrição só faz sentido para e-mails dos quais o destinatário pode recusar, e é por isso que a categoria vem primeiro. Um envio é category: "marketing" por padrão, então e-mails de campanha, newsletter e comunicados são tratados corretamente sem nenhum trabalho extra. Defina category: "transactional" explicitamente em e-mails operacionais, e nós os deixamos como estão. Um recibo ou uma redefinição de senha não tem link de cancelamento e nunca é bloqueado por um cancelamento anterior do destinatário.
Duas obrigações sustentam isso. Remetentes em massa são obrigados pelo Gmail e Yahoo a oferecer cancelamento de inscrição com um clique em e-mails de marketing, e um link visível no corpo da mensagem é exigido separadamente por lei na maioria dos mercados. Um envio marketing tem ambos.
O botão de cancelamento com um clique
Esse é o controle de cancelamento de inscrição que os provedores de e-mail exibem no cabeçalho da mensagem. Ele vem de um par de cabeçalhos, List-Unsubscribe e List-Unsubscribe-Post, e os provedores só oferecem a versão de um toque quando ambos estão presentes e o endpoint de cancelamento aceita um POST não autenticado sem etapa de confirmação. Esse é o contrato que o Gmail e o Yahoo verificam.
E-mails de marketing já saem com esses cabeçalhos, independentemente de como você envia: um broadcast pelo dashboard ou uma mensagem marketing pelo POST /v1/email/messages. Nada para construir, nada para hospedar.
Como somos donos desse par de cabeçalhos em e-mails de marketing, definir seu próprio List-Unsubscribe ou List-Unsubscribe-Post em um envio marketing é rejeitado com um 422. Em um envio transactional não adicionamos nenhum cabeçalho de cancelamento, e você pode definir o seu pelo campo headers se tiver um motivo para isso.
Um destinatário que usa o botão do provedor produz um evento email.list_unsubscribed.
O link no corpo da mensagem
O segundo caminho é um link visível de cancelamento de inscrição no próprio corpo da mensagem. Nós adicionamos um ao corpo HTML dos seus envios marketing, para que o destinatário sempre tenha algo para clicar. Você também pode adicionar seu próprio link, apontando para um centro de preferências que você hospeda, e o nosso permanece ao lado como o requisito mínimo de conformidade.
Por padrão, o link aparece como um pequeno rodapé no final do corpo. Para escolher o local você mesmo, coloque a variável reservada {{ bird.unsubscribe_url }} onde o link deve ficar:
Exemplo de código
<p>
You received this because you subscribed to our newsletter. You can {{ bird.unsubscribe_url }} at
any time.
</p>Nós então renderizamos o link nesse local em vez de anexar o rodapé, como uma âncora cujo texto exibe "unsubscribe". Você também pode usá-lo como valor de href (<a href="{{ bird.unsubscribe_url }}">Leave this list</a>) para manter seu próprio texto e estilo.
A substituição acontece apenas na cópia de saída, então ao ler a mensagem de volta pelo API você recebe seu conteúdo original com a variável intacta.
Personalize a página de destino em Email > Unsubscribe page. Defina o nome do remetente, as cores de fundo, texto e botão. O nome do remetente usa por padrão o nome da sua organização. Use o link de exemplo para visualizar o resultado.
Um destinatário que usa o link no corpo da mensagem produz um evento email.unsubscribed, distinto de email.list_unsubscribed para que você possa diferenciar os dois caminhos.
O que um cancelamento faz
Nós paramos de enviar para o destinatário sem que você precise agir no webhook. Qualquer um dos eventos registra o endereço do destinatário como cancelado para e-mails não transacionais, o que significa:
- Envios marketing para o endereço são rejeitados com email.rejected e rejection_reason: "recipient_suppressed". Essa razão reporta qualquer bloqueio no nível do destinatário, seja uma supressão ou uma preferência declarada, então é ela que você deve verificar em ambos os casos.
- Envios transactional continuam sendo entregues, porque um cancelamento de inscrição indica que o destinatário não quer mais campanhas. O endereço em si ainda funciona.
Um cancelamento de inscrição é uma preferência declarada, não uma supressão: ele aparece na aba Preferences de Email > Suppressions e na página de detalhes do contato, não na lista de supressões. Apenas aquele endereço é afetado, e o registro mostra quem cancelou e quando.
Os eventos de webhook permitem que você espelhe o cancelamento no seu próprio banco de dados, altere um flag de inscrição ou registre em log. Ambos incluem os campos de identificação presentes em todo evento de e-mail: email_id, recipient_id, workspace_id, o endereço recipient e seu recipient_role. Eles também incluem tags e metadata do envio original, para que você possa reconciliar com seus registros sem outra consulta, e broadcast_id nomeando o broadcast do qual o e-mail fez parte, ou null quando o envio não tinha broadcast associado. Um link de cancelamento de e-mails enviados antes de adicionarmos o campo não nomeia nenhum broadcast, então um cancelamento por esse link reporta null em ambos os eventos, independentemente de um broadcast ter enviado o e-mail. Inscreva-se neles da mesma forma que em qualquer outro evento de e-mail; a referência de eventos tem os payloads completos.
Um cancelamento de inscrição é uma declaração do próprio destinatário, então você não pode removê-lo pela API de supressões como faria com uma supressão. Para voltar a enviar para o endereço, registre um opt-in em Contacts > Preferences, ou chame POST /v1/preferences com status: granted. Essa página, válida para todo o espaço de trabalho, registra declarações de todos os canais, enquanto a aba em Email > Suppressions mostra apenas as de e-mail. De qualquer forma, sobrepor o cancelamento do destinatário exige consented_at, o momento em que ele consentiu, e o opt-in só entra em vigor quando esse momento é posterior ao cancelamento que ele reverte.
Próximos passos
- Categorias: por que marketing é o que faz um cancelamento de inscrição ter efeito
- Supressões: a lista de fatos de entregabilidade e como ela difere de uma preferência declarada
- Eventos de e-mail: os payloads completos de email.unsubscribed e email.list_unsubscribed
- Requisitos do Gmail e Yahoo: onde o cancelamento de inscrição com um clique é obrigatório para remetentes em massa
- Webhooks: inscrição de endpoint, verificação de assinatura e novas tentativas
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.
Assista ao guiaGetting started with emailExplore a funcionalidadeEmailSiga o percurso de aprendizagemBuild your first integrationGuia de implementaçãoSend your first email
Experimente na prática e obtenha um resumo de implementação