Skip to content

Curso de Braze LearningUsar Liquid

Este artículo muestra cómo puedes usar una variedad de atributos de usuario para insertar dinámicamente información personal en tu mensajería.

Liquid es un lenguaje de plantillas de código abierto desarrollado por Shopify y escrito en Ruby. Puedes usarlo en Braze para extraer datos del perfil de usuario en tus mensajes y personalizar esos datos. Por ejemplo, puedes usar etiquetas de Liquid para crear mensajes condicionales, como enviar diferentes ofertas basadas en la fecha de aniversario de suscripción de un usuario. Además, los filtros pueden manipular datos, como dar formato a la fecha de registro de un usuario desde una marca de tiempo a un formato más legible, como “15 de enero de 2022”. Para más detalles sobre la sintaxis de Liquid y sus capacidades, consulta Etiquetas de personalización compatibles.

Cómo funciona

Las etiquetas de Liquid actúan como marcadores de posición en tus mensajes que pueden extraer información consentida de la cuenta de tu usuario y habilitar prácticas de personalización y mensajería relevante.

En el siguiente bloque, puedes ver un uso dual de una etiqueta de Liquid para llamar al nombre del usuario, así como una etiqueta predeterminada en caso de que un usuario no tenga su nombre registrado.

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

Para una usuaria llamada Janet Doe, el mensaje aparecería como:

1
Hi Janet, thanks for using the App!

O…

1
Hi Valued User, thanks for using the App!

Valores compatibles para sustituir

Los siguientes valores pueden sustituirse en un mensaje, dependiendo de su disponibilidad:

También puedes extraer contenido directamente de un servidor web a través del Contenido conectado de Braze.

Usar Liquid

Usando etiquetas de Liquid, puedes elevar la calidad de tus mensajes enriqueciéndolos con un toque personal.

Sintaxis de Liquid

Liquid sigue una estructura específica, o sintaxis, que deberás tener en cuenta mientras creas personalización dinámica. Aquí tienes algunas reglas básicas a recordar:

  1. Usa comillas rectas en Braze: Hay una diferencia entre las comillas tipográficas (’ ‘) y las comillas rectas (' '). Usa comillas rectas (' ') en tu Liquid en Braze. Puedes ver comillas tipográficas al copiar y pegar desde ciertos editores de texto, lo que puede causar problemas en tu Liquid. Si introduces las comillas directamente en el dashboard de Braze, ¡no tendrás problemas!
  2. Las llaves van en pares: Cada llave debe abrirse y cerrarse { }. ¡Asegúrate de usar llaves!
  3. Las sentencias if van en pares: Por cada if, necesitas un endif para indicar que la sentencia if ha terminado.
  4. Los nombres de variables deben usar caracteres ASCII: Los nombres de variables de Liquid (creados con assign o capture) solo admiten letras ASCII, dígitos y guiones bajos. Los nombres de atributos de personalización de Braze (dentro de custom_attribute.${...} o event_properties.${...}) pueden incluir caracteres no ASCII.

Dónde usar operadores y filtros

Los operadores (como ==, !=, >, and, or) y los filtros (como | size, | plus) solo pueden usarse en contextos específicos de Liquid.

Cuando necesites un valor filtrado en un contexto que no admite filtros, asigna primero el resultado a una variable.

Usar el resultado de un filtro en un condicional

No puedes usar un filtro directamente en una sentencia condicional. Esto es incorrecto:

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

En su lugar, asigna el resultado del filtro a una variable:

1
2
3
4
{% assign array_size = my_array | size %}
{% if array_size > 3 %}
You have more than 3 items!
{% endif %}
Usar el resultado de un filtro en un bucle for

No puedes aplicar un filtro al iterable en un bucle for. Esto es incorrecto:

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

En su lugar, asigna el valor filtrado a una variable:

1
2
3
4
{% assign reversed = my_array | reverse %}
{% for item in reversed %}
{{ item }}
{% endfor %}
Usar el resultado de un filtro para acceso a arrays

No puedes usar un filtro dentro de corchetes. Esto es incorrecto:

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

En su lugar, asigna primero el valor filtrado:

1
2
{% assign adjusted_index = my_var | minus: 1 %}
{{ my_array[adjusted_index] }}
Almacenar el resultado de una comparación en una variable

No puedes usar un operador en una sentencia assign. Esto es incorrecto:

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

En su lugar, usa un condicional para establecer la variable:

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 predeterminados y atributos personalizados

Si incluyes el siguiente texto en tu mensaje: {{${first_name}}}, el nombre del usuario (extraído del perfil de usuario) se sustituirá cuando se envíe el mensaje. Puedes usar el mismo formato con otros atributos predeterminados del usuario.

Si deseas usar el valor de un atributo personalizado, debes añadir el espacio de nombres “custom_attribute” a la variable. Por ejemplo, para usar un atributo personalizado llamado “zip code”, incluirías {{custom_attribute.${zip code}}} en tu mensaje.

Insertar etiquetas

Puedes insertar etiquetas escribiendo dos llaves de apertura {{ en cualquier mensaje, lo que activará una función de autocompletado que seguirá actualizándose a medida que escribas. Incluso puedes seleccionar una variable de las opciones que aparecen mientras escribes.

Si estás usando una etiqueta personalizada, puedes copiar y pegar la etiqueta en el mensaje que desees.

Excepciones para llaves dobles

Si usas una etiqueta dentro de otra etiqueta de Liquid, como {{ en cualquier mensaje, lo que activará una función de autocompletado que seguirá actualizándose a medida que escribas. Incluso puedes seleccionar una variable de las opciones que aparecen mientras escribes.

Si estás usando una etiqueta personalizada, puedes copiar y pegar la etiqueta en el mensaje que desees.

Excepciones para llaves dobles

Si usas una etiqueta dentro de otra etiqueta de Liquid, como {% assign %} o {% if %}, puedes usar llaves dobles o ninguna llave. Solo cuando la etiqueta está sola debe estar encerrada en llaves dobles. Para simplificar, siempre puedes usar llaves dobles.

Las siguientes etiquetas son todas correctas:

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

Insertar variables preformateadas

Puedes insertar variables preformateadas con valores predeterminados a través del modal Añadir personalización ubicado cerca de cualquier campo de texto con plantilla.

El modal Añadir personalización que aparece después de seleccionar insertar personalización. El modal tiene campos para tipo de personalización, atributo, valor predeterminado opcional y muestra una vista previa de la sintaxis de Liquid.

El modal insertará Liquid con tu valor predeterminado especificado en el punto donde estaba tu cursor. El punto de inserción también se especifica mediante el cuadro de vista previa, que muestra el texto anterior y posterior. Si un bloque de texto está resaltado, el texto resaltado será reemplazado.

Un GIF del modal Añadir personalización que muestra al usuario insertando "fellow traveler" como valor predeterminado, y el modal reemplazando el texto resaltado "name" en el compositor con el fragmento de código de Liquid.

New Stuff!