Toute personne qui vend avec PrestaShop connaît le Facebook Pixel. Moins de marchands savent que TikTok, Pinterest et Snapchat proposent chacun leur propre système de suivi, presque identique, et que l'ajouter à une boutique PrestaShop n'a rien à voir avec l'ajouter à une boutique Shopify ou WordPress, car PrestaShop ne possède pas de champ "collez votre pixel ici" dans le back-office. Ce guide traite strictement de la partie suivi : ce qu'est chacun de ces trois pixels, où placer concrètement le code dans PrestaShop, comment déclencher les événements e-commerce qui comptent vraiment (un achat, pas seulement une vue de page), et comment le faire sans plomber votre score PageSpeed ni enfreindre le RGPD. Si vous hésitez encore à savoir si une plateforme donnée mérite votre temps comme canal de vente, c'est une autre question, nous l'abordons pour TikTok ici et Pinterest ici. Cet article part du principe que vous avez déjà décidé de faire de la publicité et qu'il vous faut maintenant une collecte de données propre.

Dernière mise à jour : juin 2026.

Ce que fait réellement un pixel social, et pourquoi il ne vaut rien sans événements

Un "pixel" n'est qu'un petit extrait JavaScript chargé sur vos pages et qui renvoie des informations à la plateforme. Installé seul, il fait une chose : il indique à TikTok ou Pinterest "cette personne a visité votre site", ce qui suffit à créer une audience de reciblage. Mais la valeur ne se trouve pas dans le pixel de base, elle se trouve dans les événements standard ajoutés par-dessus : une vue produit, un ajout au panier, un début de commande et, surtout, un achat finalisé avec le montant de la commande et la devise. Sans ces événements, l'algorithme de la plateforme avance à l'aveugle : il peut montrer votre publicité à des personnes, mais il ne peut pas apprendre qui achète réellement, ni calculer le retour sur dépenses publicitaires. La vraie tâche d'installation dans PrestaShop n'est donc pas "déposer l'extrait de code", c'est "déclencher le bon événement, avec les bonnes données, sur la bonne page".

La mécanique qui consiste à utiliser ces audiences pour retrouver les visiteurs sur le web, plafonds de fréquence, fenêtres d'exclusion, créations publicitaires, relève d'une discipline à part entière ; nous la détaillons dans notre explication du reciblage. Ici, nous nous concentrons uniquement sur l'exactitude des données à la source.

Où placer le code dans PrestaShop (la partie que les plateformes n'expliquent jamais)

TikTok, Pinterest et Snapchat vous fournissent tous un extrait de code en partant du principe que vous pouvez le coller dans le <head> de votre thème. Dans PrestaShop, vous avez trois façons honnêtes de le faire, classées approximativement selon les dégâts qu'elles risquent de provoquer lors de la prochaine mise à jour :

MéthodeOù elle se trouveRésiste à une mise à jour du thème ou du cœur ?Peut-elle déclencher des événements d'achat ?
Modifier le template du thèmethemes/your-theme/templates/_partials/head.tpl (ou header.tpl)Non, écrasé lors de la mise à jour du thèmeUniquement avec du travail Smarty manuel sur chaque page
Un module personnalisé sur displayHeaderVotre propre mini-module accroché à hookDisplayHeader / hookDisplayFooterOuiOui, vous contrôlez la logique des événements en PHP/JS
Un conteneur Google Tag ManagerUn seul extrait GTM dans le thème ; les pixels sont gérés dans GTMOui (seul GTM vit dans le thème)Oui, via la couche de données (voir ci-dessous)

Alors, que recommander ? Pour un seul pixel que vous modifierez rarement, un petit module personnalisé accroché à displayHeader est la solution la plus propre : il résiste aux mises à jour et peut lire la commande pour renseigner les données d'achat. Dès que vous utilisez deux pixels ou plus, passez à Google Tag Manager, un conteneur dans le thème, chaque pixel géré depuis l'interface web de GTM, et plus besoin de modifier le thème pour ajouter la plateforme suivante. Ce qui permet à GTM de fonctionner correctement avec PrestaShop, c'est la couche de données : vous poussez le contenu du panier et, sur la page de confirmation de commande, le total et l'identifiant de commande dans window.dataLayer, puis chaque pixel lit ces informations. C'est ce qui transforme un pixel "quelqu'un a visité" en pixel "quelqu'un a dépensé 84,50 €".

Déclencher l'événement d'achat de manière fiable

L'événement que vous ne pouvez pas vous permettre de rater est l'achat : il doit se déclencher une seule fois, sur la vraie page de confirmation de commande, avec le montant réel. Dans PrestaShop, cette page est servie par le OrderConfirmationController, et le hook correct auquel se rattacher est displayOrderConfirmation, il vous transmet le véritable objet Order, ce qui vous permet de lire $order->total_paid et la référence de commande directement depuis la base de données, plutôt que de faire confiance à une valeur JavaScript qu'un rafraîchissement pourrait compter deux fois. Déclencher l'événement sur les étapes précédentes du contrôleur de commande, ou sur une page CMS de remerciement, est exactement comme cela que des boutiques finissent par déclarer deux fois plus de chiffre d'affaires qu'elles n'en ont réellement généré, puis se demandent pourquoi leur ROAS ressemble à une fiction.

Tout aussi important : le pixel ne doit pas se déclencher avant que le visiteur ait accepté les cookies marketing. Le schéma qui respecte ces deux règles, déclencher une seule fois, sur la page de confirmation, et uniquement avec consentement, ressemble à ceci pour le pixel TikTok (les versions Pinterest et Snapchat ont la même structure, avec leurs propres noms d'événements et leur propre objet global) :

{* themes/your-theme/templates/.../order-confirmation, rendered server-side with the real Order *}
<script>
(function () {
  // 1. Only fire if the visitor accepted marketing cookies.
  function hasMarketingConsent() {
    if (window.MPRCR && typeof window.MPRCR.isGranted === 'function') {
      return !!window.MPRCR.isGranted('marketing');
    }
    return false; // no consent layer answer yet → treat as not granted
  }

  if (!hasMarketingConsent() || !window.ttq) return;

  // 2. Values come from the trusted Order object server-side, not from JS state.
  ttq.track('CompletePayment', {
    value: {$order_total_paid|floatval},      // $order->total_paid
    currency: '{$currency_iso|escape:'javascript'}',
    content_type: 'product',
    contents: {$order_contents_json nofilter}  // array of {content_id, quantity, price}
  }, {
    // 3. Stable event_id keyed on the order → de-dupes against the server-side Events API.
    event_id: 'order_{$order_id|intval}'
  });
})();
</script>

Trois éléments rendent cet extrait correct, et non dangereux à copier-coller : il est protégé par une vraie vérification du consentement (TikTok expose aussi ttq.holdConsent() / ttq.grantConsent() dans le même objectif) ; la valeur et la référence de commande sont injectées depuis l'objet Order rendu côté serveur, donc un rafraîchissement de page ne peut pas fabriquer un deuxième achat ; et le event_id est basé sur l'identifiant de commande, de sorte que lorsque vous ajouterez plus tard l'Events API côté serveur, la plateforme pourra dédupliquer l'événement navigateur et l'événement serveur au lieu de compter les deux.

Les trois pixels, et ce pour quoi chacun est réellement utile

Maquette de tableau de bord TikTok Pixel Events avec identifiant de pixel, événements serveur, qualité de correspondance, dernière synchronisation et un tableau de statut des événements
La maquette de tableau de bord liste des événements du pixel TikTok comme Purchase, AddToCart, ViewContent, InitiateCheckout et Search.

Le schéma d'installation est identique pour les trois ; ce qui change, c'est le vocabulaire des événements et le comportement que chaque plateforme est conçue pour capter. Choisissez le pixel en fonction de votre catalogue, pas de l'effet de mode.

PlateformeÉvénements e-commerce principauxCe pour quoi elle se distingue vraimentUtile quand…
TikTok PixelViewContent, AddToCart, InitiateCheckout, CompletePaymentUtiliser les événements du pixel pour optimiser la diffusion et créer des audiences similaires et personnalisées, même si, comme sur toute plateforme, les résultats dépendent de votre volume d'événements et de l'adéquation produit-marchéProduits visuels propices à l'achat d'impulsion ; audience majoritairement sous les 35 ans
Pinterest Tagpagevisit, viewcategory, addtocart, checkoutCapter des parcours de découverte et de planification plus longs, les utilisateurs enregistrent maintenant et achètent des semaines plus tard, un chemin que d'autres pixels peuvent manquer ; comparez les vrais paramètres d'attribution dans chaque compte publicitaireAchats aspirationnels ou planifiés : décoration, mode, mariage, DIY, alimentation
Snapchat PixelPAGE_VIEW, VIEW_CONTENT, ADD_CART, PURCHASEAtteindre les plus jeunes acheteurs, avec souvent des impressions moins chères que Meta ou TikTok sur cette trancheUne audience réellement Gen Z sur des marchés où Snapchat reste utilisé quotidiennement (États-Unis, Royaume-Uni, France, Moyen-Orient)

Notez que les noms d'événements ne sont pas interchangeables. Ceux de Pinterest sont en minuscules, ceux de Snapchat en majuscules avec underscores, ceux de TikTok en camelCase, donc un copier-coller d'une plateforme à l'autre échoue silencieusement. C'est exactement le genre de détail pénible, propre à chaque plateforme, qui plaide pour une gestion dans GTM plutôt que pour quatre extraits presque identiques, mais pas tout à fait, codés à la main dans votre thème.

Côté serveur : l'Events API (fortement recommandé dès que vos dépenses deviennent significatives)

Les pixels côté navigateur perdent en précision chaque année, bloqueurs de publicité, prévention du suivi de Safari et refus de consentement réduisent tous ce que le pixel JavaScript peut voir. Les trois plateformes proposent désormais un équivalent côté serveur qui envoie les mêmes événements directement de votre serveur vers le leur : la TikTok Events API, la Pinterest Conversions API et la Snap Conversions API. Dans PrestaShop, l'endroit naturel pour les appeler est le même hook displayOrderConfirmation (ou une surcharge de module autour de validateOrder) où vous disposez déjà de l'objet Order fiable, vous envoyez une requête PHP cURL à l'API de la plateforme avec le montant de la commande, l'e-mail client haché et un identifiant d'événement identique à celui de l'événement navigateur, afin que la plateforme puisse dédupliquer les deux. Le bénéfice, simplement : un achat que le pixel navigateur a manqué (bloqué, ou parce que le client a fermé l'onglet avant son chargement) arrive quand même à la plateforme ; vos ventes déclarées, et donc l'apprentissage de l'algorithme, cessent de fuir. La mise en place demande plus de travail, mais dès que vous investissez sérieusement sur ces canaux, elle est fortement recommandée : c'est la différence entre optimiser sur des données complètes et optimiser sur une part réduite et variable des événements navigateur.

Empêcher trois traceurs de ruiner votre PageSpeed

Chaque pixel ajouté, c'est davantage de JavaScript sur chaque page, alors que les boutiques PrestaShop se battent déjà pour garder leurs Core Web Vitals dans le vert. Empiler trois pixels plus un gestionnaire de balises est un moyen très simple d'ajouter des centaines de millisecondes au chargement, et une boutique lente perd précisément les clients que vous payez pour acquérir. Gardez le contrôle :

  • Chargez les pixels via GTM, de façon asynchrone. Un seul conteneur GTM asynchrone est bien plus léger que trois extraits synchrones séparés collés dans le head.
  • Différez les pixels non critiques. Un pixel n'a pas besoin de se déclencher au premier rendu. Le lancer au premier défilement ou quelques secondes après une interaction garde votre Largest Contentful Paint propre tout en capturant les événements qui comptent.
  • Privilégiez le côté serveur pour l'événement d'achat. Tout ce qui est envoyé via l'Events API ne pèse rien dans le navigateur, déplacer les conversions côté serveur améliore à la fois la précision et retire du JavaScript de la page.
  • Auditez franchement. Si vous avez installé un pixel "au cas où" et que vous n'avez jamais lancé de publicité sur cette plateforme, supprimez-le. Il ne collecte rien que vous utilisez et coûte du temps de chargement à chaque visiteur.

Le consentement d'abord, sinon rien de tout cela n'est légal

Au regard du RGPD, chacun de ces pixels est un fournisseur tiers distinct qui doit être déclaré et conditionné à un consentement marketing valide, et aucun ne peut se déclencher avant l'accord du visiteur. Une configuration PrestaShop conforme signifie que votre bannière de consentement aux cookies liste TikTok, Pinterest et Snapchat individuellement, permet au visiteur d'accepter ou de refuser chacun d'eux, et bloque réellement l'extrait jusqu'à ce que le consentement soit donné, c'est l'autre argument fort en faveur de GTM, car il vous permet de centraliser les déclenchements basés sur le consentement au même endroit, même si chaque balise non Google (TikTok, Pinterest, Snapchat) doit toujours être configurée pour respecter l'état du consentement ; ce n'est pas automatique. En pratique, c'est aussi pour cela que le chargement différé est gratuit : un visiteur non consentant ne déclenche jamais le pixel, il n'en paie donc pas non plus le coût en performance. Mettez correctement en place la couche de consentement une fois, et le reste devient un exercice de configuration plutôt qu'un risque juridique.

Attribution : faites confiance à vos propres chiffres, pas à ceux des plateformes

Installez les trois pixels et vous remarquerez vite quelque chose de gênant : leurs conversions déclarées ne correspondent pas à vos ventes réelles. Un client qui a découvert un produit sur TikTok, l'a enregistré sur Pinterest, puis a finalement acheté après une publicité de reciblage Facebook sera revendiqué par les trois plateformes. La somme des conversions déclarées par les plateformes est donc toujours gonflée. Ne construisez pas votre budget sur ces chiffres. Utilisez les données de commande de PrestaShop comme source unique de vérité et comparez-les à ce que chaque plateforme revendique. Le chiffre d'affaires réel de la boutique se trouve dans votre back-office, et notre module Financial Revolution extrait les chiffres des commandes payées dans des rapports clairs que vous pouvez confronter au ROAS auto-déclaré de chaque canal, afin de financer les plateformes qui génèrent réellement du revenu et de couper discrètement celles qui s'attribuent des ventes qu'elles ont seulement observées. C'est tout l'intérêt d'un suivi bien fait : pas des tableaux de bord flatteurs, mais savoir quel canal mérite d'être alimenté.

Questions fréquentes

Puis-je simplement coller mon code pixel quelque part dans PrestaShop ?

Il n'existe pas de champ natif "collez votre pixel ici". Vos trois options honnêtes sont les suivantes : modifier le head.tpl du thème (perdu à la prochaine mise à jour du thème), créer un petit module personnalisé accroché à displayHeader/displayFooter (résistant aux mises à jour, capable de lire la commande), ou utiliser un conteneur Google Tag Manager (un extrait dans le thème, chaque pixel géré dans GTM). Pour un seul pixel, un module personnalisé est la solution la plus propre ; pour deux pixels ou plus, GTM avec une couche de données passe mieux à l'échelle. Si vous préférez ne pas le construire à la main, il existe des modules PrestaShop dédiés pour chacun, le guide Facebook Pixel couvre celui de Meta, et la même approche (consentement préalable, événement d'achat côté serveur) s'applique à TikTok, Pinterest et Snapchat.

Pourquoi les conversions déclarées par les plateformes ne correspondent-elles pas à mes ventes réelles ?

Parce qu'un seul acheteur passé par TikTok, Pinterest et Facebook avant d'acheter sera revendiqué par les trois. La somme des conversions déclarées par les plateformes est donc toujours gonflée. Ne construisez pas votre budget sur ces chiffres. Utilisez les données de commandes payées de PrestaShop comme source unique de vérité et comparez chaque revendication de plateforme à cette base.

Ai-je légalement besoin d'un consentement avant le déclenchement du pixel ?

Oui. Au titre du RGPD, chaque pixel est un fournisseur marketing distinct qui doit être déclaré et conditionné à un consentement valide, et aucun ne peut se déclencher avant l'accord du visiteur. Une configuration conforme liste TikTok, Pinterest et Snapchat individuellement dans la bannière de consentement et bloque réellement chaque extrait jusqu'à ce que ce consentement spécifique soit donné, ce n'est pas automatique simplement parce que vous les faites passer par GTM ; chaque balise non Google doit toujours être configurée pour respecter l'état du consentement.

L'Events API côté serveur vaut-elle le travail supplémentaire ?

Dès que vos dépenses deviennent significatives, oui. Les pixels navigateur perdent en précision chaque année à cause des bloqueurs de publicité, de la prévention du suivi de Safari et des refus de consentement. La TikTok Events API, la Pinterest Conversions API et la Snap Conversions API envoient les mêmes événements de serveur à serveur depuis l'objet Order fiable, afin que les achats manqués par le navigateur arrivent quand même à la plateforme. Faites correspondre le event_id de l'événement serveur à celui de l'événement navigateur pour que la plateforme déduplique les deux.

Trois pixels vont-ils ruiner mon PageSpeed ?

Ils le peuvent si vous collez trois extraits synchrones dans le head. Chargez-les via un seul conteneur GTM asynchrone, différez les pixels non critiques au premier défilement plutôt qu'au premier rendu, déplacez l'événement d'achat côté serveur (zéro poids navigateur) et supprimez tout pixel correspondant à une plateforme sur laquelle vous n'avez jamais réellement fait de publicité.

Dernière vérification de bon sens avant d'installer quoi que ce soit : un pixel ne mérite sa place que si la plateforme qui le porte est réellement là où se trouvent vos clients. Si vous ne l'avez pas encore établi, commencez par les plateformes qui génèrent réellement des ventes, et pour le côté Meta, le guide Facebook Pixel pour PrestaShop couvre le traceur que presque toutes les boutiques devraient utiliser de toute façon. Suivez les plateformes sur lesquelles vous faites de la publicité, déclenchez un événement d'achat propre côté serveur, conditionnez tout au consentement, et laissez vos propres données de commande trancher les débats.

Partager cet article:
David Miller

David Miller

Fondateur, mypresta.rocks

David Miller est un spécialiste PrestaShop fort de plus de dix ans d'expérience concrète et le fondateur de mypresta.rocks, un studio de développement situé à Tychy, en Pologne. Il conçoit et maintient un catalogue de 152 modules PrestaShop, dont 21 suites « Revolution » couvrant le SEO, le checkout, la sécurité, la performance, le marketing, la recherche, le support et la gestion d'entrepôt, qui améliorent chaque jour de vraies boutiques, testés sur PrestaShop 1.7.8, 8.x et 9.x. Il assure également la maintenance de boutiques en production réalisant plusieurs millions de chiffre d'affaires annuel : son travail se juge donc sur des ventes réelles, pas sur des démos. Son expérience couvre l'ensemble du e-commerce. Performance, sécurité, SEO et marketing, et va au-delà de PrestaShop, jusqu'à WooCommerce, Shopify et les systèmes sur mesure. Sur le blog, il écrit sur la face technique de PrestaShop : ce que la plateforme fait vraiment, ce qui casse en production et quelles solutions tiennent dans la durée.

Commentaires

Aucun commentaire pour le moment. Soyez le premier !
Cet article vous a plu ?

Recevez nos derniers conseils, guides et mises à jour de modules dans votre boîte mail.

Vous pouvez vous désinscrire à tout moment. Vous trouverez pour cela nos informations de contact dans les conditions d'utilisation du site.

Chargement...
Retour en haut