Configurar contenido dinámico con estructuras condicionales

Las estructuras condicionales son una forma basada en texto de añadir contenido dinámico a sus mensajes. Le permiten mostrar texto, imágenes o enlaces diferentes a distintos contactos en el mismo correo electrónico, en función de la información que tiene sobre ellos en sus campos personalizados.

Use estructuras condicionales cuando el panel de contenido dinámico a nivel de estructura no sea lo suficientemente específico; por ejemplo, cuando desee personalizar una sola frase dentro de un párrafo, o cambiar solo algunas palabras de un saludo. Las estructuras condicionales funcionan en el editor de correo electrónico, la Plantilla Wizard y el editor HTML.


Requisitos previos

  • Conoce el nombre del marcador de posición del campo personalizado que desea usar. Puede encontrar los nombres de marcadores en Ajustes > Gestionar campos personalizados.
  • Su perfil de prueba en Ajustes está rellenado con valores representativos, para que pueda previsualizar el resultado.

Atención Las estructuras condicionales solo funcionan con campos personalizados. Si necesita mostrar contenido basado en un segmento, use en su lugar el panel de contenido dinámico a nivel de estructura del editor de correo electrónico.


Sintaxis básica

Una estructura condicional se construye a partir de tres partes: una apertura {if ...}, un {else} opcional y un cierre {/if}. Entre ellos, coloca el contenido que desea mostrar.

Mostrar contenido solo cuando la condición es verdadera:

{if ::firstname::!=""}

Mostrar un contenido cuando la condición es verdadera y un contenido de reserva cuando no lo es:

{if ::firstname::!=""}Hola #firstname#,{else}Hola,{/if}

La parte entre {if y } es la condición: ahí es donde describe lo que desea comprobar. Todo lo demás es simplemente contenido.

Hacer referencia a un campo personalizado

Dentro de una estructura condicional, se hace referencia a un campo personalizado encerrando su marcador de posición entre dobles dos puntos: ::marcador::. Por ejemplo, para comprobar el campo de nombre, se escribe ::firstname::.

Esto es diferente de la sintaxis #marcador# usada para la personalización regular. Dentro de las estructuras condicionales, use siempre la forma ::marcador::.


Funciones disponibles

Comprobar el valor de un campo de contacto

El uso más habitual de una estructura condicional es comprobar qué hay almacenado en un campo de contacto y mostrar contenido en consecuencia.

{if ::language::=="fr"}Bonjour{else}Hello{/if}

Los contactos cuyo idioma de contacto es el francés ven «Bonjour». Todos los demás ven «Hello».

Uppercase, lowercase, uppercaseFirst

Las comprobaciones de valores distinguen entre mayúsculas y minúsculas en las estructuras condicionales. «Valor» y «valor» no son lo mismo, por lo que algunos contactos pueden quedar fuera de su condición simplemente porque su campo se almacenó con diferente capitalización. Envuelva el campo en uppercase(...) o lowercase(...) para comparar de forma segura:

{if uppercase(::marcador::)=="VALOR"}...{/if}

{if lowercase(::marcador::)=="valor"}...{/if}

Consejo de soporte Use {uppercaseFirst(::marcador::)} en su contenido cuando desee mostrar un campo con solo la primera letra en mayúscula; práctico para saludos donde desea «Hola Sara» independientemente de cómo se almacenó originalmente el nombre.

Reserva

Use {fallback(...)} cuando desee mostrar el valor del campo de un contacto, con un valor predeterminado para los contactos en los que el campo esté vacío. Es más sencillo que una estructura if-else completa para este caso habitual.

Estimado/a {fallback(::firstname::,"cliente")}

Los contactos con nombre ven «Estimada Sara». Los que no tienen nombre ven «Estimado/a cliente». Tenga en cuenta que {fallback(...)} se usa por sí solo entre llaves: no necesita etiquetas {if} circundantes.

Contains

Use contains() cuando solo desee comprobar parte del valor de un campo, no una coincidencia exacta.

{if contains(::campo::,"Valor")} … {else} … {/if}

Length

Use length(...) cuando el número de caracteres de un campo deba impulsar el contenido. Por ejemplo, imagine que vende llaveros personalizados, pero solo caben 7 caracteres en el producto:

{if length(::firstname::)<7} Artículo sobre llaveros personalizados {else} … {/if}


Dónde colocar las estructuras condicionales

Puede colocar estructuras condicionales en cualquier lugar donde pueda escribir texto: dentro de un elemento de texto en el editor de correo electrónico, en las áreas de texto de la Plantilla Wizard o en el editor HTML. Funcionan igual en las tres herramientas.


Anidamiento

Puede poner estructuras condicionales dentro de otras para combinaciones más específicas:

{if ::language::=="NL"} {if ::country::=="BE"}Bienvenido a Bélgica {else}Bienvenido{/if} {else}Welcome{/if}

Mantenga el anidamiento al mínimo. Dos niveles de profundidad suelen ser suficientes: más de eso se vuelve difícil de leer y fácil de romper.

Atención Rellene su perfil de prueba en Ajustes con valores representativos para previsualizar si el resultado es correcto.


Errores comunes que debe evitar

  • Olvidar cerrar la estructura condicional con **{/if}**. Una estructura sin cerrar rompe el mensaje y puede producir resultados inesperados.
  • Usar **#marcador#** en lugar de **::marcador::**. Dentro de una estructura condicional, solo funciona la forma ::marcador::.
  • Usar un nombre de marcador que no coincide con el de Ajustes. Los nombres de marcadores deben coincidir exactamente. Compruebe Ajustes > Gestionar campos personalizados si no está seguro.
  • Comparar valores con diferente capitalización. "FR" y "fr" no son iguales. Envuelva el campo en uppercase(...) o lowercase(...) para que la comparación no distinga entre mayúsculas y minúsculas.
  • Intentar comprobar un interés o segmento. Las estructuras condicionales solo funcionan con campos personalizados. Para intereses o segmentos, use el panel de contenido dinámico a nivel de estructura en el editor de correo electrónico.

Próximos pasos

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.