Variáveis de template permitem que uma campanha envie a mesma estrutura de mensagem para centenas de contatos, com nome, empresa ou cargo trocados para cada destinatário. Você liga cada espaço dinâmico (#{{1}}, #{{2}}, #{{3}}) do template a um campo do contato uma única vez, dentro da etapa da campanha, e cada pessoa recebe uma mensagem que parece escrita só para ela.
O que você precisa antes de começar
-
Ao menos uma inbox de WhatsApp conectada na plataforma
-
Ao menos um template aprovado pela Meta associado à inbox que vai usar, com variáveis de texto (#{{1}}, #{{2}}, etc.). A criação de templates é detalhada em: Como criar templates de WhatsApp com variáveis
-
Os contatos da audiência com os campos que serão mapeados preenchidos (se vai ligar #{{1}} ao nome, os contatos precisam ter o campo Nome preenchido). Quando o dado pode faltar, use o texto padrão descrito mais abaixo
-
Acesso ao módulo Campanhas na navegação lateral
Configurar variáveis em uma etapa da campanha
O mapeamento acontece no Passo 3: Sequência de mensagens da criação de campanha. Cada etapa da sequência tem o seu próprio template e o seu próprio mapeamento, independente das demais.
-
Na navegação lateral, clique em Campanhas
-
Clique em Nova campanha, ou abra uma campanha existente em status Rascunho
-
Preencha o nome, selecione o canal WhatsApp e configure a audiência nos passos anteriores
-
No Passo 3, clique em Adicionar etapa
-
No campo Conexão, selecione a inbox (o remetente) pelo dropdown
-
Em Tipo de envio, selecione Template
-
Clique em Selecionar template. O dropdown mostra apenas os templates aprovados da inbox escolhida
-
Escolha o template. A plataforma exibe as variáveis identificadas (ex: #{{1}}, #{{2}})
-
Para cada variável, escolha no dropdown o campo do contato correspondente (caso os campos das variáveis já tenham sido mapeados no momento da criação do template, não é necessário atribuir os campos):
-
Nome, E-mail, Telefone, País (campos fixos)
-
Campos customizados criados pelo admin da empresa
-
-
Se quiser, preencha o Texto padrão das variáveis: o texto que entra na mensagem quando o contato não tem aquele dado
-
Acompanhe o preview lateral, que atualiza em tempo real com os dados de um contato real da audiência
[GIF: Selecionando um template na campanha]
Verificar o mapeamento pelo preview
O preview lateral usa dados reais de contatos da audiência, não exemplos fictícios. Assim você confere como a mensagem vai chegar para cada prospect antes de lançar.
-
Na lista de etapas, clique na etapa que quer conferir. O preview lateral atualiza sozinho
-
Use as setas Anterior e Próximo no preview para passar por diferentes contatos da audiência
-
Confira se todas as variáveis aparecem com o valor certo para cada contato
-
Se alguma variável aparecer vazia, a plataforma mostra um aviso de mapeamento incompleto. Corrija antes de lançar
O preview já aplica a formatação do WhatsApp: negrito (*texto*), itálico (_texto_) e quebras de linha aparecem como o destinatário vai ver no aplicativo.
O valor de cada campo entra no preview exatamente como está cadastrado, inclusive quando tem cifrão ou pontuação (ex: R$ 1.200,00). O texto que você vê no preview é o mesmo texto que sai para o lead.

Campos disponíveis para mapeamento
Campos fixos do contato
Disponíveis para todos os contatos da plataforma:
| Campo | Exemplo de uso no template |
|---|---|
| Nome | “Olá, #{{1}}! Tudo bem?” vira “Olá, João! Tudo bem?” |
| “Enviei um material para #{{1}}” | |
| Telefone | Raramente usado, já que o envio vai para o número do contato |
| País | “Vi que você está em #{{1}}…” |
A plataforma também oferece campos derivados do nome completo, como primeiro nome e sobrenome.
Campos customizados
Campos criados pelo admin da empresa, que aparecem no dropdown de mapeamento. Tanto campos com contexto Contato quanto campos com contexto Misto aparecem no editor de mensagens da campanha:
| Exemplo de campo | Exemplo de uso |
|---|---|
| Empresa | “Vi que você trabalha na #{{1}}…” |
| Cargo | “Como #{{1}}, você deve lidar com…” |
| Segmento | “Atendemos muitas empresas do setor de #{{1}}…” |
| Cidade | “Ótimo falar com alguém de #{{1}}!” |
Componentes do template suportados
Nem todo componente de um template aceita variáveis. O que vale:
| Status | Componente | Suporte a variáveis |
|---|---|---|
| ✅ | Header (texto) | Aceita 1 variável (#{{1}}) |
| ✅ | Body | Componente principal, aceita várias variáveis (#{{1}}, #{{2}}, etc.) |
| ❌ | Footer | Não aceita variáveis, é só texto fixo (regra da Meta) |
| ❌ | Botões com texto fixo | Não usam variáveis |
| ⚠️ | Botões de URL dinâmica | Suporte limitado. Confirme com o suporte se a sua inbox e o seu plano cobrem esse caso |
O que acontece no momento do envio
As variáveis são resolvidas no momento do disparo de cada etapa, e não no lançamento da campanha. Na prática:
-
A plataforma busca os dados atuais do contato quando chega a hora de enviar aquela etapa
-
Se o campo do contato mudar entre uma etapa e outra, a próxima etapa usa o valor atualizado
-
O valor do campo é inserido no texto exatamente como está cadastrado, sem nenhum tratamento extra de caracteres
-
Se um contato não tiver o campo mapeado preenchido e a variável não tiver texto padrão, a mensagem não é enviada para ele e o enrollment é encerrado como falha
-
Se a variável tiver texto padrão, a mensagem sai normalmente, com esse texto no lugar da variável
Texto padrão: enviar mesmo quando o contato não tem o dado
Dado faltando é rotina: lead novo não tem cidade, contato que chegou por formulário não tem empresa nos primeiros segundos. Antes, uma única variável vazia derrubava a mensagem inteira daquele contato. Com o texto padrão, você define o que entra no lugar da variável, e a mensagem sai.
Onde preencher
O bloco Texto padrão das variáveis aparece dentro da etapa, tanto no Passo 3 da criação (em Adicionar etapa) quanto ao criar ou editar uma etapa na tela da campanha. Ele vale para os dois tipos de envio:
-
Template: o bloco aparece depois que você seleciona o template, com um campo por variável do template
-
Texto: o bloco aparece abaixo do campo de mensagem, com um campo por variável que você digitou
Cada campo é identificado pelo nome da variável (ex: #{{var_contact_city}}), e o subtítulo do bloco resume a regra: “Opcional. Se o contato não tiver o dado, a mensagem é enviada com este texto no lugar da variável, em vez de não ser enviada.”
-
Configure a etapa normalmente (inbox, tipo de envio, template ou texto)
-
No bloco Texto padrão das variáveis, preencha o campo da variável que quer proteger (ex: para a cidade, escreva sua região)
-
Deixe em branco as variáveis que não quer proteger. Campo vazio significa “sem texto padrão”, ou seja, o comportamento antigo
-
Salve a etapa
O que o texto padrão faz e o que não faz
| Situação | O que acontece |
|---|---|
| Contato sem o campo preenchido, variável com texto padrão | A mensagem é enviada com o texto padrão no lugar da variável |
| Contato com o campo existente, mas vazio | Igual ao caso acima: o texto padrão também entra |
| Contato sem o campo preenchido, variável sem texto padrão | Continua como antes: o envio falha e a falha nomeia o campo |
| Contato com o campo preenchido | O valor real do contato sempre vence. O texto padrão só entra na ausência do dado |
| Variável de coluna de lista (var_col_) | O texto padrão não se aplica. Coluna de lista vazia continua derrubando o envio |
| Template enviado manualmente de dentro de uma conversa | O texto padrão não se aplica: ele é configuração da etapa da campanha |
Regras de preenchimento
O texto padrão é validado quando você salva a etapa. Três coisas fazem a plataforma recusar:
| Regra | Mensagem de erro |
|---|---|
| Sem quebra de linha, tabulação ou mais de quatro espaços seguidos | “Texto padrão de X não pode ter quebra de linha, tabulação ou mais de quatro espaços seguidos.” |
| Um texto padrão sozinho não pode estourar o limite de caracteres da mensagem | “Texto padrão de X excede o limite da mensagem: cabem N caracteres.” |
| A soma de todos os textos padrão da etapa não pode estourar o limite | “Os textos padrão somados excedem o limite da mensagem: cabem N caracteres para todos juntos.” |
O cálculo já desconta o espaço do próprio #{{…}}, que desaparece quando o texto padrão entra. O campo também limita a digitação pela folga disponível, como orientação: a recusa definitiva é da plataforma no momento de salvar.
Limites e regras
| Regra | Valor |
|---|---|
| Número de variáveis por template | Definido na criação e aprovação do template. A Nuvia não adiciona limite próprio ao mapeamento |
| Limite de caracteres | O corpo da mensagem, já com as variáveis preenchidas, não pode passar de 1.024 caracteres (limite da Meta) |
| Tipos de variável | Apenas variáveis de texto (#{{n}}). Variáveis de mídia (imagem, vídeo, documento) precisam de configuração separada |
| Origem dos dados | Apenas campos do contato (fixos ou customizados). Não é possível inserir texto livre como valor |
| Texto padrão por variável | Opcional, definido na etapa da campanha. Vale para etapas de template e de texto. Não vale para variáveis de coluna de lista (var_col_) nem para template enviado manualmente pela conversa |
| Caracteres proibidos no texto padrão | Quebra de linha, tabulação e mais de quatro espaços seguidos |
| Comprimento do texto padrão | Cada texto padrão, e a soma de todos os da etapa, tem que caber no limite de caracteres da mensagem. Em etapas de template o comprimento não é validado ao salvar, só as regras de caractere |
| Caracteres especiais no valor | O valor do campo entra na mensagem exatamente como está cadastrado, incluindo cifrão e pontuação (ex: R$ 1.200,00). Não é preciso escapar nada, e o preview mostra o mesmo texto que sai para o lead |
| Templates disponíveis | Apenas templates com status Aprovado pela Meta |
| Filtro por inbox | O dropdown mostra só os templates da inbox selecionada na etapa |
| Depois da ativação | O mapeamento e o texto padrão fazem parte do conteúdo da etapa e não podem ser alterados após a campanha entrar em status Ativa |
| Recomendação | 2 a 3 variáveis por template. A Meta também rejeita templates com variáveis demais para o tamanho da mensagem |
| Variáveis nas bordas | O corpo não pode começar nem terminar com variável, mesmo seguida ou precedida de pontuação (ex: #{{1}}?, ? #{{1}}). A plataforma bloqueia o salvamento com a mensagem “O corpo da mensagem não pode começar ou terminar com variáveis” |