Skip to content

Etiquetas de personalización admitidas

Este artículo de referencia incluye una lista completa de las etiquetas de personalización de Liquid compatibles.

Resumen de las etiquetas admitidas

Para mayor comodidad, se proporciona un resumen de las etiquetas de personalización admitidas. Para más detalles sobre cada tipo de etiqueta y las mejores prácticas, sigue leyendo.

Atributos admitidos

Los atributos de Campaña, Tarjeta y Canvas sólo se admiten en sus correspondientes plantillas de mensajería (por ejemplo, dispatch_id no está disponible en las campañas de mensajería dentro de la aplicación).

Consulte este artículo de ayuda para obtener más información sobre cómo difieren algunos de estos atributos entre las fuentes en Braze.

Diferencias entre el lienzo y las etiquetas de campaña

El comportamiento de las siguientes etiquetas difiere entre Canvas y las campañas:

  • dispatch_id El comportamiento difiere porque Braze trata los pasos en Canvas como eventos desencadenados, incluso cuando están “programados” (excepto los pasos de entrada, que pueden programarse). Para más información, consulta Comportamiento del ID de envío.
  • El uso de la etiqueta {{campaign.${name}}} con Canvas mostrará el nombre del componente Canvas. Al utilizar esta etiqueta con campañas, se mostrará el nombre de la campaña.

Información sobre el dispositivo utilizado más recientemente

Puedes plantillas los siguientes atributos para el dispositivo más reciente del usuario en todas las plataformas. Si un usuario no ha utilizado tu aplicación (por ejemplo, has importado al usuario a través de la API REST), entonces todos estos valores serán null.

Como existe una gama tan amplia de operadores de dispositivos, nombres de modelos y sistemas operativos, te aconsejamos que pruebes a fondo cualquier Liquid que dependa condicionalmente de cualquiera de esos valores. Estos valores serán null si no están disponibles en un dispositivo concreto.

Información específica sobre la aplicación

Para los mensajes dentro de la aplicación, puede utilizar los siguientes atributos de aplicación dentro de Liquid. Los valores se basan en qué clave de API de SDK utilizan tus aplicaciones para solicitar mensajería.

Por ejemplo, este código de Liquid abortará un mensaje si las aplicaciones solicitantes no son una de las dos claves API de la lista:

1
2
3
4
5
6
{% assign allowed_api_keys = 'sdk_api_key_1,sdk_api_key_2' | split: ',' %}
{% if allowed_api_keys contains {{app.${api_id}}} %}
User is in list of apps
{% else %}
{% abort_message("User not in list of apps") %}
{% endif %}

Información específica del dispositivo

Para las notificaciones push y los canales de mensajería dentro de la aplicación, puedes introducir en la plantilla los siguientes atributos para el dispositivo al que se envía un mensaje. Es decir, una notificación push o un mensaje in-app pueden incluir atributos del dispositivo en el que se está leyendo el mensaje. Ten en cuenta que estos atributos no funcionarán para las tarjetas de contenido.

Como hay una gama tan amplia de operadores de dispositivos, nombres de modelos y sistemas operativos, te aconsejamos que pruebes a fondo cualquier lógica que dependa condicionalmente de cualquiera de esos valores. Estos valores serán null si no están disponibles en un dispositivo concreto.

Además, para las notificaciones push, es posible que Braze no pueda discernir el dispositivo conectado a la notificación push en determinadas circunstancias, como si el token de notificaciones push se importó a través de la API, lo que hace que los valores de esos mensajes sean null.

Ejemplo de uso de un valor por defecto de "allí" cuando se utiliza una variable de nombre en un mensaje push.

Utilizar la lógica condicional en lugar de un valor predeterminado

En algunas circunstancias, puede optar por utilizar lógica condicional en lugar de establecer un valor por defecto. La lógica condicional permite enviar mensajes que difieren en función del valor de un atributo personalizado. Además, puede utilizar lógica condicional para abortar mensajes a clientes con valores de atributo nulos o en blanco.

Casos de uso

Por ejemplo, supongamos que envías una notificación de saldo de recompensas a los clientes. No hay una buena forma de tener en cuenta a los clientes con saldos bajos y nulos utilizando valores predeterminados.

En este caso, hay dos opciones que pueden funcionar mejor que establecer un valor por defecto:

  1. Abortar el mensaje para clientes con saldos bajos, nulos y en blanco.

    1
    2
    3
    4
    5
    
    {% if {{custom_attribute.${balance}}} > 0 %}
    Your rewards balance is {{custom_attribute.${balance}}}
    {% else %}
    {% abort_message() %}
    {% endif %}
    
  2. Envía un mensaje completamente distinto a estos clientes, por ejemplo

    1
    2
    3
    4
    5
    
    {% if ${first_name} != blank and ${first_name} != null %}
    Hello {{${first_name} | default: 'there'}}, thanks for downloading!
    {% else %}
    Thanks for downloading!
    {% endif %}
    

En este caso de uso, un usuario con un nombre en blanco o nulo recibirá el mensaje “Gracias por descargar”. Debes incluir un valor predeterminado para el nombre para asegurarte de que tu cliente no vea Liquid en caso de error.

Etiquetas variables

Puede utilizar la etiqueta assign para crear una variable en el compositor de mensajes. Te recomendamos que utilices un nombre único para tu variable. Si creas una variable con un nombre similar al de las etiquetas de personalización admitidas (como language), esto puede afectar a tu lógica de mensajería.

Después de crear una variable, puede hacer referencia a esa variable en su lógica de mensajería o mensaje. Esta etiqueta resulta útil cuando se desea reformatear el contenido devuelto por nuestra función Contenido conectado ]. Puedes leer más en la documentación de Shopify sobre etiquetas variables.

Casos de uso

Digamos que permites a tus clientes canjear sus puntos de recompensa por premios después de acumular 100 puntos de recompensa. Por lo tanto, sólo debe enviar mensajes a los clientes que tendrían un saldo de puntos superior o igual a 100 si realizaran esa compra adicional:

1
2
3
4
5
6
{% assign new_points_balance = {{custom_attribute.${current_rewards_balance} | plus: 50}} %}
{% if new_points_balance >= 100 %}
Make a purchase to bring your rewards points to {{new_points_balance}} and cash in today!
{% else %}
{% abort_message('not enough points') %}
{% endif %}

Etiquetas de iteración

Las etiquetas de iteración pueden utilizarse para ejecutar un bloque de código repetidamente. El siguiente caso de uso presenta la etiqueta for.

Casos de uso

Supongamos que tienes una oferta de zapatillas Nike y quieres enviar mensajes a los clientes que han expresado interés por ellas. Dispone de una serie de marcas de productos que se ven en el perfil de cada cliente. Esta matriz podría contener hasta 25 marcas de producto, pero solo quieres enviar mensajes a los clientes que vieron un producto Nike como una de sus 5 vistas de producto más recientes.

1
2
3
4
5
6
7
8
9
10
{% for items in {{custom_attribute.${Brands Viewed}}} limit:5 %}
{% if {{items}} contains 'Converse' %}
{% assign converse_viewer = true %}
{% endif %}
{% endfor %}
{% if converse_viewer == true %}
Sale on Converse!
{% else %}
{% abort_message() %}
{% endif %}

En este caso de uso, comprobamos los cinco primeros elementos de la matriz de marcas de zapatillas vistas. Si uno de esos elementos es converso, creamos la variable converse_viewer y le damos el valor verdadero.

A continuación, enviamos el mensaje de venta cuando converse_viewer es verdadero. En caso contrario, abortamos el mensaje.

Este es un ejemplo sencillo de cómo pueden utilizarse las etiquetas de iteración en el compositor de mensajes Braze. Puedes encontrar más información en la documentación de Shopify sobre etiquetas de iteración.

Etiquetas sintácticas

Las etiquetas de sintaxis pueden utilizarse para controlar la presentación de Liquid. Puede utilizar la etiqueta echo para devolver una expresión. Esto es lo mismo que envolver una expresión utilizando llaves, excepto que puede utilizar esta etiqueta dentro de etiquetas Liquid. También puede utilizar la etiqueta liquid para tener un bloque de Liquid sin delimitadores en cada etiqueta. Cada etiqueta debe ir en su propia línea cuando utilices la etiqueta liquid. Consulta la documentación de Shopify sobre etiquetas de sintaxis para obtener más información y ejemplos.

Con control de espacios en blanco, puede eliminar los espacios en blanco alrededor de sus etiquetas, lo que le ayudará a controlar aún más el aspecto de la salida de Liquid.

Códigos de estado HTTP

Puede utilizar el estado HTTP de una llamada a Contenido Conectado guardándolo primero como una variable local y utilizando después la tecla __http_status_code__. Por ejemplo:

1
2
3
4
{% connected_content https://example.com/api/endpoint :save connected %}
{% if connected.__http_status_code__ != 200 %}
{% abort_message('Connected Content returned a non-200 status code') %}
{% endif %}

Envío de mensajes en función del idioma, la configuración regional más reciente y la zona horaria

En algunas situaciones, puede que desees enviar mensajes que sean específicos para determinadas localizaciones. Por ejemplo, el portugués brasileño suele ser diferente del portugués europeo.

Casos de uso: Localización basada en la localización reciente

Aquí tienes un caso de uso de cómo puedes utilizar la configuración regional más reciente para localizar mejor un mensaje internacionalizado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% if ${language} == 'en' %}
Message in English
{% elsif  ${language} == 'fr' %}
Message in French
{% elsif  ${language} == 'ja' %}
Message in Japanese
{% elsif  ${language} == 'ko' %}
Message in Korean
{% elsif  ${language} == 'ru' %}
Message in Russian
{% elsif ${most_recent_locale} == 'pt_BR' %}
Message in Brazilian Portuguese
{% elsif ${most_recent_locale} == 'pt_PT' %}
Message in European Portuguese
{% elsif  ${language} == 'pt' %}
Message in default Portuguese
{% else %}
Message in default language
{% endif %}

En este caso de uso, los clientes con una localización más reciente de pt_BR recibirán un mensaje en portugués brasileño, y los clientes con una localización más reciente de pt_PT recibirán un mensaje en portugués europeo. Los clientes que no cumplan las dos primeras condiciones, pero que tengan el idioma portugués, recibirán un mensaje en el idioma portugués predeterminado.

Casos de uso: Usuarios objetivo por zona horaria

También puede dirigirse a los usuarios por su zona horaria. Por ejemplo, envía un mensaje si viven en EST y otro si viven en PST. Para ello, guarda la hora actual en UTC, y compara una sentencia if/else con la hora actual del usuario para enviar el mensaje correcto para la zona horaria correcta. Debes configurar la campaña para que se envíe en la zona horaria local del usuario, para que reciba la campaña a la hora adecuada.

Mira el siguiente caso de uso para saber cómo escribir un mensaje que saldrá entre las 14:00 y las 15:00 y tendrá un mensaje específico para cada zona horaria.

1
2
3
4
5
6
7
8
{% assign hour_in_utc = 'now' | date: '%H' | plus:0 %}
{% if hour_in_utc >= 19 && hour_in_utc < 20 %}
It is between 2:00:00 pm and 2:59:59 pm ET!
{% elsif hour_in_utc >= 22 && hour_in_utc < 23 %}
It is between 2:00:00 pm and 2:59:59 pm PT!
{% else %}
{% abort_message %}
{% endif %}
¿QUÉ TAN ÚTIL FUE ESTA PÁGINA?
New Stuff!