Cómo enviar correos personalizados desde Google Sheets con plantillas

En este tutorial vamos a aprender a enviar correos electrónicos desde Google Sheets usando plantillas personalizadas. La idea es que, en lugar de escribir manualmente el mensaje para cada destinatario, podamos armar un texto base con variables que se reemplazan automáticamente con los datos de cada fila de nuestra hoja de cálculo. Esto es súper útil para emprendedores y pequeñas empresas que quieren automatizar comunicaciones personalizadas, como confirmaciones de compra o notificaciones, sin complicarse con código complejo.

Ahora, vamos a desglosar cómo construir este sistema desde cero usando Google Apps Script y Google Sheets.

Preparar las variables desde la hoja de cálculo

Para comenzar, partimos de una hoja de cálculo con datos organizados en columnas, donde cada fila representa un registro o cliente. Por ejemplo, podemos tener esta estructura:

FilaCorreoNombreProductoFechaValorTipo de pago
2cliente1@gmail.comSebastiánCurso básico de Sheets15/07/202330 USDTarjeta de crédito

Desde el script, vamos a extraer cada dato con la función getRange(fila; columna).getValue() para luego construir las variables que usaremos en el correo:

var email = hoja.getRange(2; 1).getValue();
var nombre = hoja.getRange(2; 2).getValue();
var producto = hoja.getRange(2; 3).getValue();
var fecha = hoja.getRange(2; 4).getValue();
var valor = hoja.getRange(2; 5).getValue();
var tipoPago = hoja.getRange(2; 6).getValue();

Construir el asunto y el mensaje usando plantillas

En lugar de escribir directamente el asunto y el cuerpo del correo, vamos a crear una plantilla con texto fijo y variables marcadas para luego reemplazarlas con los valores reales. Por ejemplo, una plantilla para el mensaje podría ser:

var plantillaMensaje = "Estimado {{nombre}},\n\nMuchas gracias por comprar nuestro producto {{producto}}.\nTu compra fue realizada el {{fecha}} por un valor de {{valor}} con tipo de pago {{tipoPago}}.\n\nSaludos,\nEquipo JuanSGuzman";

Y para el asunto, algo simple como:

var plantillaAsunto = "Compra del producto {{producto}} por {{nombre}}";

La clave está en usar el método replace para sustituir cada variable entre llaves por su valor correspondiente. Como JavaScript no siempre muestra todos los métodos en el editor de Apps Script, escribimos el código manualmente así:

var mensaje = plantillaMensaje
  .replace("{{nombre}}", nombre)
  .replace("{{producto}}", producto)
  .replace("{{fecha}}", fecha)
  .replace("{{valor}}", valor)
  .replace("{{tipoPago}}", tipoPago);

var asunto = plantillaAsunto
  .replace("{{nombre}}", nombre)
  .replace("{{producto}}", producto);

Enviar el correo desde Google Apps Script

Finalmente, para enviar el correo usamos la función MailApp.sendEmail(destinatario; asunto; mensaje). Con las variables que ya tenemos, el código queda así:

MailApp.sendEmail(email; asunto; mensaje);

Este es el método básico que yo uso para enviar correos personalizados desde Sheets sin tener que escribir cada mensaje manualmente. En próximos videos veremos cómo automatizar el envío a múltiples destinatarios con ciclos y filtros, y cómo marcar en la hoja cuándo un correo ya fue enviado para evitar duplicados.

Conclusión

En este tutorial aprendimos a crear plantillas personalizadas para enviar correos desde Google Sheets usando Google Apps Script. Vimos cómo extraer datos de una hoja, construir el asunto y el mensaje con variables que se reemplazan, y finalmente enviar el correo con MailApp.sendEmail. Esta técnica es muy útil para automatizar comunicaciones y ahorrar tiempo, especialmente si manejas ventas, reservas o cualquier tipo de contacto con clientes.

Como siguientes pasos, te recomiendo explorar cómo hacer un ciclo para enviar correos a varias filas y agregar controles para evitar envíos repetidos. También puedes mejorar el formato del mensaje usando HTML o almacenar tus plantillas en una hoja separada para facilitar su edición.

Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

JuanSGuzman
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.