Saltar al contenido principal

Seguimiento y analítica de WhatsApp

Joryio ofrece seguimiento integral de mensajes de WhatsApp, incluido el estado de entrega, las aperturas, los clics y las interacciones con botones. Estos datos alimentan la analítica en tiempo real.

Resumen

El seguimiento de WhatsApp te permite:

  • Registrar la entrega de mensajes: estados de enviado, entregado y leído.
  • Supervisar la interacción: clics en botones y enlaces.
  • Analizar campañas: atribuir conversiones a campañas concretas.
  • Activar flujos: usar mensajes entrantes de WhatsApp para activar recorridos de Canvas.

Eventos registrados

Eventos de mensajes salientes

Al enviar mensajes de WhatsApp mediante campañas o Canvas, se registran los siguientes eventos:

Nombre del eventoDescripciónPropiedades
whatsapp.message.sentEl mensaje se envió a la API de WhatsAppmessageId, templateName, recipientPhone
whatsapp.message.deliveredEl mensaje se entregó al destinatariomessageId, campaignId, variantId
whatsapp.message.readEl destinatario leyó el mensajemessageId, campaignId, variantId
whatsapp.message.failedNo se pudo enviar el mensajemessageId, errorCode, errorMessage
message.clickedEl usuario hizo clic en un botón del mensajecampaignId, buttonId, buttonTitle

Eventos de mensajes entrantes

Cuando los usuarios envían mensajes a tu cuenta de WhatsApp Business:

Nombre del eventoDescripciónPropiedades
whatsapp.message.receivedSe recibió un mensaje entrantemessageType, content, phoneNumber, wabaId

Seguimiento de clics en botones

Cuando los usuarios hacen clic en botones de tus mensajes de plantilla de WhatsApp, Joryio automáticamente:

  1. Asocia los clics con campañas: vincula el clic en el botón al mensaje saliente original.
  2. Registra el evento: registra el evento message.clicked con todo su contexto.
  3. Actualiza la analítica de campañas: incrementa los recuentos de clics de los informes de campaña.

Cómo funciona

1. Envías una plantilla de WhatsApp con botones
2. Almacenamos el mensaje con atribución de campaña (tabla whatsapp_messages)
3. El usuario hace clic en un botón → WhatsApp envía un webhook
4. Buscamos el mensaje original para obtener el contexto de campaña
5. Registramos el evento message.clicked con campaignId, variantId y buttonId

Datos registrados de botones

  • buttonId: carga útil/ID del botón.
  • buttonTitle: texto del botón.
  • campaignId: campaña asociada.
  • variantId: variante de prueba A/B (si corresponde).
  • messageId: ID del mensaje de WhatsApp.

Seguimiento de clics en enlaces

El seguimiento de enlaces de WhatsApp usa el sufijo dinámico de URL de un botón URL de plantilla, el único espacio de URL por destinatario que Meta autoriza. Joryio completa ese sufijo con un token firmado que apunta a tu dominio de seguimiento; el clic se registra y después se redirige al destino real. Como la URL base del botón forma parte de la plantilla aprobada, no se reescribe nada del mensaje al enviarlo y la plantilla sigue siendo válida.

Configuración

1. Configura tu dominio de seguimiento. Hazlo una sola vez en Configuración → Dominio de seguimiento (por ejemplo, track.yourbrand.com). Consulta Dominio de seguimiento.

2. Crea la plantilla de Meta con un botón URL de dominio de seguimiento. Asigna al botón una URL dinámica cuya base sea tu dominio de seguimiento:

URL del botón: https://track.yourbrand.com/wa/{{1}}

Envía la plantilla para su aprobación como de costumbre. Meta la aprueba con tu dominio de seguimiento; el sufijo dinámico {{1}} es la parte variable autorizada.

3. Asigna el destino en la campaña. Al elegir la plantilla en el editor de campañas, cualquier botón URL con sufijo dinámico muestra el campo Enlace del botón. Se marca como con seguimiento cuando su base es una URL de seguimiento …/wa/{{1}}. Introduce el destino real, una URL fija o una expresión Liquid:

{{ user.custom.offerUrl }}

Eso es todo, sin código. En el momento de enviar, Joryio:

  1. Resuelve el destino por destinatario (funcionan Liquid, los feeds de catálogo y los bloques de contenido).
  2. Genera un token de seguimiento firmado con el destino y la atribución (campaña o recorrido, variante y usuario).
  3. Envía el token como sufijo dinámico, de modo que el destinatario recibe https://track.yourbrand.com/wa/<token>.

Flujo de seguimiento

1. Botón de plantilla (aprobado): https://track.yourbrand.com/wa/{{1}}
2. Envío: sufijo ← token firmado { destino, organización, usuario, campaña/canvas, variante }
3. El destinatario toca → GET /wa/:token en tu dominio de seguimiento
4. Token verificado (HMAC) → se registra message.clicked (canal = whatsapp) → 302 al destino

El token está firmado con HMAC, por lo que se rechaza cualquier sufijo manipulado o falsificado, y el destino viaja dentro del token. No hace falta consultar una base de datos para atribuir el clic.

Botones que no pertenecen a tu dominio de seguimiento

Un botón URL cuya base no es tu dominio de seguimiento (por ejemplo, https://shop.com/{{1}}) se trata como un sufijo dinámico normal de Meta: el valor que asignas se envía tal cual y el clic no se envuelve. Solo los botones con dominio de seguimiento se convierten en enlaces con seguimiento; Joryio nunca reescribe una URL que Meta no haya aprobado.

Disparadores de mensajes de WhatsApp para Canvas

Puedes usar mensajes entrantes de WhatsApp como disparadores de flujos de Canvas.

Configuración

Al crear un Canvas, selecciona «Mensaje de WhatsApp» como tipo de disparador de entrada.

Opciones del disparador

OpciónDescripción
Cuenta de WhatsAppWABA específica que se escucha (o todas las cuentas)
Tipos de mensajeFiltra por tipo de mensaje (texto, imagen, button_reply, etc.)
CondicionesCondiciones basadas en contenido (el texto contiene, es igual a, regex)

Tipos de condición

PropiedadDescripciónEjemplo
content.textContenido de texto del mensajeContiene "support"
messageTypeTipo de mensajeEs igual a "button_reply"
phoneNumberNúmero de teléfono del remitenteEmpieza por "+1"

Operadores

  • equals: coincidencia exacta.
  • not equals: no coincide exactamente.
  • contains: el texto contiene el valor.
  • starts with: el texto empieza por el valor.
  • ends with: el texto termina con el valor.
  • matches regex: coincidencia con expresión regular.

Variables de plantilla en Canvas

Cuando un mensaje de WhatsApp activa un Canvas, puedes usar estas variables en los nodos posteriores:

{{ trigger.messageType }}      # 'text', 'image', 'button_reply', etc.
{{ trigger.content.text }} # Contenido de texto del mensaje
{{ trigger.content.type }} # Content type
{{ trigger.phoneNumber }} # Sender's phone number
{{ trigger.messageId }} # WhatsApp message ID
{{ trigger.timestamp }} # Cuándo se recibió el mensaje
{{ trigger.wabaId }} # ID de cuenta de WhatsApp Business
{{ trigger.context }} # Contexto de respuesta (si responde a un mensaje)

Ejemplo: Canvas de bot de soporte

Disparador de entrada: Mensaje de WhatsApp
- Tipo de mensaje: text
- Condición: content.text contiene "help" O "support"

Flujo:
→ Enviar respuesta de WhatsApp: "Hola {{ user.firstName }}, ¿cómo podemos ayudarte?"
→ Bifurcación de comportamiento: esperar respuesta (24 h)
→ Ha respondido: dirigir a un agente de soporte
→ Sin respuesta: enviar mensaje de seguimiento

Dashboard de analítica

Consulta la analítica de WhatsApp en:

  1. Analítica de campañas: métricas por campaña.

    • Mensajes enviados, entregados y leídos.
    • Tasas de clic en botones.
    • Tasas de conversión.
  2. Analítica de Canvas: métricas a nivel de recorrido.

    • Usuarios activados por WhatsApp.
    • Tasas de finalización por ruta.
    • Tasas de respuesta.
  3. Exportación de eventos / analítica personalizada: crea tus propios informes.

    • Consulta los eventos sin procesar (whatsapp.message.sent, whatsapp.message.delivered, whatsapp.message.read, message.clicked) en el Explorador de eventos.
    • Exporta eventos mediante la API para alimentar dashboards personalizados.

Prácticas recomendadas

1. Usa plantillas con botones

  • Los botones generan más interacción que el texto simple.
  • Los clics en botones se registran automáticamente.
  • Usa texto de botón significativo para mejorar la analítica.

2. Activa el seguimiento de enlaces

  • Usa tu dominio de seguimiento para envolver las URL.
  • Obtén atribución completa de los clics en enlaces externos.
  • Mide las tasas de conversión reales.

3. Configura disparadores de Canvas

  • Automatiza respuestas a consultas habituales.
  • Dirige a los usuarios a flujos adecuados según el contenido del mensaje.
  • Usa patrones regex para coincidencias flexibles.

4. Supervisa las tasas de entrega

  • Registra la proporción entre delivered y sent.
  • Identifica problemas de calidad de números de teléfono.
  • Supervisa los mensajes que fallan.

5. Analiza los patrones de respuesta

  • Registra el tiempo entre el envío del mensaje y la acción del usuario.
  • Identifica los horarios de envío óptimos.
  • Mide el uso de la sesión de 24 horas.

Solución de problemas

No se registran los clics en botones

  1. Comprueba la configuración de webhooks: asegúrate de que los webhooks de WhatsApp estén bien configurados.
  2. Verifica el almacenamiento de mensajes: el mensaje original debe existir en la tabla whatsapp_messages.
  3. Comprueba la atribución de la campaña: el mensaje debe incluir campaignId para un seguimiento completo.

Los mensajes entrantes no activan Canvas

  1. Verifica que el Canvas esté activo: debe estar en estado "active".
  2. Comprueba las condiciones del disparador: asegúrate de que el mensaje coincida con las condiciones configuradas.
  3. Verifica la conexión WABA: la cuenta debe estar activa y conectada.

Faltan datos de analítica

  1. Comprueba el Explorador de eventos: confirma que los eventos de WhatsApp siguen llegando. Si se han detenido por completo, contacta con soporte.
  2. Verifica la emisión de eventos: revisa los registros del backend para comprobar el seguimiento de eventos.
  3. Comprueba el intervalo de tiempo: la analítica tiene un retraso de procesamiento.

Documentación relacionada