Skip to content

Curso do Braze LearningUsando Liquid

Este artigo mostra como você pode usar uma variedade de atributos de usuário para inserir dinamicamente informações pessoais em seu envio de mensagens.

O Liquid é uma linguagem de modelo de código aberto desenvolvida pela Shopify e escrita em Ruby. Você pode usá-lo no Braze para extrair dados do perfil do usuário para suas mensagens e personalizar esses dados. Por exemplo, é possível usar Liquid tags para criar mensagens condicionais, como o envio de ofertas diferentes com base na data de aniversário da inscrição de um usuário. Além disso, os filtros podem manipular dados, como formatar a data de registro de um usuário a partir de um carimbo de data/hora em um formato mais legível, como “15 de janeiro de 2022”. Para obter mais detalhes sobre a sintaxe do Liquid e seus recursos, consulte Tags de personalização compatíveis.

Como funciona?

As Liquid tags funcionam como espaços reservados em suas mensagens que podem extrair informações consentidas da conta do usuário e ativar a personalização e as práticas de envio de mensagens relevantes.

No bloco a seguir, é possível ver o uso duplo de uma tag Liquid para chamar o primeiro nome do usuário, bem como uma tag padrão no caso de um usuário não ter seu primeiro nome registrado.

1
Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!

Para um usuário chamado Janet Doe, a mensagem apareceria como:

1
Hi Janet, thanks for using the App!

Ou…

1
Hi Valued User, thanks for using the App!

Valores suportados para substituição

Os valores a seguir podem ser substituídos em uma mensagem, dependendo de sua disponibilidade:

Você também pode extrair conteúdo diretamente de um servidor da Web por meio do Braze Connected Content.

Usando Liquid

Usando as Liquid tags, você pode elevar a qualidade de suas mensagens, enriquecendo-as com um toque pessoal.

Sintaxe Liquid

O Liquid segue uma estrutura específica, ou sintaxe, que você precisará ter em mente ao criar uma personalização dinâmica. Aqui estão algumas regras básicas que você deve ter em mente:

  1. Use aspas retas no Braze: Há uma diferença entre aspas curvas (‘’) e aspas retas (‘’). Use aspas retas (‘’) em seu Liquid na Braze. Você pode ver aspas curvas ao copiar e colar de determinados editores de texto, o que pode causar problemas em seu Liquid. Se estiver inserindo cotações diretamente no dashboard do Braze, não haverá problema!
  2. As chaves vêm em pares: Abra e feche chaves, { }. Não deixe de usar chaves!
  3. Se as declarações vierem em pares: Para cada if, você precisa de um endif para indicar que a declaração if terminou.
  4. Nomes de variáveis devem usar caracteres ASCII: Nomes de variáveis Liquid (criados com assign ou capture) suportam apenas letras ASCII, dígitos e sublinhados. Nomes de atributos de personalização do Braze (dentro de custom_attribute.${...} ou event_properties.${...}) podem incluir caracteres não ASCII.

Onde usar operadores e filtros

Operadores (como ==, !=, >, and, or) e filtros (como | size, | plus) podem ser usados apenas em contextos Liquid específicos.

Quando você precisa de um valor filtrado em um contexto que não suporta filtros, atribua o resultado a uma variável primeiro.

Use um resultado de filtro em uma condição

Você não pode usar um filtro diretamente em uma declaração condicional. Isto está incorreto:

1
2
3
{% if my_array | size > 3 %}
You have more than 3 items!
{% endif %}

Em vez disso, atribua o resultado do filtro a uma variável:

1
2
3
4
{% assign array_size = my_array | size %}
{% if array_size > 3 %}
You have more than 3 items!
{% endif %}
Use um resultado de filtro em um loop for

Você não pode aplicar um filtro ao iterável em um loop for. Isto está incorreto:

1
2
3
{% for item in my_array | reverse %}
{{ item }}
{% endfor %}

Em vez disso, atribua o valor filtrado a uma variável:

1
2
3
4
{% assign reversed = my_array | reverse %}
{% for item in reversed %}
{{ item }}
{% endfor %}
Use um resultado de filtro para acesso a array

Você não pode usar um filtro dentro de colchetes. Isto está incorreto:

1
{{ my_array[my_var | minus: 1] }}

Em vez disso, atribua o valor filtrado primeiro:

1
2
{% assign adjusted_index = my_var | minus: 1 %}
{{ my_array[adjusted_index] }}
Armazene um resultado de comparação em uma variável

Você não pode usar um operador em uma declaração assign. Isto está incorreto:

1
2
3
4
{% assign is_vip = total_spend > 100 %}
{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}

Em vez disso, use uma condicional para definir a variável:

1
2
3
4
5
6
7
8
{% assign is_vip = false %}
{% if total_spend > 100 %}
{% assign is_vip = true %}
{% endif %}

{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}

Atributos padrão e atributos personalizados

Se você incluir o seguinte texto em sua mensagem: {{${first_name}}}, o nome do usuário (extraído do perfil do usuário) será substituído quando a mensagem for enviada. É possível usar o mesmo formato com outras atribuições padrão do usuário.

Se você gostaria de usar o valor de um atributo personalizado, deve adicionar o namespace “custom_attribute” à variável. Por exemplo, para usar um atributo personalizado chamado “zip code” (CEP), você deve incluir {{custom_attribute.${zip code}}} em sua mensagem.

Inserção de tags

Você pode inserir tags digitando duas chaves abertas {{ em qualquer mensagem, o que disparará um recurso de preenchimento automático que continuará a ser atualizado à medida que você digitar. Você pode até mesmo selecionar uma variável nas opções que aparecem à medida que você digita.

Se estiver usando uma tag personalizada, poderá copiar e colar a tag em qualquer mensagem que desejar.

Exceções para colchetes duplos

Se usar uma tag dentro de outra tag Liquid, como {{ em qualquer mensagem, o que disparará um recurso de preenchimento automático que continuará a ser atualizado à medida que você digitar. Você pode até mesmo selecionar uma variável nas opções que aparecem à medida que você digita.

Se estiver usando uma tag personalizada, poderá copiar e colar a tag em qualquer mensagem que desejar.

Exceções para colchetes duplos

Se usar uma tag dentro de outra tag Liquid, como {% assign %} ou {% if %}, você pode usar colchetes duplos ou nenhum colchete. É somente quando a tag está sozinha que ela deve ser envolvida em colchetes duplos. Para simplicidade, você pode sempre usar colchetes duplos.

As seguintes tags estão todas corretas:

1
2
3
4
5
{% if custom_attribute.${Number_Game_Attended} == 1 %}
{% if {{custom_attribute.${Number_Game_Attended}}} == 1 %}

{% assign value_one = {{custom_attribute.${one}}} %}
{% assign value_one = custom_attribute.${one} %}

Inserção de variáveis pré-formatadas

Você pode inserir variáveis pré-formatadas com padrões através do modal Add Personalization localizado perto de qualquer campo de texto template.

O modal Add Personalization que aparece após a seleção de inserir personalização. O modal tem campos para tipo de personalização, atributo, valor padrão opcional e exibe uma prévia da sintaxe Liquid.

O modal irá inserir Liquid com o valor padrão especificado no ponto onde seu cursor estava. O ponto de inserção também é especificado pela caixa de prévia, que tem o texto antes e depois. Se um bloco de texto for destacado, o texto destacado será substituído.

Um GIF do modal Adicionar Personalização que mostra o usuário inserindo "companheiro de viagem" como um valor padrão, e o modal substituindo o texto destacado "nome" no criador com o trecho Liquid.

Atribuindo variáveis

Algumas operações no Liquid exigem que você armazene o valor que deseja manipular como uma variável. Isso geralmente ocorre se sua instrução Liquid incluir várias atribuições, propriedades de eventos ou filtros.

Por exemplo, digamos que você queira adicionar dois inteiros de dados personalizados.

Exemplo de Liquid incorreto

Você não pode usar:

1
{{custom_attribute.${one}}} | plus: {{custom_attribute.${two}}}

Esse Liquid não funciona porque não é possível fazer referência a várias atribuições em uma linha; é necessário atribuir uma variável a pelo menos um desses valores antes que as funções matemáticas sejam executadas. A adição de dois atributos personalizados exigiria duas linhas de LINE: uma para atribuir o atributo personalizado a uma variável e outra para realizar a adição.

Exemplo correto de Liquid

Você pode usar:

1
2
{% assign value_one = {{custom_attribute.${one}}} %}
{% assign result = value_one | plus: {{custom_attribute.${two}}} %}

Tutorial: Uso de variáveis para calcular um saldo

Vamos calcular o saldo atual de um usuário adicionando o saldo do cartão-presente e o saldo das recompensas:

Primeiro, use a tag assign para substituir o atributo personalizado de current_rewards_balance pelo termo “balance”. Isso significa que agora você tem uma variável chamada balance, que pode ser manipulada.

1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}

Em seguida, usaremos o filtro plus para combinar o saldo do cartão-presente de cada usuário com seu saldo de recompensas, indicado por {{balance}}.

1
2
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
New Stuff!