Ative o rastreamento para coletar dados de eventos de abertura e clique nos e-mails enviados pelo Direct Mail.
Como funciona o rastreamento
O rastreamento de aberturas e o rastreamento de cliques utilizam mecanismos diferentes:
Rastreamento de aberturas: o Direct Mail insere uma imagem transparente no e-mail. Quando o destinatário abre a mensagem, a imagem é carregada e um evento de abertura é registrado.
-
Rastreamento de cliques: o Direct Mail substitui os links elegíveis por URLs de redirecionamento que passam pelo serviço de rastreamento do Direct Mail. Ao clicar em um link rastreado, o serviço registra o evento e redireciona o destinatário para a URL original.
Os dados de eventos de abertura e clique são coletados em tempo real e exibidos no console.
Pré-requisitos
Antes de começar, verifique se você tem:
Um domínio de remetente com status Verified
Uma tag de e-mail criada na página Defina Email Tag, referenciada durante o envio
Requisitos do e-mail
O e-mail deve atender aos seguintes requisitos antes da ativação do rastreamento:
Use uma tag de e-mail existente.
Use o formato de e-mail HTML. O corpo da mensagem deve incluir um elemento
<body>, por exemplo:<body>Your email content</body>.Para o rastreamento de cliques, os links devem ser tags HTML
<a>no corpo HTML, como:<html><body><a href="hyperlink_to_track">test</a></body></html>. Os links devem ser acessíveis publicamente e começar comhttp://ouhttps://.
Ativar rastreamento
Enviar e-mails pelo console
Ao criar uma tarefa de envio de e-mail, marque a caixa de seleção Ative para rastreamento de e-mail.

Verifique se o conteúdo do e-mail atende aos requisitos listados acima.
Enviar e-mails por API ou SDK
Defina o parâmetro
Tagcomo uma tag de e-mail existente e o parâmetroClickTracecomo"1".Configure o corpo do e-mail usando o método
setHtmlBody. Verifique se o conteúdo atende aos requisitos listados acima.
Para verificar se o rastreamento está ativo, inspecione o conteúdo bruto do e-mail em busca de uma tag img (rastreamento de aberturas) ou de um link de rastreamento (rastreamento de cliques) ao final do corpo.
Enviar e-mails por SMTP
Configure o cabeçalho X-AliDM-Trace conforme descrito em Track email open data by tag when sending by SMTP. Use os valores abaixo:
|
Campo de cabeçalho |
Valor |
|
|
Uma tag de e-mail existente |
|
|
|
|
|
|
Para excluir um link específico do rastreamento de cliques, adicione o atributo data-alidm-traceoff à tag <a> no conteúdo HTML. Por exemplo:
<a href = "http://www.aliyun.com" data-alidm-traceoff>Alibaba Cloud</a>
Requisitos de SMTP
O tipo MIME do corpo do e-mail deve ser
text/html;charset=UTF-8. Defina o cabeçalhoContent-Transfer-Encodingcomoquoted-printable. Verifique se o conteúdo atende aos requisitos listados acima.
Exemplo em Python:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart('alternative')
texthtml = MIMEText('''<html><body><a href="https://www.aliyun.com">Email Tracking</a></body></html>''', _subtype='html',
_charset='UTF-8')
if 'Content-Transfer-Encoding' in msg:
# If the header is already set, replace the first value (this header usually has only one value).
msg.replace_header('Content-Transfer-Encoding', 'quoted-printable')
else:
# If the header is not set, add it.
msg['Content-Transfer-Encoding'] = 'quoted-printable'
msg.attach(texthtml)
SMTP call example for Python 3.6 and later
Exemplo em Java:
import javax.mail.internet.MimeBodyPart;
// Assume that msg is the MimeMessage object you are working with. This example uses MimeBodyPart for demonstration.
// Create the message body part.
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent("<html><body><a href=\"https://www.aliyun.com\">Email Tracking</a></body></html>", "text/html; charset=UTF-8");
// Check if 'Content-Transfer-Encoding' is set.
String[] cte = textPart.getHeader("Content-Transfer-Encoding");
if (cte == null || cte.length == 0) {
// If not set, add the header.
textPart.addHeader("Content-Transfer-Encoding", "quoted-printable");
} else {
// If it is set, replace the first value (this header usually has only one value).
textPart.setHeader("Content-Transfer-Encoding", "quoted-printable");
}