Cómo agregar lógica condicional a las plantillas de correo electrónico con el generador de lógica
Objetivos del artículo
Aprende a usar el generador de lógica para agregar lógica condicional dinámica, como instrucciones if/else y bucles for, directamente a los bloques de texto en las plantillas de correo electrónico. Esto te permite mostrar contenido personalizado a diferentes destinatarios según su perfil o propiedades personalizadas, sin escribir código.
Antes de empezar
El generador de lógica está disponible en:
- Editor de correo electrónico de arrastrar y soltar — bloques de texto, bloques de tabla y bloques de división
- Editor de correo electrónico de solo texto — mediante un modal en lugar de un panel lateral
Para usar el generador de lógica, necesitarás al menos un perfil en la cuenta que tenga la propiedad que quieres evaluar. Los perfiles y las propiedades personalizadas pueden agregarse mediante formularios de registro, cargas de CSV, integraciones de ecommerce y otras herramientas para aumentar las listas.
Nota: El creador de lógica es compatible con propiedades de perfil y propiedades personalizadas. No es compatible con datos de eventos. Para usar datos de eventos en la lógica, usa la opción Convertir a código y escribe etiquetas de Django directamente.
Agrega una declaración if/else
Usa una declaración if/else para mostrar contenido diferente a los destinatarios según un perfil o una propiedad personalizada. Por ejemplo, podrías mostrar un bloque de descuento VIP solo a los clientes con más de 500 puntos de lealtad, y un incentivo de registro a todos los demás.
En el editor de arrastrar y soltar
- Haz doble clic en un bloque de texto, bloque de tabla o bloque de división para entrar en el modo de edición.
- Haz clic en el botón Insertar en la barra de herramientas en la parte superior de la página.
- Selecciona If/else en el menú desplegable.
- Se abrirá un panel lateral a la izquierda y el lienzo se desplazará hacia la derecha.
- Configura la declaración if:
- Usa el primer menú desplegable para elegir una propiedad de perfil o personalizada que se va a evaluar.
- Usa el segundo menú desplegable para seleccionar un operador (p. ej., es igual a, es mayor que, está establecido).
- Ingresa o selecciona un valor para compararlo, según el operador elegido.
- Opcionalmente, haz clic en Agregar condición para agregar criterios adicionales a la declaración if.
- Usa AND o OR para conectar condiciones. OR está seleccionado de forma predeterminada.
- Haz clic en el botón clonar en una condición para duplicarla como una nueva condición OR.
- Para agregar una rama else if, haz clic en Agregar else if y configura las condiciones de la misma manera. Los destinatarios que cumplan estas condiciones, pero no la sentencia if, verán este contenido.
- Para agregar una rama else, marca la casilla Else (marcada de forma predeterminada). Edita el contenido en el lienzo para definir lo que verán los destinatarios que no cumplan ninguna condición. Desmarca la casilla para eliminar por completo la rama else.
- Edita el contenido en el lienzo para cada condición. Cada condición aparece como un cuadro azul mientras se configura.
- Cuando termines, haz clic en la flecha hacia atrás para cerrar el panel y guardar la lógica.
Consejo: Para quitar toda la lógica configurada de un bloque, haz clic en Quitar lógica en el panel lateral.
Nota: Al hacer clic en Eliminar en la instrucción if inicial, se restablecerán sus valores en lugar de quitar la instrucción por completo. Al hacer clic en Eliminar en una rama else if o else, se eliminará esa rama.
En el editor solo de texto
Sigue los mismos pasos anteriores, pero selecciona Insertar en la barra de herramientas de edición de texto. El generador de lógica se abrirá en un modal en lugar de en un panel lateral. Están disponibles las mismas opciones de configuración.
Agrega un bucle for
Usa un bucle for para iterar en una lista de elementos y mostrar contenido repetido para cada uno. Por ejemplo, podrías recorrer los productos que un cliente vio recientemente para mostrar cada uno en el correo electrónico.
En el editor de arrastrar y soltar
- Haz doble clic en un bloque de texto, bloque de tabla o bloque de división.
- Haz clic en el botón Insertar en la barra de herramientas.
- Selecciona Bucle for en el menú desplegable.
- Se abrirá un panel lateral a la izquierda.
- En el campo Variable, ingresa la lista que quieres recorrer en bucle (p. ej., event.items).
- En el campo Alias del elemento, ingresa un nombre para hacer referencia a cada elemento individual dentro del bucle (p. ej., item).
- Edita el contenido en el lienzo para definir lo que se mostrará para cada elemento.
- Haz clic en la flecha hacia atrás para cerrar el panel y guardar la lógica.
Consejo: Para quitar el bucle por completo, haz clic en Eliminar lógica en el panel lateral.
Agrega una etiqueta configurable
Usa una etiqueta configurable para insertar etiquetas de Django que no están incluidas en los generadores de if/else o bucle for, como instrucciones with o etiquetas de catálogo.
- Haz doble clic en un bloque de texto, bloque de tabla o bloque de división.
- Haz clic en el botón Insertar en la barra de herramientas.
- Selecciona Etiqueta configurable en el menú desplegable.
- Se abrirá un panel lateral a la izquierda.
- En el campo Nombre de etiqueta, ingresa la etiqueta que abrirá y cerrará el bloque (por ejemplo, with).
- En el área de texto de Código, agrega el código de la etiqueta de Django personalizada.
- Para agregar una rama, haz clic en Agregar rama. Esto crea una sección adicional donde puedes configurar otro nombre de etiqueta y bloque de código.
- Haz clic en la flecha hacia atrás para cerrar el panel y guardar la lógica.
Trabaja con lógica anidada
Puedes anidar declaraciones lógicas entre sí; por ejemplo, una declaración if/else dentro de un bucle for. Esto te permite crear secuencias de contenido altamente segmentadas.
Cuando la lógica está anidada:
- Los iconos de líneas verticales indican el nivel de anidamiento de cada declaración de lógica.
- Al pasar el cursor sobre una instrucción principal, se resalta todo el bloque anidado.
- Al pasar el cursor sobre una instrucción secundaria, se resalta solo esa instrucción.
- Puedes contraer y expandir las declaraciones secundarias de forma independiente de la declaración principal.
- Si se anidan más de tres niveles de lógica, aparece un indicador +[número] para mostrar la profundidad de anidación adicional.
Convertir lógica a código
Si necesitas más control sobre la lógica o quieres usar funciones no compatibles, como datos de evento o comparaciones de fechas, puedes convertir la configuración del generador de lógica en código Django sin procesar.
Advertencia: Convertir la lógica en código es una acción unidireccional y no se puede deshacer. No podrás volver al generador de lógica después de convertirla.
Para convertir:
- Abre el panel lateral del generador de lógica del bloque que quieres actualizar.
- En el caso de las instrucciones if/else, cada segmento individual (if, else if) tiene su propio botón Convertir a código. Haz clic en el que corresponda al segmento que quieres convertir.
- Para los bucles for, haz clic en el único botón Convertir en código para todo el bucle.
- Aparecerá un modal de advertencia. Confirma que deseas continuar.
- Después de la conversión, el código convertido aparecerá en un editor de código en el panel lateral. Puedes editarlo directamente desde ahí.
Este estado convertido es permanente y persistirá incluso después de que cierres el panel o salgas de la plantilla.
Diferencias en el editor solo de texto
El generador de lógica en el editor de solo texto funciona igual que en el editor de arrastrar y soltar, con una diferencia clave: la lógica se configura en una modal en lugar de un panel lateral. Están disponibles las mismas opciones para if/else, bucles for, etiquetas configurables, anidación y conversión a código.
Después de configurar la lógica, aparece en el lienzo de la misma forma que en el editor de arrastrar y soltar. Al hacer clic en Editar en una condición configurada, se abre el modal para permitir más ediciones.