Smart Content – Documentation
Installer, configurer et exploiter Smart Content : segments, campagnes, A/B testing, IA et statistiques.
Présentation
DataFirefly Smart Content personnalise le contenu de votre boutique PrestaShop selon le profil, le comportement, le panier et le contexte de chaque visiteur. Le principe est simple : vous définissez des segments (des audiences), puis des campagnes qui associent un segment à un contenu HTML affiché dans une zone du thème. À chaque page, le module évalue le visiteur et affiche le contenu de la campagne la plus prioritaire dont le segment correspond.
Le module couvre l’ensemble du cycle : segmentation comportementale, diffusion multi-zones, A/B testing, statistiques de conversion et deux assistants IA (génération de contenu et suggestion de segments).
Compatible PrestaShop 1.7.6 à 8.x et 9.x, multiboutique et multilingue. Aucune donnée personnelle n’est stockée.
Installation
- Déposez le dossier
dfsmartcontentdans le répertoire/modules/de votre boutique, ou installez le ZIP depuis Modules → Module Manager → Installer un module. - Cliquez sur Installer. Les tables et les onglets d’administration sont créés automatiquement.
- Un nouveau menu Smart Content apparaît, avec quatre sous-sections : Tableau de bord, Campagnes, Segments et Réglages.
Configuration des réglages
Rendez-vous dans Smart Content → Réglages. Deux familles de paramètres y sont disponibles.
Paramètres IA
- URL du point d’accès IA : l’endpoint de complétion de discussion (compatible OpenAI / Mistral). Valeur par défaut :
https://api.mistral.ai/v1/chat/completions. - Modèle IA : par exemple
mistral-large-latestougpt-4o-mini. - Clé API IA : votre clé, stockée côté serveur et jamais exposée au front. Tant qu’elle est vide, les fonctions IA sont désactivées mais le reste du module fonctionne normalement.
Confidentialité
- Respecter le consentement cookies : activé par défaut. Les balises de suivi (impressions / clics) ne se déclenchent qu’une fois le consentement détecté.
Tout fournisseur exposant un contrat chat completions standard convient. Il suffit d’adapter l’URL et le nom du modèle.
Créer un segment
Un segment est une audience définie par une ou plusieurs règles. Allez dans Smart Content → Segments → Ajouter un segment.
- Nom : un libellé interne (ex. « Clients VIP »).
- Logique de correspondance : Toutes les règles (ET) exige que chaque règle soit vraie ; Au moins une règle (OU) suffit qu’une seule le soit.
- Priorité : les segments de priorité plus élevée sont évalués en premier.
- Règles : ajoutez vos conditions ligne par ligne via le constructeur visuel.
Un segment sans aucune règle correspond à tout le monde : pratique comme audience « par défaut ».
Référence des règles
Chaque règle se compose d’un attribut, d’un opérateur et d’une valeur. Pour les listes, séparez les valeurs par des virgules. Pour les plages (opérateur between), indiquez deux valeurs séparées par une virgule.
customer_group— groupe client (IDs). Opérateurs : in / not_in.logged_in— visiteur connecté (1 ou 0). Opérateur : eq.new_returning—newoureturningselon l’historique de commandes. Opérateur : eq.country— pays (IDs). Opérateurs : in / not_in.language— langue (IDs). Opérateurs : in / not_in.currency— devise (IDs). Opérateurs : in / not_in.device—desktop,tabletoumobile. Opérateur : in.orders_count— nombre de commandes valides. Opérateurs : gte / lte / eq / between.total_spent— total dépensé. Opérateurs : gte / lte / between.days_since_order— jours depuis la dernière commande. Opérateurs : gte / lte / between.cart_total— total du panier courant. Opérateurs : gte / lte / between.cart_has_category— catégorie présente dans le panier (IDs). Opérateur : in.cart_has_product— produit présent dans le panier (IDs). Opérateur : in.newsletter— abonné newsletter (1 ou 0). Opérateur : eq.source_utm— source UTM de la session. Opérateurs : eq / contains.referrer— site référent. Opérateurs : contains / not_contains.hour_range— plage horaire (ex.9,18). Opérateur : between.weekday— jour de la semaine (1 = lundi … 7 = dimanche). Opérateur : in.visits— nombre de visites du visiteur. Opérateurs : gte / lte / eq.
Le panneau « IDs de référence » affiché sous le constructeur liste les identifiants de vos groupes, langues et devises pour vous éviter d’aller les chercher ailleurs.
Exemple — segment « Gros clients à relancer », logique ET : total_spent gte 200 + days_since_order gte 60.
Créer une campagne
Une campagne diffuse un contenu à un ou plusieurs segments dans une zone du thème. Allez dans Smart Content → Campagnes → Ajouter une campagne.
- Nom : libellé interne.
- Zone d’affichage : le hook où le contenu apparaît (voir la liste plus bas).
- Segments ciblés : un ou plusieurs segments. Laissez vide pour cibler tous les visiteurs.
- Priorité : si plusieurs campagnes ciblent la même zone, la plus prioritaire qui correspond gagne.
- A/B testing : activez pour diffuser plusieurs variantes (voir section dédiée).
- Plafond de fréquence : nombre maximal d’impressions par visiteur (0 = illimité), sur une fenêtre exprimée en jours.
- Dates de début / fin : planification optionnelle de la campagne.
- Variantes de contenu : le contenu HTML, éditable par langue.
Zones d’affichage disponibles
displayHome, displayTop, displayNav1, displayBanner, displayWrapperTop, displayWrapperBottom, displayLeftColumn, displayRightColumn, displayFooter, displayProductAdditionalInfo, displayShoppingCartFooter.
A/B testing
Activez l’option A/B testing sur la campagne, puis ajoutez plusieurs variantes. Chaque variante porte un libellé (A, B, …) et un poids. Le module tire une variante au sort à chaque affichage, proportionnellement aux poids. Sans A/B testing, la première variante active est utilisée.
Le contenu de chaque variante est saisi par langue. Le tableau de bord compare ensuite les performances de chaque variante (impressions, CTR, CVR, CA).
Pour un test 50/50, donnez le même poids (par exemple 1 et 1) aux deux variantes. Pour orienter 70/30, utilisez 7 et 3.
Générateur de contenu IA
Dans l’éditeur de campagne, le panneau Générateur de contenu IA rédige un bloc HTML orienté conversion. Renseignez le nom du segment, une description de l’audience, l’objectif du message et le ton, choisissez la langue, puis cliquez sur Générer. Le contenu produit est inséré dans la zone de texte de la variante / langue active.
Cette fonction nécessite une clé API renseignée dans les Réglages.
Suggestion de segments IA
Depuis Smart Content → Segments, le bouton Suggestions de segments par IA ouvre une page qui résume les statistiques réelles de votre boutique (clients actifs, commandes, acheteurs récurrents, abonnés newsletter…). Cliquez sur Générer des suggestions : l’IA propose 3 à 5 segments à forte valeur, chacun accompagné d’une description, d’une justification et d’un jeu de règles prêtes à recopier dans le formulaire de création.
Tableau de bord et statistiques
Smart Content → Tableau de bord agrège les performances sur la période choisie : impressions, clics et taux de clic (CTR), conversions et taux de conversion (CVR), et chiffre d’affaires attribué. Un tableau détaille les résultats par campagne, et un second la comparaison des variantes A/B.
Comment les conversions sont attribuées
Au clic sur un bloc personnalisé, la dernière interaction (campagne, variante, segment) est mémorisée dans le cookie de session. À la validation d’une commande, le module crédite la conversion et son chiffre d’affaires à cette campagne, puis efface l’attribution pour éviter tout double comptage.
Confidentialité et RGPD
- Aucune donnée personnelle n’est stockée : le suivi repose sur un identifiant visiteur anonyme (un hash), utilisé pour le plafond de fréquence et la déduplication.
- L’option Respecter le consentement cookies conditionne le déclenchement des mesures. Les signaux reconnus :
window.dfscConsentGranted = true, ou les cookieshideBanner=1,axeptio_authorized,cookieconsent_status=allow. - Pour brancher votre propre CMP, positionnez
window.dfscConsentGrantedàtrueune fois le consentement obtenu.
Insertion via widget
Le module implémente l’interface widget de PrestaShop. Vous pouvez donc insérer un bloc directement dans un template :
{widget name='dfsmartcontent' hook='displayHome'}
Le paramètre hook indique quelle zone évaluer.
FAQ et dépannage
Mon bloc ne s’affiche pas
Vérifiez que la campagne est active, que sa zone correspond bien à un hook présent dans votre thème, qu’au moins une variante possède du contenu pour la langue courante, et que le visiteur correspond bien à un segment ciblé. Si un plafond de fréquence est atteint, le bloc n’est plus affiché à ce visiteur sur la fenêtre définie.
Les statistiques restent à zéro
Si l’option de consentement est active, les balises ne se déclenchent qu’après accord. Vérifiez que votre bannière cookies émet l’un des signaux reconnus, ou positionnez window.dfscConsentGranted.
Les fonctions IA renvoient une erreur
Assurez-vous que la clé API, l’URL et le modèle sont corrects dans les Réglages, et que votre serveur peut joindre l’endpoint en sortie.