PS PrestaShop Intermédiaire

Facebook Dynamic Ads + Pixel PRO — Guide complet

Installer, configurer et exploiter l'export de flux produits (XML & CSV), le pixel Facebook et l'API Conversions sur PrestaShop 8 et 9 : multi pays/langue/devise, exclusions, libellés, sécurité et CRON.

Mis à jour Version du module 2.0.0

Présentation

Facebook Dynamic Ads + Pixel PRO connecte votre catalogue PrestaShop à Facebook et Instagram. Le module exporte un flux produits de haute qualité (XML au format Facebook RSS ou CSV), installe le pixel Facebook sur votre boutique et active l’API Conversions pour un suivi fiable côté serveur. Il génère un flux distinct par combinaison Pays / Langue / Devise, offre un contrôle fin des données exportées (exclusions, libellés personnalisés, mapping des catégories Google) et est conçu pour les catalogues volumineux jusqu’à 200 000 produits.

Compatible PrestaShop 8.0 à 9.x, PHP 7.4 à 8.3, multiboutique et multilingue. cURL est requis pour l’API Conversions. Aucune dépendance Composer en production.

Installation

  1. Dans votre back-office, ouvrez Modules → Gestionnaire de modules → Installer un module.
  2. Uploadez le fichier dffbadspixel.zip.
  3. Le module s’installe et crée automatiquement ses tables (dffbadspixel_exclusion, dffbadspixel_label, dffbadspixel_capi_queue) ainsi que l’onglet d’administration Facebook Dynamic Ads + Pixel.

Un jeton de sécurité (token) unique est généré à l’installation. Il sécurise les URLs du flux et du CRON, et s’affiche dans l’onglet URLs & CRON du module.

Onglet Flux produits

C’est le cœur du module. Vous y choisissez le format et le mode de génération, la sélection des produits et le détail des données exportées.

Format et génération

  • Format — XML (Facebook RSS + namespace Google), CSV, ou les deux.
  • Mode de générationÀ la volée (streaming à chaque appel de l’URL) ou CRON (fichiers mis en cache, recommandé pour les gros catalogues).
  • Compression gzip, taille de lot (chunking) et pays activés uniquement pour optimiser les performances.

Sélection et granularité

  • Exporter par catégorie ou par marque, avec sélection fine (un champ de filtre facilite la recherche dans la liste).
  • Granularité par produit ou par déclinaison.
  • Construction de l’ID de flux : ID back-office (avec option langue et/ou déclinaison), référence ou EAN.
  • Type de description (courte/longue), disponibilité (selon le stock ou toujours en stock), couleurs, tailles, images additionnelles ou image de couverture uniquement.

Frais de port, tracking et qualité

  • Frais de port réels calculés via vos transporteurs PrestaShop (zone, plages poids/prix), transporteur de référence ou le moins cher, avec franco de port paramétrable.
  • Paramètres UTM et intégration GA4.
  • Limites qualité : longueurs maximales de titre et de description utilisées par le validateur (onglet Diagnostic).

Exclusions générales

Directement sous l’onglet Flux : exclure les produits hors stock, sans EAN/MPN, ou en dessous d’un prix minimum.

Exclusions avancées

Dans l’onglet Exclusions, ajoutez des règles ciblées pour écarter certains produits du flux. Chaque règle repose sur un type et une valeur :

  • Mot / expression — exclut si le nom ou la description contient le terme.
  • Produit, Déclinaison, Fournisseur — par ID.
  • Valeur de caractéristique ou Attribut — par ID.

Libellés personnalisés et tags vestimentaires

Les libellés personnalisés (custom_label_0 à custom_label_4) enrichissent la segmentation de vos campagnes : nom de catégorie, valeur d’une caractéristique, tranche de prix, ou labels « nouveau » / « meilleure vente ».

L’onglet Tags vestimentaires ajoute les champs Meta dédiés au prêt-à-porter : age_group, gender, ainsi que pattern (motif) et material (matière) mappés sur des caractéristiques produit.

Mapping des catégories & devises

Dans l’onglet Mapping & devises, associez vos catégories PrestaShop aux catégories Google/Facebook :

  • Import CSV au format id_category;google_category (séparateur ; ou ,, en-tête optionnel).
  • Import depuis un autre module DataFirefly installé (version standard, Google Merchant Center, GMC Pro ou TikTok Ads).
  • Suggestion automatique par mots-clés — remplit les correspondances vides à partir du nom de catégorie.
  • Édition manuelle ligne par ligne, avec filtre de recherche.

La table Devise / Pays définit la devise utilisée pour chaque pays lors de la génération des flux multi-pays. Sans association, la devise par défaut de la boutique est utilisée.

Commencez sans mapping catégories : Meta accepte le flux sans google_product_category. Ajoutez-le progressivement sur vos catégories principales pour améliorer la diffusion.

Pixel Facebook

Dans l’onglet Pixel, activez le pixel et renseignez votre ID de pixel. Le module injecte le code de base (PageView) et les événements contextuels : ViewContent, ViewCategory, Search, InitiateCheckout, AddToCart et AddToWishlist.

  • Correspondance avancée (advanced matching) — envoie des informations client supplémentaires, hachées en SHA-256, pour améliorer vos audiences.
  • Sélecteurs HTML personnalisables pour les boutons « liste d’envie » et « commander », utiles si votre thème a modifié le balisage par défaut.
  • Montant Purchase configurable : avec ou sans taxe, avec ou sans frais de port et/ou d’emballage.

API Conversions (asynchrone)

L’API Conversions envoie les événements directement depuis votre serveur et récupère les conversions que le pixel seul ne détecte pas (bloqueurs, cookies). Dans l’onglet API Conversions :

  1. Activez l’API Conversions et collez le token d’accès généré dans votre Business Manager Meta.
  2. Laissez le mode asynchrone activé (recommandé) : les événements sont mis en file d’attente puis envoyés par lots via le CRON, sans ralentir la boutique.
  3. Ajustez la taille de lot et le nombre de tentatives max (retry) si besoin. Un code d’événement test permet de valider l’intégration dans le Business Manager.

Les événements sont dédupliqués avec le pixel navigateur grâce à un event_id partagé (par exemple order-1234 pour un achat). Les données utilisateur sont hachées SHA-256 avant envoi.

URLs du flux et tâche CRON

L’onglet URLs & CRON affiche l’URL de base du flux, l’URL du CRON et la liste des URLs par combinaison Pays / Langue / Devise.

URL du flux

https://votre-boutique.com/index.php?fc=module&module=dffbadspixel&controller=feed&token=VOTRE_TOKEN&id_lang=1&id_currency=1&id_country=8&format=xml

Les paramètres id_lang, id_currency, id_country et format (xml ou csv) sélectionnent le flux à servir. C’est cette URL que vous déclarez comme source de flux dans le catalogue Meta.

Tâche CRON

En mode CRON, programmez l’appel de l’endpoint pour (re)générer les fichiers en cache et vider la file de l’API Conversions :

*/30 * * * * curl -s "https://votre-boutique.com/index.php?fc=module&module=dffbadspixel&controller=cron&token=VOTRE_TOKEN" > /dev/null

Le paramètre optionnel job cible une tâche précise : feeds (génération des flux), capi (envoi de la file API Conversions) ou all (défaut). La réponse est un récapitulatif texte.

Diagnostic : aperçu et validation

L’onglet Diagnostic réunit deux outils :

  • File d’attente API Conversions — nombre d’événements en attente, en échec et envoyés.
  • Aperçu & validation du flux — génère un échantillon XML et un rapport qualité signalant les lignes problématiques : image manquante, GTIN invalide (vérifié par chiffre de contrôle), titre ou description trop longs, identifiant produit insuffisant.

Sécurité

Dans l’onglet Sécurité :

  • Liste d’IP autorisées — restreint l’accès au flux et au CRON à certaines adresses ou plages CIDR (par exemple les serveurs Meta). Vide = aucune restriction.
  • Rotation du token — régénère le token des URLs. L’ancien reste toléré jusqu’à invalidation, le temps de mettre à jour vos flux dans Meta.

Après une rotation de token, pensez à mettre à jour vos sources de flux dans le Business Manager, puis à invalider l’ancien token depuis l’onglet Sécurité pour fermer la fenêtre de transition.

Dépannage

Le flux renvoie « Forbidden »

Le token est absent, incorrect, ou l’IP appelante n’est pas dans la liste autorisée. Vérifiez le token dans l’onglet URLs & CRON et videz la liste d’IP autorisées le temps du test.

Le flux est vide ou incomplet

Vérifiez la sélection de catégories/marques (vide = tout le catalogue), les règles d’exclusion, et le stock si l’exclusion « hors stock » est active. En mode CRON, lancez d’abord la tâche job=feeds pour générer le cache.

Les événements API Conversions n’arrivent pas dans Meta

Assurez-vous que cURL est disponible, que le token d’accès est valide, et exécutez la tâche job=capi. Suivez la file dans l’onglet Diagnostic ; les erreurs sont journalisées dans Paramètres avancés → Logs avec le préfixe [dffbadspixel].

Le pixel ne se déclenche pas sur un bouton

Si votre thème a modifié le balisage, ajustez les sélecteurs HTML « liste d’envie » et « commander » dans l’onglet Pixel.

Bonnes pratiques

  • Utilisez le mode CRON + gzip pour les catalogues volumineux : la génération à la volée reste possible mais plus coûteuse à chaque appel.
  • Activez pixel et API Conversions ensemble : la déduplication par event_id évite le double comptage tout en améliorant la couverture.
  • Renseignez le mapping des catégories Google et les GTIN pour maximiser l’éligibilité de vos produits aux placements Advantage+ et Shopping.
Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support