Skip to content

Lógica de mensajería condicional

Etiquetas te permiten incluir lógica de programación en tus campañas de mensajería. Las etiquetas pueden utilizarse para ejecutar sentencias condicionales, así como para casos de uso avanzados, como la asignación de variables o la iteración a través de un bloque de código.

En esta página se explica cómo pueden y deben utilizarse las etiquetas, por ejemplo, cómo tener en cuenta los valores de atributo nulo, nulo y vacío, y cómo hacer referencia a atributos personalizados.

Etiquetas de formato

Una etiqueta debe ir envuelta en {% %}.

Para hacerte la vida un poco más fácil, Braze ha incluido un formateo por colores que se activará en verde y morado si has formateado correctamente tu sintaxis Liquid. El formato verde puede ayudar a identificar las etiquetas, mientras que el formato morado destaca las áreas que contienen personalización.

Si le resulta difícil utilizar la mensajería condicional, intente escribir la sintaxis condicional antes de insertar sus atributos personalizados y otros elementos Liquid.

Por ejemplo, añada primero lo siguiente en el campo de mensaje:

1
2
3
{% if X >0 %}
{% else %}
{% endif %}

Asegúrese de que resalta en verde y, a continuación, sustituya el X por el Líquido o Contenido Conectado que haya elegido utilizando el + azul de la esquina del campo de mensaje, y el 0 por el valor que desee.

A continuación, añada las variaciones del mensaje que necesite entre las condiciones de else:

1
2
3
4
5
{% if {{custom_attribute.${total_spend}}} >0 %}
Thanks for purchasing! Here's another 10% off!
{% else %}
Buy now! Would 5% off convince you?
{% endif %}

Lógica condicional

Puedes incluir muchos tipos de lógica inteligente dentro de los mensajes, como una declaración condicional. El siguiente ejemplo utiliza condicionales para internacionalizar una campaña:

1
2
3
4
5
6
7
8
9
{% if ${language} == 'en' %}
This is a message in English from Braze!
{% elsif ${language} == 'es' %}
Este es un mensaje en español de Braze !
{% elsif ${language} == 'zh' %}
这是一条来自Braze的中文消息。
{% else %}
This is a message from Braze! This is going to go to anyone who did not match the other specified languages!
{% endif %}

Etiquetas condicionales

if y elsif

La lógica condicional comienza con la etiqueta if, que establece la primera condición a comprobar. Las condiciones posteriores utilizan la etiqueta elsif y se comprobarán si no se cumplen las condiciones anteriores. En este ejemplo, si el dispositivo de un usuario no está configurado en inglés, este código comprobará si el dispositivo del usuario está configurado en español y, si eso falla, comprobará si el dispositivo está configurado en. Si el dispositivo del usuario cumple una de estas condiciones, el usuario recibirá un mensaje en el idioma correspondiente.

else

Tienes la opción de incluir una declaración {% else %} en tu lógica condicional. Si no se cumple ninguna de las condiciones que has establecido, la declaración {% else %} especifica el mensaje que debe enviarse. En este ejemplo, predeterminamos el inglés si el idioma del usuario no es inglés, español o chino.

endif

La etiqueta {% endif %} indica que has terminado tu lógica condicional. Debes incluir la etiqueta {% endif %} en cualquier mensaje con lógica condicional. Si no incluyes una etiqueta {% endif %} en tu lógica condicional, obtendrás un error, ya que Braze no podrá analizar tu mensaje.

Tutorial: Entrega contenidos basados en la ubicación

Cuando termines este tutorial, serás capaz de utilizar etiquetas con sentencias “if”, “elsif” y “else” para entregar contenido basado en la ubicación de un usuario.

  1. Empieza con una etiqueta if para establecer qué mensaje debe enviarse cuando la ciudad del usuario esté en Nueva York. Si la ciudad del usuario es Nueva York, se cumple esta primera condición y el usuario recibirá un mensaje especificando su identidad neoyorquina.
1
2
3
4
{% if ${city} == "New York" %}
  🎉 Hey there, New Yorker! We're excited to offer you a special deal! 
  Get 20% off your next sandwich at your local Sandwich Emperor. 
  Just show this message at the counter to redeem your offer!

2. A continuación, utiliza la etiqueta elseif para establecer qué mensaje debe enviarse si la ciudad del usuario está en Los Ángeles.

1
2
3
{% elsif ${city} == "Los Angeles" %}
  🌞 Hello, Los Angeles! Enjoy a sunny day with a delicious sandwich! 
  Present this message at our LA restaurant for a 20% discount on your next order!

3. Utilicemos otra etiqueta elseif para establecer qué mensaje debe enviarse si la ciudad del usuario está en Chicago.

1
2
3
4
{% elsif ${city} == "Chicago" %}
  🍕 Chicago, we have a treat for you! 
  Swing by our restaurant and get 20% off your favorite sandwich. 
  Just show this message to our staff!

4. Ahora, utilicemos la etiqueta {% else %} para especificar qué mensaje debe enviarse si la ciudad del usuario no está en San Francisco, Nueva York o Chicago.

1
2
3
{% else %}
 🥪 Craving a sandwich? Visit us at any of our locations for a delicious meal! 
  Check our website for the nearest restaurant to you!

5. Por último, utilizaremos la etiqueta {% endif %} para especificar que nuestra lógica condicional está terminada.

1
{% endif %}
Código completo de Liquid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{% if ${city} == "New York City" %}
  🎉 Hey there, New Yorker! We're excited to offer you a special deal! 
  Get 20% off your next sandwich at our New York location. 
  Just show this message at the counter to redeem your offer!
{% elsif ${city} == "Los Angeles" %}
  🌞 Hello, Los Angeles! Enjoy a sunny day with a delicious sandwich! 
  Present this message at our LA restaurant for a 20% discount on your next order!
{% elsif ${city} == "Chicago" %}
  🍕 Chicago, we have a treat for you! 
  Swing by our restaurant and get 20% off your favorite sandwich. 
  Just show this message to our staff!
{% else %}
  🥪 Craving a sandwich? Visit us at any of our locations for a delicious meal! 
  Check our website for the nearest restaurant to you!
{% endif %}

Contabilización de valores de atributos null, nil y blank

La lógica condicional es una forma útil de tener en cuenta los valores de atributos que no se establecen en los perfiles de usuario.

Valores de atributo nulos y sin valor

Se produce un valor nulo o cero cuando no se ha establecido el valor de un atributo personalizado. Por ejemplo, un usuario que aún no haya configurado su nombre de pila no tendrá un nombre de pila registrado en Braze.

En algunas circunstancias, puede que desees enviar un mensaje completamente diferente a los usuarios que tienen un nombre de pila establecido y a los usuarios que no tienen un nombre de pila establecido.

La siguiente etiqueta permite especificar un mensaje para los usuarios con un atributo “nombre” nulo:

1
2
3
{% if ${first_name} == null %}
  ....
{% endif %}

Un mensaje de ejemplo en el panel de Braze, utilizando un atributo "nombre" nulo.

1
2
3
4
5
{% if ${first_name} == null %}
We're having a sale! Hurry up and get 10% off all items today only!
{% else %}
Hey {{${first_name} | default: 'there'}}, we're having a sale! Hurry up and get 10% off all items today only!
{% endif %}

Tenga en cuenta que un valor de atributo nulo no está estrictamente asociado a un tipo de valor (por ejemplo, una cadena “nula” es lo mismo que una matriz “nula”), por lo que en el ejemplo anterior, el valor de atributo nulo hace referencia a un nombre no establecido, que sería una cadena.

Valores de atributo en blanco

Se produce un valor en blanco cuando el atributo de un perfil de usuario no está configurado, está configurado con una cadena de espacios en blanco ( ) o está configurado como false. Los valores en blanco deben comprobarse antes que otras variables para evitar un error de procesamiento de Liquid.

La siguiente etiqueta permite especificar un mensaje para los usuarios que tienen el atributo “nombre” en blanco.

1
2
3
{% if ${first_name} == blank %}
  ....
{% endif %}

Referencia a atributos personalizados

Una vez creados los atributos personalizados, puede hacer referencia a estos atributos personalizados en su mensajería Liquid.

Cuando utilice lógica condicional, necesitará conocer el tipo de datos del atributo personalizado para asegurarse de que está utilizando la sintaxis correcta. En la página Atributos personalizados del cuadro de mandos, busque el tipo de datos asociado a su atributo personalizado y, a continuación, consulte los siguientes ejemplos enumerados para cada tipo de datos.

Selección de un tipo de datos para un atributo personalizado. El ejemplo muestra un atributo Favorite_Category con un tipo de datos de cadena.

Booleano

Los booleanos son valores binarios, y pueden ajustarse a true o false, como registration_complete: true. Los valores booleanos no llevan apóstrofes.

1
{% if {{custom_attribute.${registration_complete}}} == true %}

Número

Números son valores numéricos, que pueden ser enteros o flotantes. Por ejemplo, un usuario puede tener shoe_size: 10 o levels_completed: 287. Los valores numéricos no llevan apóstrofes.

1
{% if {{custom_attribute.${shoe_size}}} == 10 %}

También puede utilizar otros operadores básicos como menor que (<) o mayor que (>) para números enteros:

1
{% if {{custom_attribute.${flyer_miles}}} >= 500 %}

Cadena

Una cadena está formada por caracteres alfanuméricos y almacena un dato sobre su usuario. Por ejemplo, puede tener favorite_color: red o phone_number: 3025981329. Los valores de cadena deben ir rodeados de apóstrofes.

1
{% if {{custom_attribute.${favorite_color}}} == 'blue' %}

Para las cadenas, puede utilizar tanto “==” como “contains” en su Liquid.

Matriz

Un array es una lista de información sobre su usuario. Por ejemplo, un usuario puede tener last_viewed_shows: stranger things, planet earth, westworld. Los valores de las matrices deben ir rodeados de apóstrofes.

1
{% if {{custom_attribute.${last_viewed_shows}}} contains 'homeland' %}

Para las matrices, debe utilizar “contains” y no puede utilizar “==”.

Tiempo

Una marca de tiempo de cuando un evento tuvo lugar. Hora valores deben tener un filtro matemático en ellos para ser utilizado en la lógica condicional.

1
{% assign expire = {{custom_attribute.${subscription_end_date}}} | plus: 0 %} 
¿QUÉ TAN ÚTIL FUE ESTA PÁGINA?
New Stuff!