Usando 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!
Comentários HTML (<!-- -->) são removidos antes que qualquer Liquid seja lido, então as tags Liquid dentro de comentários HTML não são renderizadas em sua mensagem. Para uma renderização adequada, certifique-se de que todas as tags Liquid que você deseja usar estejam fora dos comentários HTML.
Valores suportados para substituição
Os valores a seguir podem ser substituídos em uma mensagem, dependendo de 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 de direcionamento
Você também pode extrair conteúdo diretamente de um servidor da Web por meio do Braze Connected Content.
Atualmente, o Braze suporta o Liquid até o Liquid 5 da Shopify, inclusive.
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:
- 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!
- As chaves vêm em pares: Abra e feche chaves, { }. Não deixe de usar chaves!
- Se as declarações vierem em pares: Para cada
if, você precisa de umendifpara indicar que a declaraçãoifterminou. - Nomes de variáveis devem usar caracteres ASCII: Nomes de variáveis Liquid (criados com
assignoucapture) suportam apenas letras ASCII, dígitos e sublinhados. Nomes de atributos de personalização do 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 Liquid específicos.
| Contexto | Operadores | Filtros |
|---|---|---|
assign |
Não suportado | Com suporte |
if, elsif, unless |
Com suporte | Não suportado |
case, when |
Não suportado | Não suportado |
for |
Não suportado | Não suportado |
Acesso a array ([ ]) |
Não suportado | Não suportado |
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} %}
Se usar o Liquid em seus envios de e-mail, certifique-se de usá-lo:
- Insira-o usando o editor de HTML em vez do editor clássico. O editor clássico pode analisar o Liquid como texto simples. Por exemplo, o Liquid analisaria como
Hi {{ ${first_name} }}, thanks for using our service!em vez de modelar o nome do usuário. - Coloque o código Liquid somente na tag
<body>. Colocá-lo fora dessa tag pode causar uma renderização inconsistente na entrega.
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 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.

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!
Está atribuindo as mesmas variáveis em todas as mensagens? Em vez de escrever a tag assign várias vezes, você pode salvar essa tag como um bloco de conteúdo e colocá-la na parte superior da mensagem.
- Criar um bloco de conteúdo.
- Dê um nome ao seu bloco de conteúdo (sem espaços ou caracteres especiais).
- Selecione Edit (Editar) na parte inferior da página.
- Digite suas tags
assign.
Desde que o bloco de conteúdo esteja na parte superior da mensagem, toda vez que a variável for inserida na mensagem como um objeto, ela fará referência ao atributo personalizado escolhido!
Editar esta página no GitHub