Pular para o conteúdo principal

Empty

Descrição

A função Empty() testa se uma variável possui valor. Se a variável contém algum valor, retorna false. Se a variável é uma string vazia ou null (não foi definida), retorna true. É uma das funções mais usadas no dia a dia de SFMC - essencial para validar dados de subscribers antes de personalizar e-mails, evitando que campos em branco quebrem o layout ou gerem mensagens constrangedoras como "Olá, !".

Sintaxe

Empty(@variavel)

Parâmetros

ParâmetroTipoObrigatórioDescrição
variableStringSimA variável que você quer testar para verificar se está vazia ou nula.

Exemplo básico

Verificando se o nome do cliente existe antes de montar a saudação em um e-mail da Lojas Vitória:

%%[
VAR @nome, @cidade, @cupom

SET @nome = "Maria Santos"
SET @cidade = ""

IF NOT Empty(@nome) THEN
SET @saudacao = Concat("Olá, ", @nome, "!")
ELSE
SET @saudacao = "Olá!"
ENDIF

IF Empty(@cidade) THEN
SET @msgCidade = "Atualize seu cadastro para ofertas da sua região."
ELSE
SET @msgCidade = Concat("Confira as ofertas em ", @cidade, "!")
ENDIF

IF Empty(@cupom) THEN
SET @msgCupom = "Nenhum cupom disponível no momento."
ELSE
SET @msgCupom = Concat("Use o cupom: ", @cupom)
ENDIF
]%%

%%=v(@saudacao)=%%
%%=v(@msgCidade)=%%
%%=v(@msgCupom)=%%

Saída:

Olá, Maria Santos!
Atualize seu cadastro para ofertas da sua região.
Nenhum cupom disponível no momento.

Exemplo avançado

Cenário real de régua de relacionamento: um e-mail transacional do Banco Brasilão que valida múltiplos campos do cliente antes de montar o conteúdo, usando Empty() combinado com IIF para tratamentos inline:

%%[
VAR @nome, @cpf, @email, @telefone, @limiteCredito

SET @nome = AttributeValue("PrimeiroNome")
SET @cpf = AttributeValue("CPF")
SET @email = AttributeValue("EmailAddress")
SET @telefone = AttributeValue("Telefone")
SET @limiteCredito = AttributeValue("LimiteCredito")

/* Validação crítica: sem e-mail válido, não faz sentido continuar */
IF Empty(@email) THEN
RaiseError("E-mail do subscriber está vazio. Envio cancelado.", true)
ENDIF

SET @saudacao = IIF(NOT Empty(@nome), Concat("Olá, ", @nome, "!"), "Olá, cliente!")

SET @infoCpf = IIF(NOT Empty(@cpf), Concat("CPF cadastrado: ", @cpf), "CPF não informado - atualize seu cadastro.")

SET @infoTelefone = IIF(NOT Empty(@telefone), Concat("Telefone: ", @telefone), "Cadastre seu telefone para receber alertas por SMS.")

SET @infoLimite = IIF(NOT Empty(@limiteCredito), Concat("Seu limite disponível: R$ ", FormatNumber(@limiteCredito, "N", 2)), "Consulte seu limite pelo app do Banco Brasilão.")
]%%

%%=v(@saudacao)=%%

Resumo da sua conta:
%%=v(@infoCpf)=%%
%%=v(@infoTelefone)=%%
%%=v(@infoLimite)=%%

Saída (quando o subscriber tem nome "Carlos Mendes", CPF preenchido, telefone vazio e limite de 5500.50):

Olá, Carlos Mendes!

Resumo da sua conta:
CPF cadastrado: 123.456.789-00
Cadastre seu telefone para receber alertas por SMS.
Seu limite disponível: R$ 5.500,50

Observações

  • A função Empty() retorna true em dois cenários: quando a variável contém uma string vazia ("") e quando a variável é null (nunca recebeu um valor via SET).

  • Combiná-la com IF ou IIF é o padrão mais comum no dia a dia - praticamente todo e-mail personalizado no SFMC brasileiro usa essa abordagem para tratar campos opcionais do cadastro.

💡 Dica: Use Empty() junto com AttributeValue para validar campos vindos de Data Extensions ou atributos de perfil. O AttributeValue já retorna string vazia quando o campo não existe, o que combina perfeitamente com Empty().

⚠️ Atenção: Uma variável que contém um espaço em branco (" ") não é considerada vazia por Empty() - ela tem um valor (o espaço). Se seus dados podem vir com espaços indesejados, combine com Trim antes de testar: Empty(Trim(@variavel)).

Funções relacionadas

  • IIF - ternário inline, ideal para combinar com Empty() em tratamentos de uma linha
  • IsNull - testa especificamente se o valor é null
  • IsNullDefault - retorna um valor padrão quando a variável é null
  • AttributeValue - recupera atributos de subscriber retornando string vazia quando não existem
  • Trim - remove espaços em branco antes de testar com Empty()
  • RaiseError - cancela o envio quando um campo obrigatório está vazio