Dev Life

Automatizar la monitorización de la infraestructura de email con los webhooks de eventos de Mailgun y Datadog

Descubre cómo hacer un seguimiento del rendimiento de los emails sin esfuerzo con los webhooks de eventos de Mailgun y Datadog. Obtén información en tiempo real, automatiza alertas y monitoriza eventos clave como entregas y clics, sin necesidad de comprobaciones manuales.
Imagen para Automatizar la monitorización de la infraestructura de email con los webhooks de eventos de Mailgun y Datadog

¿Alguna vez has configurado alertas de precios de acciones? En lugar de revisarlas constantemente, recibes una notificación cuando tus acciones alcanzan un precio determinado. Así es exactamente como funcionan los webhooks: en lugar de buscar actualizaciones repetidamente, el remitente notifica de forma automática al sistema receptor cuando ocurre un evento específico.

Con los webhooks de eventos de Mailgun, puedes gestionar eventos relacionados con los emails en tiempo real. Al configurarlos en el panel de control de Mailgun, puedes desencadenar solicitudes HTTP POST hacia puntos de conexión de la API específicos siempre que ocurran eventos de email clave. Puedes monitorizar las entregas, las aperturas y las quejas por spam en tiempo real para realizar un seguimiento del rendimiento y resolver problemas al instante. Los webhooks también permiten la automatización, los disparadores, los reintentos, las actualizaciones de CRM y la gestión de bajas en cuanto se produce un evento de email, todo sin intervención manual.

En este artículo, aprenderás a usar los webhooks de Mailgun para monitorizar tus eventos de email.

¿Qué son los webhooks?

Los webhooks son una forma ligera que tienen las aplicaciones para enviar datos de eventos en tiempo real. Permiten que un sistema (el remitente) envíe una solicitud HTTP a otro sistema (el receptor) cuando se produce un evento específico. En lugar de que el receptor busque actualizaciones constantemente, el remitente envía los datos automáticamente.

Los webhooks de Mailgun notifican a tu aplicación cuando se producen eventos de email (como entregas, rebotes o aperturas), lo que le permite procesarlos a medida que ocurren. Por ejemplo, si envías emails promocionales y quieres realizar un seguimiento de cuándo hace clic la clientela en un enlace, los webhooks de Mailgun pueden notificártelo automáticamente. Cuando alguien de tu clientela hace clic en un enlace del email, Mailgun detecta esta acción e inmediatamente envía un webhook a tu servidor con detalles como el email de la persona destinataria, la URL visitada y la marca de tiempo:

{ "event": "clicked", "recipient": "customer@example.com", "url": "https://yourstore.com/special-offer", "timestamp": 1739373700 }

Tu sistema puede entonces marcar a esa persona como “interesada” y desencadenar un email de seguimiento o asignar a un representante de ventas para interactuar con ella. Este seguimiento en tiempo real ayuda a las empresas a medir la interacción y a responder con rapidez a los posibles clientes potenciales.

Mailgun desencadena webhooks para los siguientes eventos de email: apertura, clic, baja, rebote (tanto rebotes duros como rebotes temporales), error y entrega. Para obtener más información sobre los webhooks de Mailgun, consulta esta guía.

Implementar la monitorización de emails con los webhooks de eventos de Mailgun

Los webhooks de Mailgun te permiten realizar un seguimiento de varios eventos de email. Integrarlos con una herramienta de monitorización como Datadog te ayuda a visualizar y a gestionar los datos en tiempo real. También puedes configurar alertas para eventos importantes como los clics (que indican posibles clientes potenciales) o los rebotes y los errores de entrega, lo que te permite responder rápidamente cuando sea necesario.

Antes de empezar este tutorial, asegúrate de tener lo siguiente:

  • Una cuenta de Mailgun para enviar emails a través de la API de Mailgun. Si no tienes una cuenta, sigue esta guía de inicio rápido para configurar una gratis.
  • Una cuenta de Datadog para procesar eventos de webhooks de Mailgun y configurar alertas. Si no tienes una cuenta, bastará con una prueba gratuita para seguir este tutorial.
  • curl, una herramienta de línea de comandos para enviar emails con la API de Mailgun.

El dominio de Mailgun

Para empezar, inicia sesión en tu cuenta de Mailgun y anota tu dominio de envío, junto con tu región, desde el panel de control de Mailgun. Si tienes el plan gratuito, verás un dominio sandbox, que se utilizará en el punto de conexión de la API, así como en la dirección de email del remitente (el campo “from”) al enviar emails a través de la API de Mailgun. El dominio sandbox sigue el formato sandbox.mailgun.org, como este:

Panel de control de dominios de envío mostrando un dominio de sandbox verificado en la región de Estados Unidos

Nota: Si quieres usar tu propio dominio de email personalizado para enviar emails a través de Mailgun, necesitarás un plan de pago. El plan gratuito solo admite un dominio sandbox y te limita a enviar emails a un máximo de cinco destinatarios autorizados.

Activar el seguimiento de emails para tu dominio de Mailgun

Para monitorizar la interacción de tu audiencia, debes activar el seguimiento para tu dominio de Mailgun.

Ve a Send > Sending > Domain settings en tu cuenta de Mailgun. En la sección Tracking, asegúrate de que las opciones Click trackingOpen tracking y Unsubscribes estén activadas:

Página de ajustes de dominio de Mailgun con la sección de Seguimiento resaltada, mostrando el seguimiento activado y una advertencia de DNS

Obtener una clave de API de Mailgun

A continuación, crea una clave de API desde la página API Security, a la que puedes acceder a través de un menú desplegable debajo de tu nombre en la esquina superior derecha. La usarás para configurar tu integración de Mailgun con Datadog:

Panel de control de claves de API de Mailgun mostrando el botón Añadir nueva clave y el modal Nueva clave de API con una opción para copiar al portapapeles

Integración de Mailgun con Datadog

Una vez que tengas tu clave de API de Mailgun, inicia sesión en tu cuenta de Datadog y ve a Integrations a través del panel de navegación izquierdo (cerca de la parte inferior).

En la página Integrations, usa la barra de búsqueda en la parte superior para encontrar la integración de Mailgun:

Página de integraciones de Datadog mostrando un resultado de búsqueda para Mailgun

Haz clic en Mailgun y, a continuación, ve a la pestaña Configure. Desplázate hacia abajo hasta la sección Mailgun Accounts y haz clic en Add New. Introduce tu dominio de Mailgun, la región y la clave de API y, a continuación, guarda tus ajustes.

A continuación, en la sección Logs Collection, debes configurar una URL del punto de conexión para que Mailgun reenvíe los datos de los eventos como registros a Datadog. Los webhooks de Mailgun requieren esta URL para publicar los datos de los eventos.

Para generar la URL del webhook, selecciona una clave de API de Datadog existente (se crea una de forma predeterminada) o crea una nueva en la ventana emergente de configuración, de esta manera:

Página de configuración de la integración de Mailgun con Datadog resaltando la sección para copiar la URL de entrada y la tabla de cuentas de Mailgun

Esto genera una URL de ingesta personalizada con tu clave de API de Datadog, similar a esta:
https://http-intake.logs.us5.datadoghq.com/api/v2/logs?dd-api-key=&ddsource=mailgun
Copia y guarda esta URL; la necesitarás al configurar los webhooks de Mailgun. A continuación, cierra la ventana emergente de la integración de Mailgun.

Para obtener más detalles sobre la integración de Mailgun con Datadog, consulta la documentación oficial.

Crear webhooks de Mailgun

En tu cuenta de Mailgun, ve a Send > Sending > Webhooks.

En la página Webhooks, haz clic en Add webhook en la esquina superior derecha. Elige el tipo de evento del que quieres realizar el seguimiento, luego pega la URL de ingesta personalizada que generaste desde Datadog en el paso anterior y haz clic en Create webhook para guardarlo. Repite este proceso para crear tres webhooks diferentes para Delivered MessagesOpens y Clicks:

Panel de control de webhooks de Mailgun mostrando la ventana modal del Nuevo webhook con campos para el Tipo de evento y la URL

Ahora, cada vez que tenga lugar uno de estos eventos, Mailgun notificará automáticamente a la URL de Datadog con los datos del evento correspondientes.

Enviar emails a través de la API de Mailgun

Mailgun te permite enviar emails usando sus API. Puedes usar la herramienta curl desde tu terminal para enviar un solo email con el siguiente comando:

                                

                                    curl -s --user 'api:YOUR_API_KEY' \

https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \

-F from='User Name ' \

-F to=recipient@example.com \

-F subject="Exclusive 40% discount..." \

--form-string html='As a valued customer, we're excited to offer you an exclusive 40% discount on <a href="https://example.com/awesome-product">Our Awesome Product</a>. Grab it now!' \

-F o:tracking-opens="yes"
                                
                            

Reemplaza YOUR_API_KEY con tu clave de API de Mailgun y YOUR_DOMAIN_NAME con tu dominio de Mailgun. Esto autentica tu solicitud y garantiza que Mailgun sepa que el email lo está enviando una persona autorizada.

Ten en cuenta lo siguiente:

  • El campo from debe contener una dirección de email válida de tu dominio de Mailgun.
  • El campo to puede ser la dirección de email de cualquier persona si tienes un plan de pago. En el plan gratuito, debe ser una de tus destinatarios autorizados.
  • La opción o:tracking-opens="yes" indica a Mailgun que realice un seguimiento de los eventos de apertura del email.

Nota: El mensaje de email debe estar en HTML (no en texto sin formato) porque Mailgun inserta un píxel de seguimiento invisible para detectar los eventos de apertura. 

El mensaje HTML también contiene un enlace, y Mailgun realiza un seguimiento si la persona destinataria hace clic en él (lo que desencadena un evento de clic).

Después de que tu solicitud curl se ejecute correctamente, Mailgun responderá con un mensaje como este:

{"id":"@.mailgun.org","message":"Queued. Muchas gracias."}

Para realizar pruebas, intenta enviar emails a diferentes personas.

Monitorizar la interacción de los emails con Datadog

Para monitorizar la interacción de tus emails, inicia sesión en tu cuenta de Datadog y ve a la sección Dashboards desde el panel de navegación izquierdo. Usa la barra de búsqueda de la parte superior para encontrar y seleccionar Mailgun Overview.

Datadog ofrece un panel de control prediseñado que muestra eventos de email importantes (como entregas, aperturas, rebotes y clics) en tiempo real, lo que te ayuda a monitorizar el rendimiento de tus emails de un vistazo:

Panel de control de información general de Mailgun en Datadog mostrando métricas de entrega de emails, gráficos de interacción y analíticas de registros

El panel de control muestra métricas clave como el número de emails entregados, emails abiertos y enlaces en los que se ha hecho clic. También proporciona otras analíticas útiles, todas ellas basadas en los datos de eventos recibidos de los webhooks de Mailgun.

Configurar un monitor de Datadog para los eventos de clic de Mailgun

Supongamos que quieres captar clientes potenciales de tu campaña de email realizando un seguimiento de todas las personas que hacen clic en un enlace de tu email. En lugar de revisar el panel de control constantemente, sería mejor si recibieras una notificación por email cada vez que se produce un clic.

Datadog te permite configurar monitores que pueden desencadenar alertas de forma automática en función de los eventos de webhook de Mailgun. A continuación, te explicamos cómo puedes crear un monitor basado en registros en Datadog que escuche los eventos clicked de Mailgun:

Interfaz de configuración de monitores de Datadog resaltando tres pasos: seleccionar el alcance, establecer las condiciones de alerta y configurar las notificaciones

En el panel de navegación izquierdo, haz clic en Monitors y, a continuación, en New Monitor. En la lista de tipos de monitores, selecciona Logs y, a continuación, haz clic en Configure Logs Monitor en la parte inferior derecha. Introduce la siguiente consulta de búsqueda:

source:mailgun @evt.name:clicked

Esto filtrará tus registros de Mailgun para que solo se tengan en cuenta los eventos de clics.

Elige un periodo de evaluación (como cinco minutos o cualquier intervalo adecuado en función de la frecuencia con la que quieras comprobar los clics).

En la sección Set alert conditions, configura el disparador para cuando el valor evaluado esté por encima del umbral. En el campo Alert threshold, establece la condición para que sea mayor que 0. Deja los demás valores sin cambios. Esto garantiza que el monitor se desencadene cuando se detecte un evento de clic en el periodo de evaluación seleccionado de cinco minutos.

En la sección Configure notifications & automations, establece el título como “Lead Alert: Campaign Link Clicked” y el mensaje del monitor de la siguiente manera:

{{#is_alert}} Un posible cliente potencial ha interactuado con tu campaña de email promocional.

**Detalles del cliente potencial:**

– Persona destinataria: {{log.attributes.usr.email}} – Marca de tiempo: {{log.timestamp}} – Enlace visitado: {{log.attributes.event-data.url}}

Considera realizar un seguimiento y actualizar tu CRM.

Esta notificación es generada por la integración de Mailgun con Datadog.

@ {{/is_alert}}

El bloque {{#is_alert}}...{{/is_alert}} garantiza que este mensaje solo se envíe cuando el monitor se desencadene (cuando se detecte un clic) y no en otras situaciones, como durante la recuperación. Los valores en los bloques {{...}} contienen detalles de los datos del evento correspondiente.

En el campo @ Add Mention, introduce las direcciones de email que recibirán esta notificación, como las de tu equipo de CRM.

Por último, revisa la configuración de tu monitor y haz clic en Create para terminar.

Este monitor se desencadenará cada vez que se detecte un evento de clic de los webhooks de Mailgun en tus registros de Datadog. Las direcciones de email para notificaciones recibirán un email con los detalles del cliente potencial. Esta configuración automatiza la detección de clientes potenciales de tus campañas de email sin tener que monitorizar manualmente los paneles de control.

¿Sabías que? También puedes enviar notificaciones del monitor a Slack, Jira, Microsoft Teams y otros servicios a través de Datadog, si es necesario.

Probar la automatización de Mailgun con Datadog

Con todo configurado, es hora de probar cómo los webhooks de Mailgun y Datadog trabajan juntos para avisarte cuando tiene lugar un evento de clic.

Abre uno de los emails de prueba que enviaste antes usando el comando curl y haz clic en el enlace del email para simular a una persona de tu audiencia interactuando con tu campaña.

Mailgun detectará el evento de clic y desencadenará el webhook, enviando los datos del evento a Datadog como una entrada de registro.

Dado que tu monitor está configurado para observar los eventos de clics, Datadog evaluará la condición y desencadenará un email de alerta que contenga información importante sobre el cliente potencial, como el email de la persona destinataria, la marca de tiempo y la URL visitada.

Este es un email de alerta enviado por este monitor de Datadog:

Notificación de alerta de cliente potencial por hacer clic en un enlace de una campaña, incluyendo detalles del cliente potencial y un botón para ver el evento en Datadog

Este sistema totalmente automatizado no solo realiza un seguimiento de la interacción de los emails, sino que también te alerta en tiempo real cuando un posible cliente potencial interactúa con tu campaña de Mailgun. Del mismo modo, puedes automatizar notificaciones de eventos de email, como rebotes y errores, para tus equipos de SRE.

Eliminar webhooks de Mailgun

Si ya no quieres realizar un seguimiento de un evento de email específico, puedes eliminar su webhook correspondiente en Mailgun.

Solo tienes que ir a Send > Sending > Webhooks en tu cuenta de Mailgun, localizar el evento del que quieres dejar de hacer un seguimiento y hacer clic en Delete junto a él. Se te pedirá que confirmes la eliminación; una vez confirmada, el webhook se eliminará y Mailgun dejará de enviar datos de eventos de ese tipo en particular a tu punto de conexión.

En resumen

En este tutorial, has aprendido cómo los webhooks de Mailgun pueden enviar datos de eventos para diversas interacciones de emails, como entregas, aperturas, clics, quejas por spam y errores. Has explorado cómo integrar estos webhooks con Datadog para crear un sistema automatizado que permita monitorizar la interacción de los emails y recibir notificaciones.

¿Te ha resultado útil? Asegúrate de suscribirte a nuestra newsletter para recibir actualizaciones sobre el contenido de nuestros tutoriales y noticias sobre emails y entregabilidad de nuestro equipo de especialistas.