Personalize seu e-mail com as condições "IF"

Neste artigo, vamos explicar como personalizar seus e-mails com condições if

❗️ Importante
Este artigo é dedicado para o uso avançado de exibição condicional; por outro lado, você pode usar o recurso interno Exibição condicional/Visibilidade do bloco e as Condições Avançadas de Personalização.

O que são as condições if?

As Condiçõesif são a linguagem usada em nossa Exibição condicional/Visibilidade dos blocos nos Editores arraste e solte. Isso permite Exibir ou ocultar blocos com base em atributos de contato, parâmetros transacionais ou listas dinâmicas.

A lógica poderosa oferecida pelas condições if permite que você adicione ou remova blocos inteiros de design dentro de uma campanha ou modelo de e-mail ou modifique conteúdo específico dentro de um bloco, dependendo das condições configuradas. Você pode usar condições if de duas maneiras diferentes:

  • Condições if simples podem ser rápida e facilmente aplicadas a um bloco individual de design no Editor arraste e solte (Clássico) usando o recurso interno Exibição condicional
    if_conditions_editor_EN.png
  • Declarações if personalizadas podem ser criadas e colocadas diretamente dentro do conteúdo de sua campanha ou modelo de e-mail.
    mceclip1.png

O uso de condições if estende efetivamente a utilidade de um único e-mail para múltiplos cenários, exibindo diferentes conjuntos de conteúdo ou texto com base em:

  • atributos de contato definidos em sua lista de contato
  • parâmetros passados em sua API call

Usos comuns para as condições if 

Existem inúmeras maneiras de se usar as condições if para personalizar o conteúdo de um e-mail, mas algumas das mais comuns são: 

  1. uma saudação no e-mail, como Olá, Sr. Souza, Olá, Sra. Brito ou simplesmente Olá para contatos sem dados de gênero ou nome no arquivo.
  2. uma imagem de produto ou promoção, como promover uma imagem de um modelo vestindo as mesmas roupas ou tamanhos que seu destinatário ou exibindo o item na cor favorita dele.
    If_conditions_email-2_EN.png  If_conditions_email-1.png
  3. uma mensagem promocional, incluindo uma oferta extra em seus e-mails transacionais com base nas compras deles ou outros atributos.
    If_conditions_email-3_EN.png  Email_3.png

Estrutura de uma declaração if

💡 Dica
Não recomendamos o uso de condições if a variáveis que contenham valores "flutuantes", uma vez que elas podem não produzir resultados precisos. No entanto, elas podem ser aplicadas se o valor for passado como um string (entre aspas “assim”).

Principais regras a serem seguidas

Aqui estão algumas regras que você deve seguir ao construir suas próprias declarações if:

  • Uma declaração if sempre começa com uma tag if contendo uma condição: {% if ... %}
  • Opcionalmente, a declaração if pode conter condições alternativas que serão avaliadas em sequência. Estas condições alternativas começam com: {% elif ... %}
  • Além disso, em uma base opcional, uma cláusula irrevogável pode ser adicionada logo antes do fim da declaração if, assim: {% else %}
  • Uma declaração if sempre termina com: {% endif %}

Maneiras comuns de estruturar uma declaração if

Aqui estão diversos modos comuns de estruturar uma declaração if:

if

Verifica se um valor é verdadeiro ou se uma matriz não está vazia

{% if contact.ACTIVE %}
Parabéns! Você alcançou seu objetivo este mês.
{% endif %}

---

{% if params.tutors %}

{% for tutor in params.tutors %}
Os seguintes tutores estão disponíveis para ajudar você:
<ol>
<li>{{ tutor.name }}</li>
{% endfor %}
</ol>
{% endif %}

==

Verifica se uma expressão é verdadeira

{% if coupon == "WELCOME" %}
<p>Bem-vindo à nossa lista! Aqui está seu primeiro cupom: WELCOME25</p>
{% endif %} 

---

{% if contact.DONOR == true %}
<b>Agradecemos seu apoio!</b>
{% endif %}

if, in

Verifica se um valor (substring) existe dentro de um string ou se uma variável existe dentro de uma matriz

{% if "@example.com" in "bob@example.com" %}
Aparece uma vez que "@example.com" é um substring de "bob@example.com"
{% endif %}

---

{% if "Piano" in params.types %}
Atenção! Existem itens pesados em seu pedido. Você deverá estar presente para receber sua entrega.
{% endif %}

not

verifica se há valores que são falsos

{% if not user.subscribed %}
   <p>Você não está inscrito para nossos alertas de promoção secreta. Inscreva-se aqui.</p>
{% endif %}

and / or

Avalia múltiplas condições

{% if temperature > 10 and temperature < 55 %}
   <p>Brr. Que frio! Aqui está um cupom de 20% de desconto em qualquer bebida quente. Válido somente hoje.</p>
{% endif %}

---

{% if contact.LANG == "FR" and contact.COUNTRY == "Canada" %}
{% endif %}

---

{% if contact.COUNTRY == "United States" or contact.COUNTRY == "Canada" %}
{% endif %}

elif, else

Avaliar múltiplos ramos

 Hello {% if contact.GENDER == "Male" %} Sr. {{ contact.LASTNAME }}, 
{% elif contact.GENDER == "Female" %} Sra. {{ contact.LASTNAME }}, 
{% else %} Olá, {% endif %} 

--- 

{% if event.paid %}
    Seu lugar está reservado. Agradecemos seu pagamento.
{% elif event.registered %}
    Seu lugar está reservado, mas será liberado se o pagamento não for feito até 2 de janeiro.
{% else %}
    Ainda há tempo para se registrar! Clique aqui.
{% endif %}

Entendendo como as declarações if são processadas

💡 Dica
Se achar esta seção muito técnica, recomendamos pular para a seção Exemplos práticos deste artigo.

A condição if é o que vai dentro das tags {% if ... %} e {% elif ... %}. Ao processar sua declaração if, o sistema vai avaliar a condição e:

  • se a condição for atendida, a linha seguinte será exibida, assumindo que seja uma linha de texto (pode ser também uma linha de código, já que você pode usar nossa linguagem de modelo para realizar uma operação de dentro da declaração if, caso no qual a linha de código será executada).
  • se a condição não for atendida, a linha seguinte será ignorada e o sistema partirá para avaliar a próxima condição {% elif ... %} (se houver alguma), ou processar a cláusula irrevogável {% else %} (de novo, se houver alguma). De outro modo, ele alcançará a tag {% endif %} e nada acontecerá como parte desta declaração if.

Assim que uma condição tiver sido atendida, o sistema pulará qualquer condição {% elif ... %} ou cláusula irrevogável {% else %} remanescente. Isso significa que por vezes você precisa pensar na melhor ordem para organizar as condições dentro da declaração if (outras vezes a ordem não irá importar).

Construindo suas próprias condições if

Para corresponder a um pedaço de texto (também conhecido como "string") no caso de um atributo "Text", você pode usar: {% if contact.GENDER == "Male" %}. Esta condição faria com que a linha seguinte na declaração fosse processada somente se o atributo contact.GENDER for igual a “Male”.

Se quiser avaliar se um atributo contém um valor, apenas o atributo nome precisa ser colocado na condição, sem mais lógica. Por exemplo, para {% if contact.FIRSTNAME %}, se houver dados armazenados em contact.FIRSTNAME, a linha seguinte na declaração será processada, mas se contact.FIRSTNAME estiver vazio, a linha seguinte será pulada.

Isso também pode ser usado em caso de atributos “Booleanos”. A condição {% if contact.IS_REGISTERED %} seria preenchida se contact.IS_REGISTERED for um atributo "Booleano" ajustado para “true”; se ajustado para “false” ou sem valor, a condição não seria atendida.

Exemplos práticos

Aqui estão alguns exemplos práticos com base nas declarações if mais comumente usadas.

Use uma declaração if para exibir texto suplementar para apenas alguns contatos

Vamos dizer, por exemplo, que sua lista de contatos inclua um atributo "Booleano” chamado "MEMBER", configurado como "true" se o contato tiver comprado uma assinatura. Você pode querer adicionar uma mensagem suplementar para estes contatos. Você pode fazer isso com a seguinte declaração if:  

{% if contact.MEMBER %}
Obrigado por renovar sua assinatura!
{% endif %}

Exiba uma saudação personalizada quando o nome do contato for conhecido e, caso contrário, use uma saudação genérica

Isso é útil se você quiser incluir uma saudação como "Querido {{ contact.FIRSTNAME }}" em seu e-mail, mas nem todos os contatos têm dados para o atributo FIRSTNAME.

{% if contact.FIRSTNAME %}
Querido {{ contact.FIRSTNAME }},
{% else %}
Querido cliente,
{% endif %}

Exiba um pronome de tratamento de acordo com o gênero do contato e uma saudação genérica, caso contrário

Além de usar condições if para verificar por valores verdadeiros ou valores que simplesmente existem, você também pode verificar por valores falsos ou avaliar várias condições ou ramos.

Seguindo o exemplo comum de personalização da saudação de um e-mail, você pode querer exibir uma de três saudações possíveis dependendo se o atributo de contato para GENDER é Masculino, Feminino ou vazio. Neste caso, use as tags {% elif %} para adicionar conteúdo alternativo quando o valor para GENDER for Feminino, e {% else %} para adicionar um backup para qualquer outro caso:

Olá, {% if contact.GENDER == "Male" %} Sr. {{ contact.LASTNAME }}, 
{% elif contact.GENDER == "Female" %} Sra. {{ contact.LASTNAME }},
{% else %} , {% endif %}

⏩ O que vem a seguir?

Embora estes exemplos foquem na estruturação de condições if com atributos de contato, você também pode querer aplicar estas condições a parâmetros transacionais dentro do Editor arraste e solte (Clássico) ou manualmente construindo-os em seu e-mail: