Passer au contenu principal

Vue d’ensemble

OneSignal fournit plusieurs façons de personnaliser le contenu des messages à grande échelle. Ce guide se concentre sur l’utilisation de la fonctionnalité de contenu dynamique avec téléchargement CSV disponible dans le tableau de bord OneSignal pour les push, e-mails et SMS. Avantages clés :
  • Utilisez un CSV pour personnaliser à grande échelle – Un message, des expériences personnalisées pour tous
  • Support multilingue – Changement de langue automatique par utilisateur
  • Segmentation dynamique – Le contenu s’adapte aux propriétés de l’utilisateur (langue, région, ID de campagne)
  • Collaboration en équipe – Les utilisateurs non techniques modifient le contenu dans les fichiers CSV
  • Compatibilité multicanal – Réutilisez la logique CSV entre les canaux
Cas d’usage courants :
  • Intégration ou marketing multilingue
  • Promotions spécifiques par région
  • Annonces d’événements par lieu
  • Personnalisation basée sur les campagnes

Étapes de configuration du contenu dynamique avec CSV

Référence rapide :
  1. Créez un fichier CSV avec vos variations de contenu.
  2. Mappez les données CSV au message en utilisant la propriété dynamic_content dans la syntaxe Liquid.
  3. Créez un nouveau message ou modèle depuis le tableau de bord OneSignal.
  4. Sélectionnez le bouton Contenu dynamique ou Personnalisation.
  5. Téléchargez le fichier CSV et envoyez le message.

Exigences et configuration CSV

  • Taille du fichier : Moins de 200 Ko
  • En-têtes de colonne :
    • Réservez le premier en-tête de colonne pour la clé de balise ou laissez vide pour référencer des sections
    • Caractères alphanumériques et underscores uniquement
    • Utilisez des underscores (_) au lieu d’espaces
  • Encodage : UTF-8
Commencez avec un CSV vierge ou utilisez un modèle fourni. Les modèles sont fournis lors de la sélection du bouton Contenu dynamique ou Personnalisation dans les éditeurs de messages et de modèles.
Modèles disponibles :
  • Multilingue – Localisez le contenu par langue
  • Personnalisation du contenu – Personnalisez le contenu par balises de données

Exemples de CSV

Ce guide utilisera les exemples de données CSV suivants.
  • Mappez les en-têtes de colonne à vos codes de langue pris en charge.
  • Ajoutez vos traductions à chaque ligne pour chaque code de langue.
  • Si vous avez plusieurs sections (comme dans un e-mail), désignez la première colonne comme le nom de la section.
Dans cet exemple :
  • Nous avons 3 langues : anglais, espagnol et français.
  • Nous avons 2 sections : « section_1 » et « section_2 ».

Mapper les données CSV au contenu du message

En utilisant la syntaxe Liquid, référencez les données CSV dans votre message en utilisant la propriété dynamic_content :
{{dynamic_content.file_name.message_component[user_property]}}
ou
{{dynamic_content.file_name[user_property].message_component}}
Paramètres :
  • dynamic_content – Le nom de la propriété utilisé pour référencer les données CSV
  • file_name – Nom du fichier CSV (sans extension .csv)
  • message_component – Le composant de message spécifique que vous souhaitez personnaliser. C’est le texte statique dans l’en-tête de colonne CSV ou la première ligne.
  • user_property – La propriété utilisateur que vous souhaitez référencer.
Contenu de secours : Utilisez toujours des secours de chaîne default codés en dur pour vous assurer que les messages s’affichent si la recherche CSV ou le contenu dynamique échoue.
Syntaxe Liquid pour le secours
{{ dynamic_content.my_template.header[user.language] | default: "Bienvenue dans notre dernière mise à jour" }}
Cela signifie que si la recherche CSV ou le contenu dynamique échoue, le message affichera le texte de secours "Bienvenue dans notre dernière mise à jour". Cela garantit :
  • Le contenu dynamique est utilisé lorsqu’il est disponible
  • Un message codé en dur apparaît si le contenu dynamique échoue
  • Les utilisateurs ne reçoivent jamais de contenu vide
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...
  • Le file_name est translations.csv.
  • Le message_component est dans les lignes de la première colonne section_1 et section_2.
  • Le user_property est l’en-tête de colonne correspondant au code de langue. Nous pouvons le référencer sur l’utilisateur avec la propriété user.language.
Syntaxe Liquid de base pour le message multilingue
{{dynamic_content.translations.section_1[user.language]}}
{{dynamic_content.translations.section_2[user.language]}}
(Recommandé) Syntaxe Liquid avec secours par défaut pour le message multilingue
{% 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..." }}
Utilisez Liquid avec secours default pour mettre à jour les lignes d’objet, les pré-en-têtes, les étiquettes de boutons et les URL.

Considérations d’utilisation

Comment puis-je tester le contenu dynamique avec CSV ?

Nous recommandons d’utiliser l’e-mail pour tester plusieurs variations du message.
  • Vous pouvez utiliser l’adressage + dans les e-mails pour tester plusieurs variations : username+test@example.com
  • Définissez les balises en suivant les exemples multilingues et de personnalisation de contenu ci-dessus.
  • Voir Import pour plus d’informations sur le téléchargement de plusieurs utilisateurs et balises de données.

Quand utiliser le contenu dynamique avec CSV vs. d’autres options de personnalisation

  • Utilisez le contenu dynamique avec CSV si vous envoyez des messages depuis le tableau de bord et avez accès aux données utilisateur avec un fichier CSV.
  • Pour d’autres options d’ajout de contenu dynamique aux messages, consultez Personnalisation des messages ou les options de messagerie multilingue.

Mise à jour des modèles

Retéléchargez les CSV via le tableau de bord ou utilisez la propriété dynamic_content de l’API de mise à jour de modèle.

Caractères spéciaux dans les clés

Notation hash (pour les clés non alphanumériques) :
{{ dynamic_content.file_name["!the_row!"]["&the_column&"] }}
Notation par points (pour les clés standard) :
{{ dynamic_content.file_name.the_row.the_column }}

Articles connexes