Aller au contenu principal

Paramètres Avancés de l'Événement Purchase

L'événement Purchase est le signal le plus précieux que vous puissiez envoyer à Meta — il indique à Facebook quels visiteurs ont réellement acheté quelque chose et pour quelle valeur. Pixel Plus vous donne un contrôle précis sur le moment où cet événement se déclenche : uniquement pour les commandes payées, après confirmation d'un virement bancaire, ou même depuis le back office plusieurs jours après la commande. Ce guide explique chaque paramètre et comment ils fonctionnent ensemble.

⚙️ Configuration recommandée pour le suivi des commandes payées uniquement

Si votre objectif est d'envoyer des événements Purchase uniquement pour les commandes payées ou confirmées, utilisez cette configuration :

  1. Activez Suivre uniquement les commandes validées (FCTP_PURCHASE_VALID_ONLY)
  2. Ajoutez les statuts clairement invalides aux Statuts de commande à exclure (FCTP_ORDER_STATUS_EXCLUDE) — par exemple, Erreur de paiement et Annulé
  3. Définissez une Limite de validation pour les commandes non validées de 7 jours (FCTP_ORDER_DELAY_LIMIT_DAYS) — la valeur par défaut convient
  4. Activez Utiliser les cookies pour prévenir les doublons de conversion (FCTP_COOKIE_CONTROL)
  5. Laissez Forcer le mode basique de l'événement Purchase décoché pour tous les modules de paiement, sauf si un module spécifique n'est pas correctement suivi

Avec cette configuration, Pixel Plus ne suit que les commandes qui atteignent un statut payé ou validé, et ignore les commandes en attente, échouées ou incomplètes.


🔄 Fonctionnement du suivi des commandes

Pixel Plus prépare l'événement Purchase lors du hook actionValidateOrder de PrestaShop — au moment de la création de la commande. La suite dépend de vos paramètres :

ParamètreCléDéfaut
Suivre uniquement les commandes validéesFCTP_PURCHASE_VALID_ONLYDésactivé
Statuts de commande à exclureFCTP_ORDER_STATUS_EXCLUDEAucun
Limite de validation pour commandes non validéesFCTP_ORDER_DELAY_LIMIT_DAYS7 jours
Forcer le mode basique (par module de paiement)FCTP_FORCE_BASIC_MODE_LISTAucun
Utiliser les cookies pour prévenir les doublonsFCTP_COOKIE_CONTROLDésactivé

Tous les modes de paiement ne fonctionnent pas de la même façon. Les paiements par carte valident la commande immédiatement ; les virements bancaires créent d'abord la commande et confirment le paiement ensuite. Ces paramètres vous permettent de gérer les deux correctement.


✅ Suivre uniquement les commandes validées

Clé de configuration : FCTP_PURCHASE_VALID_ONLY

Ce paramètre contrôle si Pixel Plus attend qu'une commande soit confirmée avant d'envoyer l'événement Purchase.

« Validée » signifie que le flag interne logable de PrestaShop sur le statut de commande est true. Des statuts comme « Paiement accepté » sont logable ; des statuts comme « En attente de virement bancaire » ne le sont pas.

Lorsqu'activé : Seules les commandes dont le statut initial est logable sont suivies immédiatement. Les commandes non logable sont sauvegardées dans une liste d'attente avec le contexte navigateur du client (IP, user agent, _fbp, _fbc, URL). Quand le marchand change le statut de la commande en logable, Pixel Plus envoie l'événement Purchase via CAPI en utilisant le contexte sauvegardé.

Lorsque désactivé : Toutes les commandes sont suivies immédiatement, sauf celles dans la liste des statuts exclus.


⏳ Modes de paiement différé

Virement bancaire, chèque, paiement à la livraison et certains modules de paiement personnalisés créent une commande avant que le paiement soit confirmé.

Lorsque Suivre uniquement les commandes validées est activé et qu'un de ces modes de paiement est utilisé, la commande n'est pas suivie immédiatement. Pixel Plus la sauvegarde dans une liste d'attente (FCTP_ORDER_DELAYED_LIST). Quand le marchand marque la commande comme payée, le hook actionOrderStatusPostUpdate se déclenche et Pixel Plus envoie l'événement Purchase via CAPI en utilisant le contexte navigateur sauvegardé.

CAPI uniquement pour les commandes différées

Quand une commande est validée depuis le back office, seul l'événement de l'API Conversions peut être envoyé — le Pixel navigateur requiert que le navigateur du client soit sur la page. Pixel Plus injecte le contexte navigateur sauvegardé dans la requête CAPI pour que l'événement soit attribué correctement.


📅 Limite de validation pour les commandes non validées

Clé de configuration : FCTP_ORDER_DELAY_LIMIT_DAYS · Défaut : 7 jours

Pixel Plus conserve les événements Purchase en attente pendant une durée limitée. Si une commande est validée après ce délai, l'entrée en attente est supprimée et un avertissement est enregistré : "La commande X ne sera pas envoyée via le pixel car le nombre maximum de jours (7) a été dépassé."

Exemple : Un client passe une commande par virement le lundi. Le jeudi, le marchand confirme le paiement. Pixel Plus retrouve la commande dans la liste d'attente, vérifie qu'elle est dans le délai de 7 jours, et envoie l'événement Purchase via CAPI.


🚫 Statuts de commande à exclure

Clé de configuration : FCTP_ORDER_STATUS_EXCLUDE

Bloque des statuts de commande spécifiques pour qu'ils ne génèrent pas d'événement Purchase, quel que soit le paramètre de validation.

Statuts recommandés à ajouter :

  • Erreur de paiement
  • Annulé
  • Paiement échoué
  • Remboursé (si vous ne voulez pas que les remboursements comptent comme des achats)

🔧 Forcer le mode basique de l'événement Purchase

Clé de configuration : FCTP_FORCE_BASIC_MODE_LIST (par module de paiement)

Par défaut, Pixel Plus déclenche l'événement Purchase lors de actionValidateOrder — la création côté serveur de la commande. C'est l'approche la plus fiable.

Le mode basique est un recours pour les modules de paiement qui utilisent un tunnel de commande non standard. Lorsqu'il est activé pour un module de paiement spécifique :

  • Pendant actionValidateOrder : si l'URL actuelle n'est pas la page de confirmation de commande, le hook ne fait rien
  • Pendant displayOrderConfirmation : Pixel Plus déclenche l'événement Purchase du Pixel navigateur quand le client arrive sur la page de confirmation

Utilisez le mode basique uniquement quand un module de paiement n'est pas correctement suivi avec la logique standard de Pixel Plus. Quand vous l'activez pour un module, activez aussi Utiliser les cookies pour prévenir les doublons de conversion — sinon un rechargement de page peut déclencher un événement Purchase en double.


🍪 Utiliser les cookies pour prévenir les doublons de conversion

Clé de configuration : FCTP_COOKIE_CONTROL

Ajoute une vérification côté navigateur avant de déclencher l'événement Purchase. Pixel Plus définit un cookie nommé pp_purchaseSent avec l'ID de commande comme valeur. Si ce cookie existe déjà pour la commande en cours, l'événement n'est pas renvoyé.

Cela protège contre les événements Purchase en double du Pixel navigateur lorsque :

  • La page de confirmation de commande est rechargée
  • Le mode basique est activé pour un module de paiement
  • Une couche de cache sert incorrectement la page de confirmation depuis le cache
Utilisateurs Cloudflare

Cloudflare ne met généralement pas en cache les pages PHP dynamiques. La protection anti-doublons par cookie peut tout de même être activée comme précaution supplémentaire.


💡 Exemples

Paiement par carte (flux standard)

Le client paie par carte. La commande est créée et atteint immédiatement un statut logable (payé). Pixel Plus déclenche l'événement Purchase CAPI immédiatement et met en file d'attente l'événement Pixel navigateur pour la page de confirmation.

Virement bancaire avec « Suivre uniquement les commandes validées » activé

Le client choisit le virement. La commande est créée avec le statut « En attente de virement bancaire » (non logable). Pixel Plus sauvegarde la commande dans FCTP_ORDER_DELAYED_LIST avec le contexte navigateur. Trois jours plus tard, le marchand confirme le paiement et Pixel Plus envoie l'événement Purchase via CAPI.

Erreur de paiement

Le client tente de payer mais le paiement échoue. La commande reçoit le statut « Erreur de paiement ». Si ce statut est dans la liste d'exclusion (ou si le suivi validé uniquement est activé), aucun événement Purchase n'est envoyé.


« Suivre uniquement les commandes validées » signifie-t-il que seules les commandes payées sont envoyées ?

Oui. Pixel Plus utilise le flag logable de PrestaShop sur les statuts de commande pour déterminer si une commande est confirmée. Assurez-vous que vos statuts de commande sont correctement configurés — les statuts que vous considérez comme payés doivent avoir logable = true dans PrestaShop.

Des commandes non payées peuvent-elles encore être suivies ?

Oui, dans deux cas : si 'Suivre uniquement les commandes validées' est désactivé et que le statut de la commande n'est pas dans la liste d'exclusion, ou si une commande différée (virement, etc.) est ensuite validée par le marchand dans le délai autorisé.

Dois-je exclure manuellement les statuts non payés ?

Si 'Suivre uniquement les commandes validées' est activé, les statuts non logable sont déjà bloqués. Exclure des statuts clairement invalides comme Erreur de paiement ou Annulé reste utile comme couche de sécurité supplémentaire. Si le suivi validé uniquement est désactivé, vous devez exclure manuellement chaque statut que vous ne voulez pas suivre.

Dois-je activer la protection anti-doublons par cookie ?

Oui, dans la plupart des cas. C'est particulièrement recommandé quand le mode basique est activé pour un module de paiement. Cela ajoute une couche secondaire contre les événements Pixel navigateur en double sans aucun inconvénient.

Quand dois-je activer le mode basique pour un module de paiement ?

Uniquement quand ce module de paiement n'est pas correctement suivi avec la logique standard de Pixel Plus. Si vous l'activez, activez aussi Utiliser les cookies pour prévenir les doublons de conversion.

Que se passe-t-il si une commande différée n'est pas validée dans le délai ?

Pixel Plus supprime l'entrée en attente et enregistre un avertissement dans le système de logs de PrestaShop. Aucun événement Purchase n'est envoyé pour cette commande.


✅ Liste de Vérification Finale

  • Décidez si vous suivez uniquement les commandes validées ou toutes les commandes — activez FCTP_PURCHASE_VALID_ONLY en conséquence
  • Ajoutez les statuts invalides (Erreur de paiement, Annulé, Remboursé) aux Statuts de commande à exclure
  • Définissez la limite de validation selon votre fenêtre habituelle de confirmation de paiement (7 jours par défaut)
  • Activez Utiliser les cookies pour prévenir les doublons de conversion (FCTP_COOKIE_CONTROL)
  • Laissez Forcer le mode basique décoché sauf si un module de paiement spécifique n'est pas correctement suivi
  • Si vous activez le mode basique pour un module de paiement, activez aussi la protection anti-doublons par cookie

🆘 Besoin d'aide ?

En relation