En este artículo le explicaremos cómo personalizar sus e-mails con las condiciones IF
.
¿Qué son las condiciones IF
?
Las condiciones IF
son el lenguaje que usan nuestra funcionalidad de Visibilidad del bloque en el editor de «Drag and Drop». Permiten Mostrar u ocultar bloques en función de los atributos de contacto, los parámetros transaccionales o las listas dinámicas.
La potente lógica que ofrecen las condiciones IF
permite añadir o eliminar bloques de diseño por completo dentro de una campaña o plantilla de e-mail, o modificar el contenido específico dentro de un bloque en función de las condiciones que establezca. Puede utilizar las condiciones IF
de dos maneras diferentes:
- Las condiciones
IF
de tipo sencillo se pueden aplicar fácilmente a los bloques de diseño individuales en el editor de «Drag and Drop» usando la funcionalidad integrada de Visibilidad del bloque. - Las declaraciones
IF
personalizadas pueden crearse y posicionarse directamente dentro del contenido de su campaña o plantilla de e-mail.
El uso de las condiciones IF
amplía eficazmente la utilidad de un único e-mail para múltiples escenarios al mostrar diferentes conjuntos de contenido o texto en función de:
- los atributos de contacto definidos en su lista de contactos
- los parámetros enviados en su llamada a la API
Usos frecuentes de las condiciones IF
Hay una gran variedad de maneras de usar las condiciones IF
para personalizar el contenido de un e-mail, pero algunas de las más frecuentes son:
- El saludo del e-mail, como Hola, Sr. Sánchez, Hola, Sra. Pérez o simplemente Hola para los contactos sin datos registrados sobre género o nombre.
- Un producto o una imagen promocional, como la promoción de una imagen de un modelo que lleve la misma ropa o talla que su destinatario, o que muestre el artículo en cuestión en su color favorito.
- Un mensaje promocional, como incluir una oferta adicional de marketing en sus e-mails transaccionales en función de las compras del destinatario o de otros atributos.
Estructura de una declaración IF
IF
a las variables que contengan valores de comas flotantes, ya que pueden producir resultados poco precisos. Sin embargo, estas pueden aplicarse si el valor se envía como una cadena (entre comillas, es decir, "de esta manera").Principales reglas que debe seguir
Estas son algunas de las reglas que debe seguir al crear su propia declaración IF
:
- Una declaración IF empieza siempre con una etiqueta
IF
que contiene una condición:{% if ... %}
- Opcionalmente, la declaración
IF
puede contener condiciones alternativas que se evaluarán secuencialmente. Estas condiciones alternativas comienzan con:{% elif ... %}
- También de forma opcional, se puede añadir una cláusula general justo antes del final de la declaración IF, de la siguiente manera:
{% else %}
- Una declaración IF termina siempre con:
{% endif %}
Estructuras frecuentes de una declaración IF
A continuación, encontrará varias de las formas frecuentes de estructurar una declaración IF
:
IF |
Comprueba si un valor se verifica o si una matriz no está vacía |
{% if contact.ACTIVE %} --- {% if params.tutors %} {% for tutor in params.tutors %} |
== |
Comprueba si una expresión se verifica |
{% if coupon == "WELCOME" %} --- {% if contact.DONOR == true %} |
IF, in |
Comprueba si existe un valor (subcadena) dentro de una cadena o si existe una variable dentro de un «array» |
{% if "@example.com" in "bob@example.com" %} --- {% if "Piano" in params.types %} |
not |
Comprueba los valores que no se verifican |
{% if not user.subscribed %} |
y/o |
Evalúa varias condiciones |
{% if temperature > 10 and temperature < 55 %} --- {% if contact.LANG == "ES" and contact.COUNTRY == "Spain" %} --- {% if contact.COUNTRY == "Spain" or contact.COUNTRY == "Mexico" %} |
elif, else |
Evalúa múltiples ramas |
Hola, {% if contact.GENDER == "Male" %} Sr. {{ contact.LASTNAME }}, --- {% if event.paid %} |
Cómo se procesan las declaraciones IF
La condición IF
es lo que va entre las etiquetas {% if ... %}
y {% elif ... %}
. Al procesar la declaración IF
, el sistema evaluará la condición y:
- Si se cumple la condición, se mostrará la siguiente línea, siempre que sea una línea de texto (también puede ser una línea de código, ya que es posible usar nuestro lenguaje de plantillas para llevar a cabo una operación dentro de la declaración
IF
, en cuyo caso, se ejecutará la línea de código). - Si no se cumple la condición, la siguiente línea se ignorará y el sistema evaluará la siguiente condición
{% elif ... %}
(si la hubiera), o procesará la cláusula general{% else %}
(de nuevo, si la hubiera). De lo contrario, llegará a la etiqueta{% endif %}
y no pasará nada más como parte de esta declaraciónIF
.
En cuanto se haya cumplido una condición, el sistema omitirá cualquier condición {% elif ... %}
o cláusula general {% else %}
. Por eso, en ciertas ocasiones deberá pensar cuál es el mejor orden para las condiciones dentro de una declaración IF
(otras veces, el orden no importará).
Cómo crear sus propias condiciones IF
Para vincular un fragmento de texto (también conocido como «cadena») en el caso de un atributo de tipo "Texto", puede usar: {% if contact.GENDER == "Male" %}
. Esta condición hará que la siguiente línea de la declaración se procese solo si el atributo contact.GENDER es igual a "Male".
Si quiere evaluar si un atributo contiene un valor, basta con poner el nombre del atributo en la condición, sin más. Por ejemplo, para {% if contact.FIRSTNAME %}
, si tiene datos almacenados en contact.FIRSTNAME, se procesará la siguiente línea de la declaración, mientras que si contact.FIRSTNAME está vacío, se omitirá la siguiente línea.
Esto también puede usarse para los atributos «booleanos». La condición {% if contact.IS_REGISTERED %}
se cumplirá si contact.IS_REGISTERED es un atributo «booleano» verificado como «true», mientras que si no se verificara o estuviera vacío, esta condición no se cumplirá.
Ejemplos prácticos
Aquí tiene algunos ejemplos prácticos basados en las declaraciones IF
más interesantes.
Use una declaración IF
para mostrar texto adicional únicamente a algunos contactos
Imaginemos, por ejemplo, que su lista de contactos incluye un atributo «booleano» llamado «MEMBER» que se verifica si el contacto ha comprado una suscripción. Quizá quiera añadir un mensaje suplementario para estos contactos. Puede hacerlo con la siguiente declaración IF
:
{% if contact.MEMBER %}
¡Gracias por renovar su suscripción!
{% endif %}
Muestre un saludo personalizado si conoce el nombre del contacto y un saludo genérico en caso contrario
Esto es útil si quiere incluir un saludo del tipo «Hola, {{ contact.FIRSTNAME }}
» en su e-mail, pero no tiene la información de todos sus contactos para el atributo FIRSTNAME.
{% if contact.FIRSTNAME %}
Hola, {{ contact.FIRSTNAME }}:
{% else %}
Hola:
{% endif %}
Muestre un saludo de cortesía si conoce el género de su contacto, o un saludo genérico en caso contrario
Además de usar condiciones IF
para comprobar si se cumplen los valores ya existentes, puede comprobar los valores que no se cumplen o tener en cuenta varias condiciones para crear diferentes ramas.
Siguiendo el ejemplo frecuente de la personalización de los saludos de e-mail, es posible que quiera mostrar uno de los tres saludos posibles en función de si el atributo del contacto para «GENDER» es "Male", "Female" o está vacío. En este caso, puede usar las etiquetas {% elif %}
para alternar el contenido cuando el valor de «GENDER» sea "Female", y {% else %}
para usar una opción de sustitución para el resto de los casos:
Estimado/a {% if contact.GENDER == "Male" %} Sr. {{ contact.LASTNAME }}.
{% elif contact.GENDER == "Female" %} Sra. {{ contact.LASTNAME }}.
{% else %} ¿qué tal? {% endif %}
⏩ ¿Qué es lo siguiente?
Aunque estos ejemplos se centran en la estructuración de las condiciones if
con atributos de contacto, también puede aplicar estas condiciones a los atributos de contacto, a los parámetros transaccionales y a los bloques repetibles dentro del editor de «Drag & Drop»:
- Cómo personalizar sus e-mails transaccionales
- Mostrar u ocultar bloques en función de los atributos de contacto
- Mostrar u ocultar bloques en función de los parámetros transaccionales
- Mostrar u ocultar bloques en función de bloques repetibles
🤔 ¿Tiene alguna duda?
Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de asistencia mediante la creación de un ticket desde su cuenta. Si todavía no tiene una cuenta, puede ponerse en contacto con nosotros aquí.
Si necesitas ayuda con un proyecto usando Brevo, podemos ponerte en contacto con un socio certificado de Brevo.