Skip to content

Curso do Braze LearningUsar Liquid

Este artigo mostra como você pode usar diversos atributos de usuário para inserir dinamicamente informações pessoais nas suas mensagens.

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

Como funciona

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

No bloco a seguir, você pode ver um uso duplo de uma Liquid tag para chamar o nome do usuário, além de uma tag padrão para o caso de o usuário não ter o nome registrado.

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

Para uma usuária chamada 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 compatíveis para substituição

Os seguintes valores podem ser substituídos em uma mensagem, dependendo da sua disponibilidade:

Você também pode extrair conteúdo diretamente de um servidor web por meio do Conteúdo conectado da Braze.

Usando Liquid

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

Sintaxe do Liquid

O Liquid segue uma estrutura, ou sintaxe, específica que você precisa ter em mente ao criar personalizações dinâmicas. Aqui estão algumas regras básicas para lembrar:

  1. Use aspas retas na Braze: Existe uma diferença entre aspas curvas (’ ‘) e aspas retas (' '). Use aspas retas (' ') no seu Liquid na Braze. Você pode ver aspas curvas ao copiar e colar de certos editores de texto, o que pode causar problemas no seu Liquid. Se você estiver digitando aspas diretamente no dashboard da Braze, tudo certo!
  2. Chaves vêm em pares: Cada chave deve abrir e fechar { }. Certifique-se de usar chaves!
  3. Instruções if vêm em pares: Para cada if, você precisa de um endif para indicar que a instrução if terminou.
  4. Instruções case vêm em pares: Para cada case, você precisa de um endcase para fechar o bloco.
  5. 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 underscores. Nomes de atributos de personalização da 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 específicos do Liquid.

Contexto Operadores Filtros
assign Não suportado Suportado
if, elsif, unless Suportado Não suportado
case, when Apenas correspondência de igualdade1 Não suportado
for Não suportado Não suportado
Acesso a array ([ ]) Não suportado Não suportado

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

Usar o resultado de um filtro em uma condicional

Você não pode usar um filtro diretamente em uma instruçã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 %}
Usar o resultado de um 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 %}
Usar o resultado de um 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] }}
Armazenar o resultado de uma comparação em uma variável

Você não pode usar um operador em uma instruçã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 na sua mensagem: {{${first_name}}}, o nome do usuário (extraído do perfil do usuário) será substituído quando a mensagem for enviada. Você pode usar o mesmo formato com outros atributos padrão do usuário.

Se quiser usar o valor de um atributo personalizado, você deve adicionar o namespace “custom_attribute” à variável. Por exemplo, para usar um atributo personalizado chamado “zip code”, você incluiria {{custom_attribute.${zip code}}} na sua mensagem.

Inserindo tags

Você pode inserir tags digitando duas chaves de abertura {{ em qualquer mensagem, o que acionará um recurso de autocompletar que continuará atualizando conforme você digita. Você pode até selecionar uma variável das opções que aparecem enquanto digita.

Se estiver usando uma tag personalizada, você pode copiar e colar a tag na mensagem desejada.

Exceções para chaves duplas

Se estiver usando uma tag dentro de outra Liquid tag, como {% assign %} ou {% if %}, você pode usar chaves duplas ou nenhuma chave. Somente quando a tag está sozinha é que ela precisa estar envolvida em chaves duplas. Para simplificar, você pode sempre usar chaves duplas.

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} %}

Inserindo variáveis pré-formatadas

Você pode inserir variáveis pré-formatadas com valores padrão por meio do modal Add Personalization, localizado próximo a qualquer campo de texto com modelo.

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

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

Um GIF do modal Add Personalization mostrando o usuário inserindo "fellow traveler" como valor padrão, e o modal substituindo o texto destacado "name" no criador pelo snippet Liquid.

  1. Nas tags case e when, o Liquid compara a expressão case com cada valor when usando igualdade (semelhante a encadear if e elsif com ==). Você não pode usar operadores de comparação ou lógicos arbitrários dentro de uma cláusula when da mesma forma que faz com if e elsif. Para exemplos, consulte Lógica de mensagens condicionais

New Stuff!