Personalice su e-mail con condiciones «IF»

En este artículo le explicaremos cómo personalizar sus e-mails con las condiciones IF

❗️ Importante
Este artículo está dirigido al uso avanzado de la visualización condicional, si no es el caso, puede usar la funcionalidad integrada de Condiciones de visualización/Visualización condicional y condiciones avanzadas de personalización.

¿Qué son las condiciones IF?

Las condiciones IF son el lenguaje que usan nuestras funcionalidades de condiciones de visualización/visualización condicional en los editores 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» clásico usando la funcionalidad integrada de Visualización condicional
    if_conditions_editor_EN.png
  • Las declaraciones IF personalizadas pueden crearse y posicionarse directamente dentro del contenido de su campaña o plantilla de e-mail.
    mceclip1.png

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: 

  1. 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.
  2. 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.
    If_conditions_email-2_EN.png  If_conditions_email-1.png
  3. 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.
    If_conditions_email-3_EN.png  Email_3.png

Estructura de una declaración IF

💡 Información relevante
No es recomendable aplicar las condiciones 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 %}
¡Felicidades! Ha logrado su objetivo mensual.
{% endif %}

---

{% if params.tutors %}

{% for tutor in params.tutors %}
Los siguientes tutores están disponibles para ayudarle:
<ol>
<li>{{ tutor.name }}</li>
{% endfor %}
</ol>
{% endif %}

==

Comprueba si una expresión se verifica

{% if coupon == "WELCOME" %}
<p>¡Le damos la bienvenida a nuestra lista! Aquí encontrará su primer cupón: BIENVENIDA25</p>
{% endif %} 

---

{% if contact.DONOR == true %}
<b>¡Gracias por su apoyo!</b>
{% endif %}

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" %}
Esto aparece porque «@example.com» es una subcadena de «bob@example.com»
{% endif %}

---

{% if "Piano" in params.types %}
¡Atención! Hay artículos pesados en su pedido. Necesitará estar presente para recibirlo.
{% endif %}

not

Comprueba los valores que no se verifican

{% if not user.subscribed %}
   <p>No tiene una suscripción a nuestras alertas de ventas secretas. Suscríbase aquí.</p>
{% endif %}

y/o

Evalúa varias condiciones

{% if temperature > 10 and temperature < 55 %}
   <p>¡Qué frío! Aquí encontrará un cupón con un 20 % de descuento para cualquier tipo de bebida caliente, solo para hoy.</p>
{% endif %}

---

{% if contact.LANG == "ES" and contact.COUNTRY == "Spain" %}
{% endif %}

---

{% if contact.COUNTRY == "Spain" or contact.COUNTRY == "Mexico" %}
{% endif %}

elif, else

Evalúa múltiples ramas

 Hola, {% if contact.GENDER == "Male" %} Sr. {{ contact.LASTNAME }}, 
{% elif contact.GENDER == "Female" %} Sra. {{ contact.LASTNAME }}, 
{% else %} ¿qué tal? {% endif %} 

--- 

{% if event.paid %}
   Ha reservado su plaza. Gracias por el pago.
{% elif event.registered %}
    Ha reservado su plaza, pero se volverá a quedar libre si no hace el pago antes del 2 de enero.
{% else %}
   ¡Todavía puede apuntarse! Haga clic aquí.
{% endif %}

Cómo se procesan las declaraciones IF

💡 Información relevante
Si esta sección le resulta demasiado técnica, le recomendamos que vaya directamente a la sección de «Ejemplos prácticos» de este artículo.

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ón IF. 

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 de los editores de «Drag & Drop» (tanto el clásico como el nuevo):