Descripción general
El Contenido dinámico le permite personalizar mensajes a escala, sin crear versiones separadas para cada audiencia. Ya sea que esté enviando mensajes multiidioma o adaptando contenido por región o campaña, el Contenido dinámico le permite definir un mensaje que se ajusta automáticamente para cada usuario. Puede hacer esto cargando un archivo CSV o usando programáticamente nuestras APIs de plantillas con datos que contienen variaciones de contenido y referenciando esos valores en su mensaje usando Sintaxis Liquid. Cuando se envía un mensaje, OneSignal extrae el contenido apropiado para cada usuario según sus Etiquetas de datos. El Contenido dinámico funciona en Push, Correo electrónico y SMS, lo que lo hace ideal para:- Flujos de incorporación o marketing multiidioma
- Promociones específicas por región o segmento
- Personalización impulsada por datos de campañas externas
- Personalización a escala – Entregue experiencias personalizadas sin crear y administrar docenas de variantes de mensajes.
- Soporte multiidioma – Escriba un mensaje que se muestre automáticamente en el idioma preferido de cada usuario.
- Segmentación dinámica – Cambie el contenido del mensaje según las propiedades del usuario como idioma, región, plan o etiquetas personalizadas como campaign_id.
- Colaboración sin fricción – Permita que traductores o equipos no técnicos creen y editen el contenido del mensaje directamente en archivos CSV, sin necesidad de inicio de sesión en OneSignal.
- Compatibilidad entre canales – Use la misma lógica CSV en campañas de Push, Correo electrónico y SMS.
- Anuncios de eventos por país o ciudad
- Notificaciones push personalizadas basadas en ID de campaña o historial de compras
- Prueba de múltiples líneas de asunto o mensajes en grupos de usuarios
Consulte Personalización de mensajes para más opciones sobre cómo personalizar sus mensajes.
Configuración de Contenido dinámico
Cree un nuevo mensaje o plantilla. Desde el panel: Seleccione Dynamic Content.- Cargue un archivo CSV que mapee el contenido del mensaje a las Etiquetas de datos.
dynamic_content.
- Gran solución si su contenido dinámico cambia con frecuencia.

Formatee su contenido
Puede comenzar con un archivo en blanco o elegir una de las plantillas proporcionadas:- Multi-language
- Content personalization

Para detalles de API, consulte:
Requisitos de CSV
- El tamaño del archivo debe ser inferior a
200 KB - Encabezados de columna:
- Solo alfanuméricos
- Use guiones bajos (
_) en lugar de espacios - Evite caracteres especiales
- Asegure la codificación UTF-8 en su editor de hojas de cálculo
- Multi-language Example
- Content Personalization Example
Mapee la propiedad 
subscription.language a diferentes traducciones por sección.
Referenciar Contenido dinámico en mensajes
Para mostrar contenido personalizado desdedynamic_content, use esta sintaxis Liquid.
file_name: Nombre del archivo CSV (sin.csv).section_name: Valor en la primera columna de la filadata_tag_or_property: Encabezado de columna que coincide con una Etiqueta de datos o propiedad de suscripción
Contenido de respaldo
Agregar contenido de respaldo evitará que los usuarios reciban contenido en blanco. Garantiza que su mensaje se renderice cuando:- un usuario no tiene una etiqueta o propiedad coincidente.
- un usuario tiene una etiqueta o propiedad que no está disponible en
dynamic_content.
El usuario no tiene una etiqueta o propiedad coincidente
Sisubscription.language no existe, referencie la columna predeterminada de dynamic_content en su lugar.
El usuario tiene una etiqueta o propiedad que no está disponible en dynamic_content
Si subscription.language existe en una suscripción, pero no en dynamic_content, referencie la columna predeterminada en su lugar.
Ejemplos
Correo electrónico multiidioma
Usetranslations.csv para localizar su correo electrónico:
{{dynamic_content.translations.section_1[subscription.language]}}{{dynamic_content.translations.section_2[subscription.language]}}

Mensaje push personalizado
Usecontent_personalization_template.csv para mensajes push específicos del usuario. La etiqueta campaign_id de cada usuario determina qué fila usar.
Requisito previo: Cada usuario debe tener una Etiqueta de datos llamada
campaign_id. En el momento del envío, OneSignal usa el valor campaign_id del usuario para seleccionar la fila coincidente en su CSV.Formato CSV (filas codificadas por campaign_id)
-
La primera columna (
campaign_id) es la clave de fila que debe coincidir con el valor de la etiquetacampaign_iddel usuario. -
Las otras columnas (
title,message,url) son los campos que insertará en el push. -
Incluya una fila
defaultpara que los valores sin etiquetar o desconocidos aún rendericen contenido válido.
Cómo el Liquid se mapea al CSV
-
content_personalization_template→ el nombre del archivo CSV (omita.csv). -
[campaign_id]→ selecciona la fila cuyo valor de primera columna es igual a la etiquetacampaign_iddel usuario. -
.title/.message/.url→ devuelve la columna elegida de esa fila.
Ejemplo de respaldo (recomendado)
Reglas de encabezado: Prefiera alfanuméricos/guiones bajos (por ejemplo,
campaign_id, title). Si debe usar espacios o caracteres especiales, acceda con notación hash: 
Probar y previsualizar
Crear un CSV de prueba
Prueba multiidioma:

- Columnas:
email,language
- Columnas:
external_id,campaign_id

Use direccionamiento
+ en correos electrónicos para probar múltiples variaciones: [email protected]
Cargar su segmento de prueba
Vaya a Subscriptions o Segments > Upload/Import Users.Establezca la primera columna como el identificador. Todas las demás columnas se tratan como propiedades de usuario o Etiquetas de datos.

Consulte Import para más información sobre cómo cargar datos de usuario.
Ver el mensaje
Después de enviar sus mensajes de prueba, revise sus bandejas de entrada o dispositivos para verificar la visualización.

Si
dynamic_content no se está renderizando, consulte Contenido de respaldo

Ahora puede escalar la mensajería personalizada usando estas plantillas y CSVs.
Consideraciones de uso
Cuándo usar Contenido dinámico vs. Datos personalizados
- Use Contenido dinámico para idiomas diversos o bloques de mensajes personalizados.
- Use Datos personalizados para personalización en línea simple en un solo idioma.
Editar plantillas
Vuelva a cargar CSVs o use la propiedaddynamic_content de la Update Template API para actualizar.



