Saltar al contenido principal

Descripción general

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
  • Segmentació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
  • 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.
Plantillas disponibles:
  • Multiidioma – Localice el contenido por idioma
  • Personalización de contenido – Personalice el contenido por etiquetas de datos

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.
En este ejemplo:
  • Tenemos 3 idiomas: inglés, español y francés.
  • Tenemos 2 secciones: “section_1” y “section_2”.

Mapear datos CSV al contenido del mensaje

Usando sintaxis Liquid, haga referencia a los datos CSV en su mensaje usando la propiedad dynamic_content:
{{dynamic_content.file_name.message_component[user_property]}}
o
{{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..." }}
Use Liquid con respaldo default para actualizar líneas de asunto, preencabezados, etiquetas de botones y URLs.

Consideraciones de uso

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

Recomendamos usar correo electrónico para probar múltiples variaciones del mensaje.
  • Puede usar 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 Import 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 si está enviando mensajes desde el panel y tiene acceso a datos de usuario con un archivo CSV.
  • Para otras opciones de agregar contenido dinámico a los mensajes, consulte Personalización de mensajes u opciones de Mensajería multiidioma.

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 }}

Artículos relacionados