La automatización del envío de correos electrónicos y el seguimiento de su apertura son herramientas valiosas para negocios, marketing, y gestión de relaciones con clientes. Google Apps Script ofrece una solución potente y flexible para integrar estas funcionalidades directamente desde Google Sheets. Este artículo te guiará a través de la creación de un script que no solo envía correos, sino que también rastrea si han sido abiertos.
Video
Paso 1: Preparación de Google Sheets
Antes de escribir cualquier código, necesitas preparar tu hoja de cálculo en Google Sheets:
- Crear una hoja de cálculo: Nómbrala adecuadamente, por ejemplo, «Gestión de Clientes».
- Configurar las columnas: Asegúrate de tener columnas para el Correo Electrónico, Nombre, y Estado (para rastrear si un correo ha sido enviado y luego abierto).
Paso 2: Escribir el Script de Envío de Correos
Este script recorrerá las filas de la hoja de cálculo y enviará un correo a cada dirección que aún no ha sido marcada como «Enviado» o «Abierto».
Código del Script:
function enviarMails() {
let libro = SpreadsheetApp.getActiveSpreadsheet();
let hojaDatos = libro.getSheetByName("Clientes");
let datos = hojaDatos.getDataRange().getValues();
datos.shift(); // Elimina la fila del encabezado
datos.forEach((fila, i) => {
let email = fila[0];
let estado = fila[2];
if (estado != "Enviado" && estado != "Abierto") {
let templateHtml = HtmlService.createTemplateFromFile("mail");
templateHtml.nombre = fila[1];
templateHtml.email = email;
let mensajeHtml = templateHtml.evaluate().getContent();
GmailApp.sendEmail(email, "Asunto del Correo", "Texto del Correo", {
htmlBody: mensajeHtml
});
hojaDatos.getRange(i + 2, 3).setValue("Enviado");
}
});
}
Paso 3: Configurar el Rastreo de Apertura de Correos
Este script utiliza un «Webhook» para marcar los correos como «Abierto» en la hoja de cálculo cuando el destinatario abre el correo.
Código del Script:
function doGet(e) {
if (e.parameter['method'] == "track") {
let email = e.parameter['email'];
let libro = SpreadsheetApp.getActiveSpreadsheet();
let hojaDatos = libro.getSheetByName("Clientes");
let datos = hojaDatos.getDataRange().getValues();
let emails = datos.map(fila => fila[0]);
let indice = emails.indexOf(email);
if (indice > -1) {
hojaDatos.getRange(indice + 1, 3).setValue("Abierto");
}
}
}
Paso 4: Insertar el Pixel de Seguimiento en el Correo
Añade un pixel invisible al cuerpo del correo HTML. Este pixel al ser cargado (cuando el receptor abre el correo), activará el script doGet.
Paso 5: Implementar y Desplegar el Script
Para que el script funcione:
- Publicar el Script como una Web App: Desde el editor de Google Apps Script, selecciona «Desplegar» y luego «Nueva implementación» para configurar y publicar tu script como una Web App.
- Configurar permisos: Asegúrate de que el script tenga permisos para actuar como tu usuario y acceder a los servicios de Google necesarios.
Conclusión
Automatizar el envío de correos y el rastreo de su apertura con Google Apps Script es una manera eficiente de mejorar tu flujo de trabajo. Con solo unos pocos pasos, puedes establecer un sistema que no solo envía correos de manera automática desde Google Sheets, sino que también proporciona información valiosa sobre la interacción de los destinatarios con estos correos.
Este artículo proporciona una guía detallada sobre cómo configurar la automatización de correos electrónicos y el seguimiento de aperturas utilizando Google Sheets y Google Scripts, permitiendo a los usuarios optimizar sus comunicaciones de una manera eficiente y efectiva. ¿Necesitas más detalles o una parte específica del proceso explicada con más profundidad?