Las variables de plantilla permiten que una campaña envíe la misma estructura de mensaje a cientos de contactos, con el nombre, la empresa o el cargo cambiados para cada destinatario. Vinculas cada espacio dinámico (#{{1}}, #{{2}}, #{{3}}) de la plantilla a un campo del contacto una sola vez, dentro de la etapa de la campaña, y cada persona recibe un mensaje que parece escrito solo para ella.
Disponible en: Todos los planes.
Quién puede hacerlo: Cualquier usuario con acceso al módulo Campañas.
Lo que necesitas antes de empezar
-
Al menos un inbox de WhatsApp conectado en la plataforma
-
Al menos una plantilla aprobada por Meta asociada al inbox que vas a usar, con variables de texto (#{{1}}, #{{2}}, etc.). La creación de plantillas se detalla en: Cómo crear plantillas de WhatsApp con variables
-
Los contactos de la audiencia con los campos que se van a mapear completados (si vas a vincular #{{1}} al nombre, los contactos necesitan tener el campo Nombre completado). Cuando el dato puede faltar, usa el texto predeterminado que se describe más abajo
-
Acceso al módulo Campañas en la navegación lateral
Configurar variables en una etapa de la campaña
El mapeo ocurre en el Paso 3: Secuencia de mensajes de la creación de la campaña. Cada etapa de la secuencia tiene su propia plantilla y su propio mapeo, independiente de las demás.
-
En la navegación lateral, haz clic en Campañas
-
Haz clic en Nueva campaña, o abre una campaña existente en estado Borrador
-
Completa el nombre, selecciona el canal WhatsApp y configura la audiencia en los pasos anteriores
-
En el Paso 3, haz clic en Agregar etapa
-
En el campo Conexión, selecciona el inbox (el remitente) en el desplegable
-
En Tipo de envío, selecciona Plantilla
-
Haz clic en Seleccionar plantilla. El desplegable muestra solo las plantillas aprobadas del inbox elegido
-
Elige la plantilla. La plataforma muestra las variables identificadas (ej.: #{{1}}, #{{2}})
-
Para cada variable, elige en el desplegable el campo del contacto correspondiente (si los campos de las variables ya se mapearon al crear la plantilla, no es necesario asignarlos):
-
Nombre, Correo, Teléfono, País (campos fijos)
-
Campos personalizados creados por el admin de la empresa
-
-
Si quieres, completa el Texto predeterminado de las variables: el texto que entra en el mensaje cuando el contacto no tiene ese dato
-
Sigue la vista previa lateral, que se actualiza en tiempo real con los datos de un contacto real de la audiencia
[GIF: Seleccionando una plantilla en la campaña]
Verificar el mapeo en la vista previa
La vista previa lateral usa datos reales de contactos de la audiencia, no ejemplos ficticios. Así verificas cómo le llegará el mensaje a cada prospecto antes de lanzar.
-
En la lista de etapas, haz clic en la etapa que quieres revisar. La vista previa lateral se actualiza sola
-
Usa las flechas Anterior y Siguiente en la vista previa para pasar por diferentes contactos de la audiencia
-
Verifica que todas las variables aparezcan con el valor correcto para cada contacto
-
Si alguna variable aparece vacía, la plataforma muestra un aviso de mapeo incompleto. Corrígelo antes de lanzar
La vista previa ya aplica el formato de WhatsApp: negrita (*texto*), cursiva (_texto_) y los saltos de línea aparecen como los verá el destinatario en la aplicación.
El valor de cada campo entra en la vista previa exactamente como está registrado, incluso cuando tiene símbolo de moneda o puntuación (ej.: R$ 1.200,00). El texto que ves en la vista previa es el mismo texto que sale para el lead.

Campos disponibles para el mapeo
Campos fijos del contacto
Disponibles para todos los contactos de la plataforma:
| Campo | Ejemplo de uso en la plantilla |
|---|---|
| Nombre | “¡Hola, #{{1}}! ¿Cómo estás?” se convierte en “¡Hola, Juan! ¿Cómo estás?” |
| Correo | “Envié un material a #{{1}}” |
| Teléfono | Se usa poco, ya que el envío va al número del contacto |
| País | “Vi que estás en #{{1}}…” |
La plataforma también ofrece campos derivados del nombre completo, como nombre y apellido.
Campos personalizados
Campos creados por el admin de la empresa, que aparecen en el desplegable de mapeo. Tanto los campos con contexto Contacto como los campos con contexto Mixto aparecen en el editor de mensajes de la campaña:
| Ejemplo de campo | Ejemplo de uso |
|---|---|
| Empresa | “Vi que trabajas en #{{1}}…” |
| Cargo | “Como #{{1}}, seguramente lidias con…” |
| Segmento | “Atendemos a muchas empresas del sector de #{{1}}…” |
| Ciudad | “¡Qué bueno hablar con alguien de #{{1}}!” |
Componentes de plantilla compatibles
No todos los componentes de una plantilla aceptan variables. Esto es lo que aplica:
| Estado | Componente | Compatibilidad con variables |
|---|---|---|
| ✅ | Header (texto) | Acepta 1 variable (#{{1}}) |
| ✅ | Body | Componente principal, acepta varias variables (#{{1}}, #{{2}}, etc.) |
| ❌ | Footer | No acepta variables, es solo texto fijo (regla de Meta) |
| ❌ | Botones con texto fijo | No usan variables |
| ⚠️ | Botones de URL dinámica | Compatibilidad limitada. Confirma con soporte si tu inbox y tu plan cubren este caso |
Qué pasa al momento del envío
Las variables se resuelven al momento del envío de cada etapa, y no en el lanzamiento de la campaña. En la práctica:
-
La plataforma busca los datos actuales del contacto cuando llega la hora de enviar esa etapa
-
Si el campo del contacto cambia entre una etapa y otra, la siguiente etapa usa el valor actualizado
-
El valor del campo se inserta en el texto exactamente como está registrado, sin ningún tratamiento extra de caracteres
-
Si un contacto no tiene el campo mapeado completado y la variable no tiene texto predeterminado, el mensaje no se le envía y la inscripción se cierra como falla
-
Si la variable tiene texto predeterminado, el mensaje sale normalmente, con ese texto en lugar de la variable
Texto predeterminado: enviar aunque el contacto no tenga el dato
Que falten datos es rutina: un lead nuevo no tiene ciudad, un contacto que llegó por formulario no tiene empresa en los primeros segundos. Antes, una sola variable vacía tumbaba todo el mensaje de ese contacto. Con el texto predeterminado, defines qué entra en lugar de la variable, y el mensaje sale.
Dónde completarlo
El bloque Texto predeterminado de las variables aparece dentro de la etapa, tanto en el Paso 3 de la creación (en Agregar etapa) como al crear o editar una etapa en la pantalla de la campaña. Sirve para los dos tipos de envío:
-
Plantilla: el bloque aparece después de que seleccionas la plantilla, con un campo por variable de la plantilla
-
Texto: el bloque aparece debajo del campo de mensaje, con un campo por variable que escribiste
Cada campo se identifica por el nombre de la variable (ej.: #{{var_contact_city}}), y el subtítulo del bloque resume la regla: “Opcional. Si el contacto no tiene el dato, el mensaje se envía con este texto en lugar de la variable, en vez de no enviarse.”
-
Configura la etapa normalmente (inbox, tipo de envío, plantilla o texto)
-
En el bloque Texto predeterminado de las variables, completa el campo de la variable que quieres proteger (ej.: para la ciudad, escribe tu región)
-
Deja en blanco las variables que no quieres proteger. Un campo vacío significa “sin texto predeterminado”, es decir, el comportamiento anterior
-
Guarda la etapa
Qué hace y qué no hace el texto predeterminado
| Situación | Qué pasa |
|---|---|
| Contacto sin el campo completado, variable con texto predeterminado | El mensaje se envía con el texto predeterminado en lugar de la variable |
| Contacto con el campo existente, pero vacío | Igual que el caso anterior: el texto predeterminado también entra |
| Contacto sin el campo completado, variable sin texto predeterminado | Sigue como antes: el envío falla y la falla nombra el campo |
| Contacto con el campo completado | El valor real del contacto siempre gana. El texto predeterminado solo entra cuando falta el dato |
| Variable de columna de lista (var_col_) | El texto predeterminado no aplica. Una columna de lista vacía sigue tumbando el envío |
| Plantilla enviada manualmente desde una conversación | El texto predeterminado no aplica: es una configuración de la etapa de la campaña |
Reglas de llenado
El texto predeterminado se valida cuando guardas la etapa. Tres cosas hacen que la plataforma lo rechace:
| Regla | Mensaje de error |
|---|---|
| Sin saltos de línea, tabulaciones ni más de cuatro espacios seguidos | “El texto predeterminado de X no puede tener saltos de línea, tabulaciones ni más de cuatro espacios seguidos.” |
| Un texto predeterminado solo no puede superar el límite de caracteres del mensaje | “El texto predeterminado de X supera el límite del mensaje: caben N caracteres.” |
| La suma de todos los textos predeterminados de la etapa no puede superar el límite | “Los textos predeterminados sumados superan el límite del mensaje: caben N caracteres para todos juntos.” |
El cálculo ya descuenta el espacio del propio #{{…}}, que desaparece cuando entra el texto predeterminado. El campo también limita lo que puedes escribir según el espacio disponible, como orientación: el rechazo definitivo lo hace la plataforma al guardar.
Límites y reglas
| Regla | Valor |
|---|---|
| Número de variables por plantilla | Definido al crear y aprobar la plantilla. Nuvia no agrega un límite propio al mapeo |
| Límite de caracteres | El cuerpo del mensaje, ya con las variables completadas, no puede superar los 1.024 caracteres (límite de Meta) |
| Tipos de variable | Solo variables de texto (#{{n}}). Las variables multimedia (imagen, video, documento) necesitan una configuración aparte |
| Origen de los datos | Solo campos del contacto (fijos o personalizados). No se puede ingresar texto libre como valor |
| Texto predeterminado por variable | Opcional, definido en la etapa de la campaña. Aplica a etapas de plantilla y de texto. No aplica a variables de columna de lista (var_col_) ni a plantillas enviadas manualmente desde la conversación |
| Caracteres no permitidos en el texto predeterminado | Salto de línea, tabulación y más de cuatro espacios seguidos |
| Longitud del texto predeterminado | Cada texto predeterminado, y la suma de todos los de la etapa, tiene que caber en el límite de caracteres del mensaje. En etapas de plantilla la longitud no se valida al guardar, solo las reglas de caracteres |
| Caracteres especiales en el valor | El valor del campo entra en el mensaje exactamente como está registrado, incluidos el símbolo de moneda y la puntuación (ej.: R$ 1.200,00). No hace falta escapar nada, y la vista previa muestra el mismo texto que sale para el lead |
| Plantillas disponibles | Solo plantillas con estado Aprobada por Meta |
| Filtro por inbox | El desplegable muestra solo las plantillas del inbox seleccionado en la etapa |
| Después de la activación | El mapeo y el texto predeterminado forman parte del contenido de la etapa y no se pueden cambiar después de que la campaña pasa al estado Activa |
| Recomendación | De 2 a 3 variables por plantilla. Meta también rechaza plantillas con demasiadas variables para el tamaño del mensaje |
| Variables en los bordes | El cuerpo no puede empezar ni terminar con una variable, aunque esté seguida o precedida de puntuación (ej.: #{{1}}?, ? #{{1}}). La plataforma bloquea el guardado con el mensaje “El cuerpo del mensaje no puede empezar ni terminar con variables” |