Skip to content

Lógica de envio de mensagens condicionais

[As tags][7] permitem incluir lógica de programação em suas campanhas de mensagens. As tags podem ser usadas para executar instruções condicionais, bem como para casos de uso avançados, como atribuir variáveis ou iterar em um bloco de código.

Esta página aborda como as tags podem e devem ser usadas, por exemplo, como considerar valores de atributos nulos, nulos e em branco e como fazer referência a atributos personalizados.

Tags de formatação

Uma tag deve ser envolvida em {% %}.

Para facilitar sua vida, o Braze incluiu a formatação de cores que será ativada em verde e roxo se você tiver formatado corretamente a sintaxe do Liquid. A formatação verde pode ajudar a identificar as tags, enquanto a formatação roxa destaca as áreas que contêm personalização.

Se estiver com dificuldades para usar o envio de mensagens condicionais, tente escrever a sintaxe condicional antes de inserir seus atributos personalizados e outros elementos Liquid.

Por exemplo, adicione o seguinte no campo de mensagem primeiro:

1
2
3
{% if X >0 %}
{% else %}
{% endif %}

Certifique-se de que ele esteja destacado em verde e, em seguida, substitua o X pelo Liquid ou Connected Content escolhido usando o + azul no canto do campo de mensagem e o 0 pelo valor desejado.

Em seguida, adicione suas variações de mensagem conforme necessário entre as condicionais else:

1
2
3
4
5
{% if {{custom_attribute.${total_spend}}} >0 %}
Thanks for purchasing! Here's another 10% off!
{% else %}
Buy now! Would 5% off convince you?
{% endif %}

Lógica condicional

Você pode incluir muitos tipos de [lógica inteligente nas mensagens][1], como uma instrução condicional. O seguinte exemplo usa [condicionais][8] para internacionalizar uma campanha:

1
2
3
4
5
6
7
8
9
{% if ${language} == 'en' %}
This is a message in English from Braze!
{% elsif ${language} == 'es' %}
Este es un mensaje en español de Braze !
{% elsif ${language} == 'zh' %}
这是一条来自Braze的中文消息。
{% else %}
This is a message from Braze! This is going to go to anyone who did not match the other specified languages!
{% endif %}

Tags condicionais

if e elsif

A lógica condicional começa com a tag if, que declara a primeira condição a ser verificada. Condições subsequentes usam a tag elsif e serão verificadas se as condições anteriores não forem atendidas. Neste exemplo, se o dispositivo de um usuário não estiver configurado para inglês, este código verificará se o dispositivo do usuário está configurado para espanhol, e se isso falhar, verificará se o dispositivo está configurado para. Se o dispositivo do usuário atender a uma dessas condições, o usuário receberá uma mensagem no idioma relevante.

else

Você tem a opção de incluir uma declaração {% else %} em sua lógica condicional. Se nenhuma das condições que você definiu for atendida, a declaração {% else %} especifica a mensagem que deve ser enviada. Neste exemplo, definimos o padrão para inglês se o idioma do usuário não for inglês, espanhol ou chinês.

endif

A tag {% endif %} indica que você terminou sua lógica condicional. Você deve incluir a tag {% endif %} em qualquer mensagem com lógica condicional. Se você não incluir uma tag {% endif %} em sua lógica condicional, receberá um erro, pois o Braze não conseguirá analisar sua mensagem.

Tutorial: Entregar conteúdo baseado em localização

Quando você terminar este tutorial, poderá usar tags com “if”, “elsif” e “else” para entregar conteúdo com base na localização do usuário.

  1. Comece com uma tag if para estabelecer qual mensagem deve ser enviada quando a cidade do usuário estiver em Nova York. Se a cidade do usuário for Nova York, esta primeira condição é atendida e o usuário receberá uma mensagem especificando sua identidade nova-iorquina.
1
2
3
4
{% if ${city} == "New York" %}
  🎉 Hey there, New Yorker! We're excited to offer you a special deal! 
  Get 20% off your next sandwich at your local Sandwich Emperor. 
  Just show this message at the counter to redeem your offer!

2. Em seguida, use a tag elseif para estabelecer qual mensagem deve ser enviada se a cidade do usuário estiver em Los Angeles.

1
2
3
{% elsif ${city} == "Los Angeles" %}
  🌞 Hello, Los Angeles! Enjoy a sunny day with a delicious sandwich! 
  Present this message at our LA restaurant for a 20% discount on your next order!

3. Vamos usar outra tag elseif para estabelecer qual mensagem deve ser enviada se a cidade do usuário estiver em Chicago.

1
2
3
4
{% elsif ${city} == "Chicago" %}
  🍕 Chicago, we have a treat for you! 
  Swing by our restaurant and get 20% off your favorite sandwich. 
  Just show this message to our staff!

4. Agora, vamos usar a tag {% else %} para especificar qual mensagem deve ser enviada se a cidade do usuário não estiver em São Francisco, Nova York ou Chicago.

1
2
3
{% else %}
 🥪 Craving a sandwich? Visit us at any of our locations for a delicious meal! 
  Check our website for the nearest restaurant to you!

5. Finalmente, usaremos a tag {% endif %} para especificar que nossa lógica condicional está concluída.

1
{% endif %}
Código Liquid completo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{% if ${city} == "New York City" %}
  🎉 Hey there, New Yorker! We're excited to offer you a special deal! 
  Get 20% off your next sandwich at our New York location. 
  Just show this message at the counter to redeem your offer!
{% elsif ${city} == "Los Angeles" %}
  🌞 Hello, Los Angeles! Enjoy a sunny day with a delicious sandwich! 
  Present this message at our LA restaurant for a 20% discount on your next order!
{% elsif ${city} == "Chicago" %}
  🍕 Chicago, we have a treat for you! 
  Swing by our restaurant and get 20% off your favorite sandwich. 
  Just show this message to our staff!
{% else %}
  🥪 Craving a sandwich? Visit us at any of our locations for a delicious meal! 
  Check our website for the nearest restaurant to you!
{% endif %}

Contabilização de valores de atribuição nulos, nulos e em branco

A lógica condicional é uma maneira útil de levar em conta os valores de atribuição que não estão definidos nos perfis de usuário.

Valores de atribuição nulos e nulos

Um valor nulo ou nil ocorre quando o valor de um atributo personalizado não foi definido. Por exemplo, um usuário que ainda não definiu seu primeiro nome não terá um primeiro nome registrado no Braze.

Em algumas circunstâncias, talvez você queira enviar uma mensagem completamente diferente para usuários que têm um nome definido e para usuários que não têm um nome definido.

A tag a seguir permite especificar uma mensagem para usuários com a atribuição “first name” nula:

1
2
3
{% if ${first_name} == null %}
  ....
{% endif %}

Uma mensagem de exemplo no dashboard Braze, usando um atributo 'nome' nulo.

1
2
3
4
5
{% if ${first_name} == null %}
We're having a sale! Hurry up and get 10% off all items today only!
{% else %}
Hey {{${first_name} | default: 'there'}}, we're having a sale! Hurry up and get 10% off all items today only!
{% endif %}

Note que um valor de atribuição nulo não está estritamente associado a um tipo de valor (por exemplo, uma string “nula” é o mesmo que uma matriz “nula”), portanto, no exemplo acima, o valor de atribuição nulo está fazendo referência a um nome não definido, que seria uma string.

Valores de atribuição em branco

Um valor em branco ocorre quando a atribuição em um perfil de usuário não está definida, é definida com uma string de espaço em branco ( ) ou é definida como false. Os valores em branco devem ser verificados antes de outras variáveis para evitar um erro de processamento do Liquid.

A tag a seguir permite especificar uma mensagem para usuários que tenham a atribuição “first name” em branco.

1
2
3
{% if ${first_name} == blank %}
  ....
{% endif %}

Referência a atributos personalizados

Depois de criar atributos personalizados][2], você poderá fazer referência a esses atributos personalizados em seu envio de mensagens Liquid.

Ao usar a lógica condicional, será necessário conhecer o tipo de dados do atributo personalizado para garantir que esteja usando a sintaxe correta. Na página Atributos personalizados no dashboard, procure o tipo de dados associado ao seu atributo personalizado e consulte os seguintes exemplos listados para cada tipo de dados.

![Seleção de um tipo de dados para um atributo personalizado. O exemplo fornecido mostra uma atribuição de Favorite_Category com um tipo de dados de string.][20]{: style=”max-width:80%;”}

Booleano

[Os booleanos][9] são valores binários e podem ser definidos como true ou false, como registration_complete: true. Os valores booleanos não têm apóstrofos ao redor deles.

1
{% if {{custom_attribute.${registration_complete}}} == true %}

Número

[Números][10] são valores numéricos, que podem ser inteiros ou flutuantes. Por exemplo, um usuário pode ter shoe_size: 10 ou levels_completed: 287. Os valores numéricos não têm apóstrofos ao redor deles.

1
{% if {{custom_attribute.${shoe_size}}} == 10 %}

Você também pode usar outros operadores básicos, como menor que (<) ou maior que (>) para números inteiros:

1
{% if {{custom_attribute.${flyer_miles}}} >= 500 %}

String

Uma [string][11] é composta de caracteres alfanuméricos e armazena dados de usuários. Por exemplo, você pode ter favorite_color: red ou phone_number: 3025981329. Os valores de string devem ter apóstrofos ao redor.

1
{% if {{custom_attribute.${favorite_color}}} == 'blue' %}

Para strings, você pode usar tanto “==” quanto “contains” em seu Liquid.

Vetor

Uma [matriz][12] é uma lista de informações sobre o seu usuário. Por exemplo, um usuário pode ter last_viewed_shows: stranger things, planet earth, westworld. Os valores da matriz devem ter apóstrofos ao redor.

1
{% if {{custom_attribute.${last_viewed_shows}}} contains 'homeland' %}

Para matrizes, você deve usar “contains” e não pode usar “==”.

Horário

Um registro de data e hora de quando um evento ocorreu. [Time][13] valores devem ter um [math filter][5] sobre eles para serem usados na lógica condicional.

1
{% assign expire = {{custom_attribute.${subscription_end_date}}} | plus: 0 %} 

Daqui a [1]: http://docs.shopify.com/themes/liquid-documentation/basics [2]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#managing-custom-attributes [5]: /docs/pt-br/user_guide/personalization_and_dynamic_content/liquid/filters/#math-filters Daqui a [7]: https://docs.shopify.com/themes/liquid-documentation/tags [8]: http://docs.shopify.com/themes/liquid-documentation/tags/control-flow-tags “Tags de fluxo de controle” [9]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#booleans [10]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#numbers [11]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#strings [12]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#arrays [13]: /docs/pt-br/user_guide/data_e_analytics/custom_data/custom_attributes/#time [20]: /docs/pt-br/assets/img_archive/custom_attribute_data_type.png?f86832d291808bf7066630819c1df6fa

QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!