Automatización y workflows de emails con Mailchimp


A la hora de gestionar campañas de emails, no cabe duda que Mailchimp es el rey de la selva, así que en este post exprimiremos al máximo sus capacidades, descubriendo una de sus características, la automatización en base a workflows.

La automatización de envíos en Mailchimp permite realizar envíos de correos electrónicos a los suscriptores de tus listas de contactos, este envío se producirá cuando se cumpla un determinado evento y podrá ir destinado a un segmento o conjunto de suscriptores, con la idea de atraer la atención de los mismos.

Antes de comenzar es destacable que para acceder a las características de automatización y eventos será necesario disponer de un plan Standard o superior en Mailchimp.

Cómo funciona realmente

Una de las características más importante es que el trigger o lanzador del envío puede ser disparado mediante una llamada o petición HTTP a los servidores de Mailchimp, así que imagínate la cantidad de posibilidades que se nos brinda con esta opción, cuestiones tan sencillas como la felicitación de un cumpleaños, un correo de bienvenida a tu empresa, un agradecimiento después de una compra, en fin cualquier disparador que se nos ocurra y que esté incluido en la lógica de negocio de vuestra aplicación.

Qué hace Automation de Mailchimp

Mailchimp te brinda y ofrece, todas las herramientas necesarias para diseñar y confeccionar una plantilla de envío, la gestión de suscriptores y su posterior seguimiento y quizás lo más interesante ofrece un envío mediante correo electrónico cuando desde un sistema externo (una app móvil de Xamarin ;-) o un backend) se realice una petición HTTP a un determinado endpoint.

Mailchimp ofrece también herramientas básicas de Workflow para iniciar los comandos de disparo de nuestra tarea automatizada, pero lo más interesante en muchas ocasiones es que el disparo se realizará desde la lógica de negocio de nuestra aplicación, por ejemplo cuando se de alta un nuevo cliente, o en una aplicación de fitness se termine de realizar un tracking de ejercicios, en fin, infinitas posibilidades, derivando la responsabilidad del envío y seguimiento del correo electrónico a una plataforma especializada en este aspecto evitando reinventar la rueda.

Así que vamos manos a la obra y vamos a detallar cuáles son los pasos a seguir para poner en práctica esta característica.

PASO 1. Creación de una lista de suscriptores

Parece una tontería pero es fundamental tener preparado este paso ya que la creación posterior del Automation estará basada en nuestra lista de suscriptores. Para ello iniciamos sesión en nuestra cuenta de Mailchimp y pulsamos en el siguiente enlace: https://us3.admin.mailchimp.com/lists/new-list/

No me voy a detener en esta paso porque hay infinidades de tutoriales y de instrucciones que pueden ser obtenidas con facilidad buceando un poco en Google, incluso la propia documentación oficial de Mailchimp esta muy detallada.

Incluso lo más recomendable es que echéis un ojo al componente Nuget MailChimp.NET para la creación de listas y suscriptores programativamente, en las siguientes líneas vamos a profundizar un poco más sobre este componente.

PASO 2. Creación de una función de automatización de email

Para ello nos dirigimos al menú superior del Dashboard de Mailchimp y pulsamos sobre la opción "Automate >> Email", nos aparecerá una pantalla tal como esta:


Posteriormente tendremos que seleccionar la opción "API 3.0" que se encuentra dentro de la pestaña "API", e indicar el nombre de la campaña y la audiencia a la que irá destinada, aquí tendremos que indicar la lista de suscriptores que hemos creado en el punto anterior, o seleccionar una ya existente anteriormente.


Tras indicar el nombre y la audiencia, ahora viene lo más interesante: diseñar la plantilla de envío que se usará cuando realicemos una llamada a este "Automation", en nuestro caso indicaremos que el trigger o disparador se ejecutará nada más recibir la petición, es decir de forma inmediata cuando hagamos la petición HTTP a esta función de automatización.


Una característica también interesante es que podemos incluso filtrar por una determinada etiqueta o tag, de manera que en función de una determinada característica del suscriptor como pudiera ser el idioma preferido, podríamos personalizar el envío en el que el usuario va a recibir su correo electrónico. En este punto como puedes observar podemos agregar más de un tipo de email, permitiendo infinitas posibilidades de personalización.

¿Todo preparado?

Bueno, ahora nos queda lo más importante e interesante. Hasta aquí, nada fuera de lo común, todo se puede hacer mediante el interfaz y herramientas que proporciona Mailchimp. Lo siguiente que vamos a realizar es la llamada a nuestra función de automatización.

Llamando a la función de automatización

Como ya hemos comentado, la llamada a la automatización la realizaremos mediante HTTP, para ello haremos uso del plugin Nuget MailChimp.NET.

Para su instalación abriremos la consola de administración de paquetes y tecleamos el siguiente comando:

Install-Package MailChimp.Net.V3

Una vez instalado el plugin, creamos la instancia del manager, tal y como sigue:

IMailChimpManager manager = new MailChimpManager(apiKey);

Ahora si viene lo interesante, la solicitud de llamada a la función de automatización y encolado de envío al suscriptor:


El parámetro email, queda bastante claro que es referido al correo electrónico del suscriptor que debe estar incluido en nuestra lista elaborada en el PASO 1.

Pero qué es eso de automateID, workflowEmailID, a mi me dió algunos dolores de cabeza encontrarlos, pero dí con una herramienta oficial de Mailchimp que me alegró el día, se trata de Mailchimp API Playground.

Mailchimp API Playground

Esta fue la clave para cerrar el círculo y la herramienta que me ofreció justo lo que necesitaba para terminar de hacer las pruebas de integración. Esta herramienta te permite explorar y navegar por los datos de campañas, automatizaciones, etc, todos los objetos que manejamos en nuestra cuenta de Mailchimp.

Para acceder tenéis que dirigiros aquí: https://us1.api.mailchimp.com/playground/
Introducir vuestra API KEY y desde ahí acceder al panel de Automations:




Mediante esta herramienta podemos obtener los identificadores que son los que vamos a necesitar para hacer la llamada.

Para el caso del automateID corresponde con el primer campo que vemos en la pantalla anterior, concretamente el denominado ID. Para obtener el workflowEmailID tenemos que dirigirnos al desplegable Subresources y seleccionar la opción emails, nos cargará una lista con todas las plantillas de emails que habremos definido en el PASO 2, basta con seleccionar el detalle y obtener el ID, este es el que aplicaremos en el valor workflowEmailID.

Resumiento, el automateID indica el identificador del proceso de automatización, y el workflowEmailID indica el identificador de la plantilla email que usaremos.

Siguientes pasos

Llegados a este punto podríamos ceder el control a nuestro departamento de marketing, para que realizará el seguimiento adecuado de los envíos que hemos programado, esto no es objeto de este post así que lo dejamos en manos de los expertos "marketinianos" ;-).

Conclusiones

La verdad que la potencia que nos brinda esta característica es brutal, liberándonos de la confección de tediosas plantillas de emails, y lo más potente, el seguimiento que podemos hacer a posteriori de nuestros suscriptores, cuestión que en el campo del marketing es de agradecer, así como la liberación también de recursos a nivel técnicos y de hardware que se requieren en este tipo de operaciones.

Por otra parte la facilidad de integración en proyectos con tecnologías .NET usando el componente de Nuget MailChimp.NET, es muy interesante y cómoda, reduciendo los tiempos de desarrollos. No dejéis de echar un ojo a dicho componente porque dispone de una API completa de todas las funciones y características de Mailchimp, desde la creación y gestión de listas y suscriptores, hasta la gestión de funciones de automatización vistas en este post.

Enlaces de interés


Comentarios

Entradas populares de este blog

Qué necesito para ser desarrollador de aplicaciones móviles (2ª parte)

Notificaciones agrupadas en iOS

Cómo implementar notificaciones push en Xamarin iOS