Saltar al contenido principal
OneSignal proporciona varias formas de personalizar el contenido de mensajes a escala. Esta guía se centra en usar la función de Contenido dinámico con carga CSV que se encuentra en el panel de OneSignal para push, correo electrónico y SMS. Beneficios clave:
  • Use un CSV para personalizar a escala – Un mensaje, experiencias personalizadas para todos
  • Soporte multiidioma – Cambio automático de idioma por usuario
  • Personalización dinámica – El contenido se adapta a las propiedades del usuario (idioma, región, ID de campaña)
  • Colaboración en equipo – Los usuarios no técnicos editan contenido en archivos CSV
  • Inyección HTML (correo electrónico) – Incluya marcado HTML en celdas CSV para construir dinámicamente contenido de correo electrónico enriquecido
  • Compatibilidad entre canales – Reutilice la lógica CSV entre canales
Casos de uso comunes:
  • Incorporación o marketing multiidioma
  • Promociones específicas por región
  • Anuncios de eventos por ubicación
  • Personalización basada en campañas

Pasos de configuración del Contenido dinámico con CSV

Referencia rápida:
  1. Cree un archivo CSV con sus variaciones de contenido.
  2. Mapee los datos CSV al mensaje usando la propiedad dynamic_content en sintaxis Liquid.
  3. Cree un nuevo mensaje o plantilla desde el panel de OneSignal.
  4. Seleccione el botón Contenido dinámico o Personalización.
  5. Cargue el archivo CSV y envíe el mensaje.

Requisitos y configuración de CSV

  • Tamaño de archivo: Menos de 200 KB
  • Encabezados de columna:
    • Reserve el primer encabezado de columna para la clave de etiqueta o déjelo en blanco para hacer referencia a secciones
    • Solo caracteres alfanuméricos y guiones bajos
    • Use guiones bajos (_) en lugar de espacios
  • Codificación: UTF-8
Comience con un CSV en blanco o use una plantilla proporcionada. Las plantillas se proporcionan al seleccionar el botón Contenido dinámico o Personalización en los editores de mensajes y plantillas.
Botón de Contenido dinámico en el editor de mensajes de OneSignal
Plantillas disponibles:
  • Multiidioma – Localice el contenido por idioma
  • Personalización de contenido – Personalice el contenido por etiquetas de datos
Opciones de plantilla CSV que muestran plantillas multiidioma y de personalización de contenido

Ejemplos de CSV

Esta guía utilizará los siguientes datos CSV de ejemplo.
  • Mapee los encabezados de columna a sus códigos de idioma admitidos.
  • Agregue sus traducciones a cada fila para cada código de idioma.
  • Si tiene varias secciones (como en un correo electrónico), designe la primera columna como el nombre de la sección.
Este ejemplo incluye:
  • 3 idiomas: inglés, español y francés.
  • 2 secciones: “section_1” y “section_2”.
CSV multiidioma con códigos de idioma como encabezados de columna y contenido traducido en filas

Mapear datos CSV al contenido del mensaje

Usando sintaxis Liquid, haga referencia a los datos CSV en su mensaje usando la propiedad dynamic_content:
<!-- Opción 1: acceder por componente primero -->
{{dynamic_content.file_name.message_component[user_property]}}

<!-- Opción 2: acceder por propiedad de usuario primero -->
{{dynamic_content.file_name[user_property].message_component}}
Parámetros:
  • dynamic_content – El nombre de la propiedad utilizada para hacer referencia a los datos CSV
  • file_name – Nombre del archivo CSV (sin extensión .csv)
  • message_component – El componente de mensaje específico que desea personalizar. Este es el texto estático en el encabezado de columna CSV o la primera fila.
  • user_property – La propiedad de usuario que desea referenciar.
Contenido de respaldo: Siempre use respaldos de cadena default codificados para garantizar que los mensajes se rendericen si falla la búsqueda CSV o el Contenido dinámico.
Sintaxis Liquid para el respaldo
{{ dynamic_content.my_template.header[user.language] | default: "Bienvenido a nuestra última actualización" }}
Esto significa que si falla la búsqueda CSV o el Contenido dinámico, el mensaje renderizará el texto de respaldo "Bienvenido a nuestra última actualización". Esto asegura:
  • Se usa Contenido dinámico cuando está disponible
  • Aparece un mensaje codificado si falla el Contenido dinámico
  • Los usuarios nunca reciben contenido en blanco
translations.csv
,en,es,fr
section_1,Hello,Hola,Bonjour
section_2,Thanks for shopping with us...,Gracias por comprar con nosotros...,Merci pour votre achat avec nous...
  • El file_name es translations.csv.
  • El message_component está en las filas de la primera columna section_1 y section_2.
  • El user_property es el encabezado de columna que coincide con el código de idioma. Podemos hacer referencia a esto en el usuario con la propiedad user.language.
Sintaxis Liquid básica para el mensaje multiidioma
{{dynamic_content.translations.section_1[user.language]}}
{{dynamic_content.translations.section_2[user.language]}}
(Recomendado) Sintaxis Liquid con respaldo predeterminado para el mensaje multiidioma
{% assign supported_langs = "en,es,fr,de" | split: "," %}
{% assign lang = user.language | default: "en" %}

{% unless supported_langs contains lang %}
  {% assign lang = "en" %}
{% endunless %}

{{ dynamic_content.translations.section_1[lang] | default: "Hello" }}
{{ dynamic_content.translations.section_2[lang] | default: "Thanks for shopping with us..." }}
Editor de correo electrónico de OneSignal con sintaxis Liquid para Contenido dinámico multiidioma
Use Liquid con respaldo default para actualizar líneas de asunto, preencabezados, etiquetas de botones y URLs.

Usar HTML en celdas CSV (solo correo electrónico)

Puede incluir marcado HTML directamente en celdas CSV para inyectar contenido enriquecido en correos electrónicos. Esto es útil para intercambiar secciones enteras de un correo electrónico — como banners, CTAs o bloques con estilo — según las propiedades del usuario.
promo_banners.csv
campaign_id,banner_html
spring_sale,<div style="background:#4CAF50;padding:16px;text-align:center;"><a href="https://example.com/spring" style="color:#fff;font-size:18px;">Shop the Spring Sale</a></div>
default,<div style="background:#333;padding:16px;text-align:center;"><a href="https://example.com" style="color:#fff;font-size:18px;">See What's New</a></div>
Haga referencia a la celda HTML en su plantilla de correo electrónico:
{{ dynamic_content.promo_banners[campaign_id].banner_html | default: "<p>Check out our latest offers</p>" }}
El HTML se renderiza directamente en el cuerpo del correo electrónico, por lo que puede usar cualquier estilo en línea y marcado que los clientes de correo electrónico admitan.
El HTML de las celdas CSV solo es compatible con el correo electrónico. Los canales de push y SMS renderizan el contenido como texto sin formato y no interpretan el marcado HTML.

Referencia

Actualizar plantillas

Vuelva a cargar CSVs a través del panel o use la propiedad dynamic_content de la API de actualización de plantilla.

Caracteres especiales en claves

Notación hash (para claves no alfanuméricas):
{{ dynamic_content.file_name["!the_row!"]["&the_column&"] }}
Notación de puntos (para claves estándar):
{{ dynamic_content.file_name.the_row.the_column }}

Preguntas frecuentes

¿Cómo puedo probar el Contenido dinámico con CSV?

Use correo electrónico para probar múltiples variaciones del mensaje.
  • Use el direccionamiento + en correos electrónicos para probar múltiples variaciones: username+test@example.com.
  • Configure etiquetas siguiendo los ejemplos multiidioma y de personalización de contenido anteriores.
  • Consulte Importar para obtener más información sobre la carga de múltiples usuarios y etiquetas de datos.

¿Cuándo usar Contenido dinámico con CSV vs. otras opciones de personalización?

Use Contenido dinámico con CSV cuando envíe mensajes desde el panel y tenga datos de usuario en un archivo CSV. Para otras formas de agregar contenido dinámico a los mensajes, consulte Personalización de mensajes o Mensajería multiidioma.

Páginas relacionadas

Personalización de mensajes

Descripción general de todas las opciones de personalización disponibles en OneSignal.

Uso de sintaxis Liquid

Referencia completa de sintaxis Liquid para mensajes de OneSignal.

Importar

Cargar datos de usuario y segmentos a OneSignal.

Plantillas

Crear plantillas de mensajes reutilizables.