Habilite el seguimiento para recopilar datos de eventos de apertura y clics en los correos electrónicos que envía mediante Direct Mail.
Cómo funciona el seguimiento
El seguimiento de aperturas y el seguimiento de clics usan mecanismos distintos:
Seguimiento de aperturas: Direct Mail inserta una imagen transparente en el correo electrónico. Cuando un destinatario abre el mensaje, la imagen se carga y se registra un evento de apertura.
-
Seguimiento de clics: Direct Mail reemplaza los enlaces elegibles con URL de redireccionamiento que pasan por el servicio de seguimiento de Direct Mail. Cuando un destinatario hace clic en un enlace rastreado, el servicio registra el evento y lo redirige a la URL original.
Los datos de eventos de apertura y clics se recopilan en tiempo real y se muestran en la consola.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un dominio de remitente con estado Verified
Una etiqueta de correo creada en la página Set Email Tag, especificada al enviar
Requisitos del correo electrónico
Su correo electrónico debe cumplir los siguientes requisitos antes de habilitar el seguimiento:
Use una etiqueta de correo existente.
Use el formato de correo HTML. El cuerpo del correo debe incluir un elemento
<body>, por ejemplo:<body>Your email content</body>.Para el seguimiento de clics, los enlaces deben ser etiquetas HTML
<a>dentro del cuerpo HTML, por ejemplo:<html><body><a href="hyperlink_to_track">test</a></body></html>. Los enlaces deben tener acceso público y comenzar conhttp://ohttps://.
Habilitar el seguimiento
Enviar correos desde la consola
Al crear una tarea de envío de correo, seleccione la casilla Enable para el seguimiento de correos.

Asegúrese de que el contenido del correo cumpla los requisitos anteriores.
Enviar correos mediante API o SDK
Establezca el parámetro
Tagen una etiqueta de correo existente y el parámetroClickTraceen"1".Configure el cuerpo del correo mediante el método
setHtmlBody. Asegúrese de que el contenido cumpla los requisitos anteriores.
Para comprobar que el seguimiento está activo, revise el contenido sin procesar del correo y busque una etiqueta img (seguimiento de aperturas) o un enlace de seguimiento (seguimiento de clics) al final del cuerpo.
Enviar correos mediante SMTP
Configure el encabezado X-AliDM-Trace como se describe en Track email open data by tag when sending by SMTP. Use los siguientes valores:
|
Campo de encabezado |
Valor |
|
|
Una etiqueta de correo existente |
|
|
|
|
|
|
Para excluir un enlace específico del seguimiento de clics, agregue el atributo data-alidm-traceoff a su etiqueta <a> en el contenido HTML. Por ejemplo:
<a href = "http://www.aliyun.com" data-alidm-traceoff>Alibaba Cloud</a>
Requisitos de SMTP
El tipo MIME del cuerpo del correo debe ser
text/html;charset=UTF-8. Establezca el encabezadoContent-Transfer-Encodingenquoted-printable. Asegúrese de que el contenido cumpla los requisitos anteriores.
Ejemplo en 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
Ejemplo en 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");
}