Ir al contenido principal
Todas las coleccionesEditor de plantillasPersonalización
Añade condicionales en tus plantillas
Añade condicionales en tus plantillas

Te explicamos cómo utilizar lógica en las plantillas de tus mails para personalizarlos aun más

Actualizado hace más de una semana

El editor de WoowUp utiliza un motor de templates llamado TWIG, esto permite utilizar programación para modificar los templates en base a los datos que tienes disponibles de tus clientes en WoowUp.

Puedes ver más detalle en su documentación Twig for Template Designers

Personalización de asuntos

La personalización de los asuntos en tus correos es crucial para tu estrategia de Email Marketing. Si utilizas esta herramienta mejorarás las tasas de apertura al captar la atención de tu cliente y generarás en él una conexión emocional.

Además, aumenta la relevancia del contenido, reduce la percepción de spam y fomenta la fidelización al mostrar que la marca se preocupa por los intereses de los clientes, lo que en última instancia fortalece la relación y promueve la recompra.

Desde WoowUp podrás personalizar tus asuntos utilizando código TWIG, ¡no debes ser un experto para usarlo! Aquí te indicamos el paso a paso para hacerlo.

Esta configuración la debes hacer desde el campo "asunto" de la configuración de Email:

Muestra un mensaje en función del nombre del cliente

Si necesitas mostrar un asunto personalizado a los clientes que tienen el dato de su nombre y otro asunto a aquellos que no tengan este dato deberás utilizar el siguiente código:

​ {% if customer.name %}
{{ customer.name | first_word }}, Aquí el mensaje para los que tienen nombre
{% else %}
Aquí el mensaje para los que no tienen nombre
{% endif %}

Esta lógica funcionará así:

Si el cliente tiene un nombre, se muestra su primer nombre seguido de un mensaje específico. Si no tiene nombre, se muestra otro mensaje.

Te explicamos en detalle qué hace cada fragmento de código:

  • Condición Inicial:

    {% if customer.name %}

    Comprueba si existe un valor para customer.name. Si es verdad (es decir, si customer.name tiene un valor), se ejecutará el bloque de código dentro de este if.

  • Mensaje para los que tienen nombre:

    {{ customer.name | first_word }}, Aquí el mensaje para los que tienen nombre

    Si customer.name existe, se mostrará el primer nombre del cliente seguido de un mensaje. La expresión {{ customer.name | first_word }} aplica un filtro first_word al valor de customer.name, que extrae la primera palabra del nombre del cliente. Luego, se añade el texto "Aquí el mensaje para los que tienen nombre".

  • Else - Mensaje para los que no tienen nombre:

    {% else %}

    Aquí el mensaje para los que no tienen nombre

    Si customer.name no existe (es decir, el cliente no tienen nombre, es nulo, vacío o no está definido), se ejecutará el bloque dentro del else, que solo muestra el texto "Aquí el mensaje para los que no tienen nombre".

  • Fin de la condición:

    {% endif %}

    Marca el final del bloque condicional.

¿Cómo lo verá el cliente?

  • Clientes que tienen nombre:

  • Clientes que no tienen nombre:

Condicionales IF/ELSE

Con los condicionales If y else podemos evaluar si un dato tiene un determinado valor y con base a eso mostrar una fila o un contenido en la plantilla.

La sintaxis para usar estos condicionales es la siguiente:

<!--{% if %}--> (Luego del if colocamos el dato a evaluar)

Contenido a mostrar si la condición se cumple.

<!--{% else %}-->

Contenido a mostrar si la condición NO se cumple.

<!--{% endif %}-->


Filtros y funciones

FIltros

Los campos dinámicos pueden modificarse con filtros. Los filtros se aplican utilizando el caracter pipe "|" seguido del filtro a utilizar, por ejemplo:

Campo sin filtros:

{{customer.name}} -> Juan Perez

Campo con filtro para convertir el texto a mayúsculas:

{{customer.name | upper }} -> JUAN PEREZ

Hay filtros que pueden incluir parámetros para configurar como se ha de aplicar el filtro, los parámetros se colocan entre paréntesis y en caso de haber más de uno se separan por comas, por ejemplo:

Campo sin filtros:

{{product.name}} -> Campera de Cuero Ecologico Talle M

Campo con filtros y parámetros para limitar el texto a 20 caracteres

{{product.name | truncate(20) }} -> Campera de Cuero Eco...

Campo con filtros y parámetros para limitar el texto a 20 caracteres y agregar signos de exclamación

{{product.name | truncate(20,'!!') }} -> Campera de Cuero Eco!!

Se pueden utilizar varios filtros en un mismo campo dinámico para aplicar varios efectos simultáneamente, por ejemplo:

Campo con filtros y parámetros para limitar el texto a 20 caracteres, agregar signos de exclamación y convertir el texto a mayúsculas

{{product.name | truncate(20,'!!') | upper }} -> CAMPERA DE CUERO ECO!

Filtros Disponibles

upper

Convierte a mayúscula un texto.

lower

Convierte a minúscula un texto.

escape

Escapea un texto en un formato dado.

raw

Imprime el texto sin escapear en entidades HTML.

slice

Corta un texto a partir de un inicio y una longitud.

capitalize

Convierte a mayúscula la primer letra del texto.

title

Convierte a mayúscula la primer letra de cada palabra del texto.

trim

Elimina ciertos caracteres al inicio, al final o en ambas posiciones de un texto.

url_encode

Codifica como URL una cadena de texto.

replace

Busca un texto y lo reemplaza por otro.

number_format

Formatea un número con separadores de miles y decimales.

truncate

Corta un texto a una cierta longitud, si lo corta le agrega por default "..." al final.

first_word

Corta un texto por los espacios que contengan. Por defecto devuelve la primera palabra del texto.

Funciones

Las funciones pueden utilizarse para generar contenido, y son invocadas por su nombre seguido por paréntesis "()", pueden contener argumentos de forma opcional.

{{now()}} -> 20/07/2019
{{now(5)}} -> 25/07/2019

Funciones disponibles

now

Retorna la fecha actual con formato dd/mm/yyyy.

date_format

Formatea una fecha en un cierto formato.

hex

Convierte a hexadecimal un texto.

number_format

Formatea un número con separadores de miles y decimales.

product_by_sku

Busca un producto por SKU.

best_sellers_by_category

Busca los productos mas vendidos por categoría.

recommended_products

Busca los productos recomendados para un cliente.

range

Genera un listado de números a partir de un intervalo.

chunks

Divide un array en porciones.

¿Ha quedado contestada tu pregunta?