Usar 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!

Comentários HTML (<!-- -->) são removidos antes de qualquer Liquid ser lido, então Liquid tags dentro de comentários HTML não são renderizadas na sua mensagem. Para uma renderização correta, certifique-se de que todas as Liquid tags que você deseja usar estejam fora de comentários HTML.
Valores compatíveis para substituição
Os seguintes valores podem ser substituídos em uma mensagem, dependendo da sua disponibilidade:
- Informações básicas do usuário (por exemplo,
first_name,last_name,email_address) - Atributos personalizados
- Propriedades de eventos personalizados
- Informações do dispositivo usado mais recentemente
- Informações do dispositivo alvo
Você também pode extrair conteúdo diretamente de um servidor web por meio do Conteúdo conectado da Braze.

Atualmente, a Braze oferece suporte ao Liquid até a versão 5 da Shopify, inclusive.
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:
- 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!
- Chaves vêm em pares: Cada chave deve abrir e fechar { }. Certifique-se de usar chaves!
- Instruções if vêm em pares: Para cada
if, você precisa de umendifpara indicar que a instruçãoifterminou. - Instruções case vêm em pares: Para cada
case, você precisa de umendcasepara fechar o bloco. - Nomes de variáveis devem usar caracteres ASCII: Nomes de variáveis Liquid (criados com
assignoucapture) suportam apenas letras ASCII, dígitos e underscores. Nomes de atributos de personalização da Braze (dentro decustom_attribute.${...}ouevent_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} %}

Se você usar Liquid nas suas mensagens de e-mail, certifique-se de:
- Inseri-lo usando o editor de HTML em vez do editor clássico. O editor clássico pode interpretar o Liquid como texto simples. Por exemplo, o Liquid seria interpretado como
Hi {{ ${first_name} }}, thanks for using our service!em vez de inserir o nome do usuário. - Colocar o código Liquid apenas dentro da tag
<body>. Colocá-lo fora dessa tag pode causar renderização inconsistente na entrega.
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 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.

-
Nas tags
caseewhen, o Liquid compara a expressãocasecom cada valorwhenusando igualdade (semelhante a encadearifeelsifcom==). Você não pode usar operadores de comparação ou lógicos arbitrários dentro de uma cláusulawhenda mesma forma que faz comifeelsif. Para exemplos, consulte Lógica de mensagens condicionais. ↩