RGPD et conformité des cookies pour PrestaShop : ce dont vous avez vraiment besoin
Les références réglementaires (Consent Mode v2, contrôles de la CNIL) présentent les règles applicables ; il s’agit de conseils techniques pour PrestaShop, pas d’un avis juridique, vérifiez les points propres à vos marchés avec un conseiller en protection des données.
Voici la confusion qui coûte le plus cher aux marchands PrestaShop : ils installent le module RGPD officiel, voient « RGPD » dans son nom, cochent la case et pensent être couverts. Ils ne le sont pas, et ce n’est pas parce que le module est mauvais. C’est parce que la « conformité RGPD » et la « conformité cookies » sont deux obligations juridiques distinctes qui s’appliquent à la même boutique, alors que les outils natifs de PrestaShop ne traitent que la première. Le module RGPD gère les données personnelles (demandes d’accès, suppression, consentement sur les formulaires). Il n’affiche pas de bandeau cookies, ne bloque aucun script de suivi et ignore totalement l’existence de Google Consent Mode. Résultat : la boutique PrestaShop la plus couramment « conforme en apparence » ne l’est qu’à moitié : gestion des données propre, mais balise Google Analytics déclenchée dès la première page avant le moindre clic du visiteur.
Ce guide est la carte PrestaShop de ces deux obligations : ce que la plateforme vous fournit d’origine, l’endroit exact où elle s’arrête, et ce que vous devez ajouter vous-même. Il sert volontairement de vue d’ensemble pour relier les deux sujets. La lecture juridique détaillée du consentement cookies (ce qui constitue un consentement valide, les pratiques de design trompeuses, la mécanique du bandeau) se trouve dans consentement cookies pour PrestaShop : ce que la loi exige vraiment, et la checklist générale « ce que vous devez faire et ce que vous pouvez ignorer » pour toute boutique en ligne est dans RGPD pour les boutiques en ligne. Ici, nous restons sur le terrain PrestaShop : chemins du back-office, module réel et éléments à raccorder.
Deux obligations, une boutique : la distinction qui piège tout le monde
Avant de toucher à un réglage, clarifiez la cartographie juridique, car elle détermine quel outil résout quel problème.
| RGPD (protection des données) | ePrivacy / consentement cookies | |
|---|---|---|
| Régit | Ce que vous faites des données personnelles une fois que vous les détenez | Le stockage ou la lecture d’informations sur l’appareil du visiteur |
| Dans une boutique PrestaShop | Comptes clients, commandes, inscriptions à la newsletter, messages du formulaire de contact | Mesure d’audience, Pixel, remarketing, tests A/B, vidéo intégrée |
| Outil natif PrestaShop | Le module RGPD officiel (psgdpr) + les réglages de confidentialité client | Aucun, c’est à vous de l’ajouter |
| Consentement requis avant… | Le traitement à des fins marketing ; pas pour exécuter la commande elle-même | Le déclenchement de tout script non essentiel |
Et alors ? Si vous ne résolvez qu’un seul de ces deux points, un scan automatisé d’une autorité peut tout de même vous signaler. La partie cookies est celle que PrestaShop vous laisse entièrement gérer, et c’est celle qui déclenche des amendes. L’autorité française, la CNIL, a fait des bandeaux cookies non conformes une priorité de contrôle permanente, et ses cibles ne se limitent pas aux grandes marques. La partie RGPD est en grande partie couverte nativement, à condition de la configurer réellement au lieu de simplement installer le module.
Ce que PrestaShop fournit nativement pour le RGPD
PrestaShop propose un module RGPD officiel, de nom technique psgdpr, maintenu par PrestaShop et disponible depuis le catalogue de modules / Gestionnaire de modules, vous devez l’installer et le configurer, et non supposer qu’il est présent par défaut. Il est réellement utile, pour les données, pas pour les cookies. Vous le trouverez sous Modules → Gestionnaire de modules : recherchez « GDPR », installez-le, puis configurez-le. Ce qu’il fait concrètement :
- Export des données d’accès. Un client connecté peut demander, directement depuis son compte, un export (PDF ou CSV) de ses données principales de compte et de commande, ainsi que des données provenant des modules conformes qui s’intègrent à psgdpr. Cela couvre une bonne partie du « droit d’accès » de l’article 15 sans que vous ayez à construire un export à la main, mais cela n’inclut pas automatiquement les données détenues par des modules tiers qui ne s’intègrent pas, donc auditez-les séparément.
- Droit à l’oubli. Les clients peuvent demander la suppression ; vous traitez la demande depuis le module. Et alors ? Au lieu de fouiller dans Clients, Adresses et Commandes pour nettoyer les données d’une personne, vous disposez d’un processus unique, et d’une trace prouvant que vous avez honoré la demande.
- Cases de consentement sur les formulaires. Le module peut ajouter et journaliser le consentement sur les formulaires pris en charge (inscription, newsletter et contact, par exemple) ainsi que sur les modules qui s’y intègrent via ses hooks d’intégration. Vous rédigez le texte ; il enregistre l’accord.
- Un journal des consentements. Chaque accord est horodaté et stocké, ce qui constitue votre preuve si quelqu’un demande : « cette personne a-t-elle donné son accord ? »
En parallèle du module, PrestaShop expose des réglages liés aux comptes dans Paramètres de la boutique → Paramètres clients (l’activation du B2B, « Demander la date de naissance » et les options d’offres partenaires), et c’est là que psgdpr fait apparaître son texte de consentement sur les formulaires d’inscription et de compte. Les réglages natifs ne journalisent pas le consentement à eux seuls, c’est le rôle du module, mais ils déterminent quelles données le parcours de compte collecte au départ. Rien de spectaculaire, mais c’est précisément la partie que vous n’avez pas besoin d’acheter ni de développer.
Comment un module fait entrer ses données dans l’export, les quatre hooks psgdpr
Si les outils d’export et de suppression fonctionnent proprement, c’est parce que les modules conformes s’enregistrent auprès de psgdpr et répondent à quatre hooks. Cela vaut la peine de le voir même si vous n’écrivez jamais une ligne de ce code, car cela vous indique quoi chercher lorsque vous auditez un module tiers : s’il stocke des données clients et ne les implémente pas, ces données manqueront silencieusement de chaque export remis à un client. Les quatre hooks et leur rôle :
// In your module's install() – declare it to psgdpr and answer its hooks
public function install()
{
return parent::install()
&& $this->registerHook('registerGDPRConsent') // advertise a consent checkbox to psgdpr
&& $this->registerHook('actionExportGDPRData') // return this customer's data for export
&& $this->registerHook('actionDeleteGDPRCustomer'); // erase this customer's data on request
}
// psgdpr asks every registered module for the customer's data (right of access / portability).
// Return the data as JSON – psgdpr merges it into the PDF/CSV export.
public function hookActionExportGDPRData($params)
{
$idCustomer = (int) $params['id_customer'];
$rows = Db::getInstance()->executeS(
'SELECT message, date_add FROM `' . _DB_PREFIX_ . 'mymodule_log`
WHERE id_customer = ' . $idCustomer
);
return json_encode($rows ?: []);
}
// psgdpr asks every registered module to erase the customer (right to be forgotten).
// Delete your rows and return json_encode(true) to confirm.
public function hookActionDeleteGDPRCustomer($params)
{
if (!isset($params['id_customer'])) {
return;
}
Db::getInstance()->execute(
'DELETE FROM `' . _DB_PREFIX_ . 'mymodule_log`
WHERE id_customer = ' . (int) $params['id_customer']
);
return json_encode(true);
}
Le quatrième hook, displayGDPRConsent, est le pendant front-office de registerGDPRConsent : psgdpr l’appelle pour afficher la case de consentement annoncée par votre module, à l’emplacement demandé (formulaire d’inscription, bloc newsletter, formulaire d’avis). Et pour un marchand qui ne code pas ? Vous n’avez pas besoin d’écrire cela, vous devez savoir que cela existe, afin que, lorsque vous évaluez un module qui stocke des données clients, « implémente-t-il les hooks psgdpr ? » devienne une question concrète à poser au développeur. Si la réponse est non, les données de ce module n’apparaîtront pas dans les exports et ne seront pas supprimées lors d’une demande d’effacement : c’est à vous de combler cette lacune.
Là où le module RGPD natif s’arrête, clairement
La phrase la plus importante de cet article est celle-ci : le module RGPD de PrestaShop ne fait rien pour les cookies. Il n’affiche pas de bandeau cookies. Il ne bloque, ne retarde et ne conditionne aucun script de mesure d’audience ou de marketing. Il ne connaît pas Google Consent Mode. Les marchands confondent sans cesse « module RGPD installé » et « conforme pour les cookies », et c’est précisément cet écart que les régulateurs recherchent. Tout ce qui suit dans la section suivante est à ajouter par vos soins.
La partie cookies que PrestaShop vous laisse entièrement gérer

Les cookies relèvent de la directive ePrivacy, une règle distincte du RGPD, et PrestaShop ne fournit aucun mécanisme natif pour cela. Le détail juridique de ce qui rend un consentement valide, consentement préalable, catégories granulaires, boutons d’importance équivalente, retrait facile, absence de pratiques de design trompeuses, est traité en profondeur dans notre guide juridique sur le consentement cookies. Ici, nous restons donc sur la mécanique PrestaShop : où se trouvent réellement les fuites dans une installation PrestaShop, et comment les repérer.
Où les scripts de suivi sont injectés dans PrestaShop
Dans une boutique typique, les balises qui doivent être conditionnées arrivent par quelques chemins prévisibles. Les connaître transforme le vague conseil « auditez mes cookies » en vraie checklist :
- Modules accrochés à displayHeader / displayBeforeBodyClosingTag. La plupart des modules de mesure d’audience et de pixels (y compris le module Google Analytics de PrestaShop, ps_googleanalytics) injectent ici leur JavaScript, sans condition, sur chaque page. C’est pourquoi le cookie GA4 apparaît souvent avant même que le bandeau ne soit rendu.
- Modifications des templates du thème. Les balises collées directement dans header.tpl ou via un module « HTML brut » se déclenchent dès le chargement de la page, sans aucun contrôle de consentement.
- Cookies côté serveur. Un bandeau côté client ne peut pas arrêter un module qui pose des cookies en PHP via setcookie() ou la classe Cookie de PrestaShop. Ils échappent entièrement à la plupart des outils de consentement.
Pour savoir ce que fait votre propre installation, effectuez deux vérifications. D’abord, côté visiteur : ouvrez la boutique dans une fenêtre de navigation privée, puis DevTools → Application → Cookies avant de toucher au moindre bandeau. Si vous voyez _ga, _gid, _fbp ou _gcl_au, des scripts se déclenchent sans consentement. Ensuite, côté code : recherchez dans votre dossier de modules les poseurs de cookies côté serveur,
grep -r "setcookie\|new Cookie" modules/ --include="*.php"
, et vous trouverez généralement un ou deux modules qui posent discrètement des cookies dont le bandeau n’a jamais eu connaissance. Et alors ? Un bandeau qui enregistre un « refus » pendant que ces scripts continuent de tourner n’est pas un bouclier ; c’est une preuve documentée que vous saviez et que vous n’avez rien fait.
Les quatre catégories de cookies dans une boutique PrestaShop
Lorsque vous cartographiez vos cookies, ils se répartissent en quatre groupes. La colonne essentielle est celle que PrestaShop alimente lui-même et qui est exemptée de consentement :
| Catégorie | Cookies PrestaShop typiques | Consentement requis ? |
|---|---|---|
| Strictement nécessaires | Session (PrestaShop-xxxx), panier, jeton CSRF, cookie de consentement lui-même | Non (exemptés) |
| Fonctionnels | Préférence de langue/devise, récemment consultés, liste d’envies | Ça dépend, les cookies fonctionnels persistants non essentiels nécessitent généralement un consentement, mais les cookies strictement nécessaires à un service explicitement demandé par l’utilisateur (par exemple une préférence d’interface limitée à la session) peuvent être exemptés |
| Mesure d’audience | GA4 (_ga, _gid), Matomo, Hotjar | Oui |
| Marketing | Facebook Pixel (_fbp), Google Ads (_gcl_au), remarketing | Oui |
Google Consent Mode v2, la partie que les modules PrestaShop oublient
Depuis mars 2024, les sites qui utilisent Google Ads, le remarketing ou des fonctionnalités de mesure des conversions, ou des balises Google qui alimentent ces fonctionnalités, pour les utilisateurs de l’EEE devraient mettre en œuvre Consent Mode v2. Il concerne surtout les fonctionnalités publicitaires et de mesure de Google pour les utilisateurs de l’EEE, du Royaume-Uni et de la Suisse (remarketing Ads, personnalisation et mesure des conversions), plutôt que chaque déploiement basique de GA4 ou de Tag Manager. Il s’agit d’une petite couche JavaScript qui indique aux balises Google si le visiteur a consenti, via quatre signaux (ad_storage, analytics_storage, ad_user_data, ad_personalization), tous définis par défaut sur denied jusqu’à ce que votre bandeau indique le contraire.
La mécanique repose sur deux appels gtag. Le bloc default doit s’exécuter avant le chargement de toute balise Google, en réglant tout sur denied ; le bloc update s’exécute lorsque le visiteur accepte, en activant les catégories auxquelles il a consenti :
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
// DEFAULT – must run before any Google tag loads. Deny everything up front.
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'wait_for_update': 500
});
</script>
<!-- ...your banner runs, visitor clicks Accept on analytics + marketing... -->
<script>
// UPDATE – fired by your banner's accept handler, only for the categories chosen.
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted'
});
</script>
Une mise au point honnête : Consent Mode modélise les conversions que vous perdez lorsque des visiteurs refusent, il les estime statistiquement. Il ne « récupère » pas et ne recrée pas leurs données réelles, et il ne remplace pas le blocage préalable. Les pings restreints et sans cookies que Google envoie lorsque le consentement est refusé doivent tout de même être évalués pour votre situation, plutôt que considérés automatiquement comme acceptables. Et pour un propriétaire de boutique PrestaShop ? Sans Consent Mode, vous perdez même la lecture modélisée des visiteurs qui refusent, car Google retire de plus en plus de mesure aux sites qui n’envoient aucun signal de consentement. Le module Google Analytics standard de PrestaShop n’implémente pas Consent Mode v2 ; c’est donc une lacune à combler avec un module cookies dédié ou une configuration Google Tag Manager. Les détails d’implémentation relèvent du guide sur le consentement cookies ; l’idée ici est simplement que ce n’est pas pris en charge pour vous.
La checklist PrestaShop RGPD + cookies, dans l’ordre
En réunissant les deux obligations, voici la séquence que nous recommandons pour une boutique PrestaShop, en commençant par les outils natifs :
- 1. Installez et configurez psgdpr. Pas seulement l’installer, rédigez le texte de consentement, activez l’export et la suppression, vérifiez que les cases de consentement apparaissent sur les formulaires d’inscription, de newsletter et de contact. C’est votre socle RGPD pour les données, natif et gratuit.
- 2. Auditez vos cookies. Navigation privée + DevTools, liste de chaque cookie avant consentement, plus le grep des poseurs côté serveur. Vous ne pouvez pas conditionner ce que vous n’avez pas inventorié.
- 3. Ajoutez une couche de consentement cookies. PrestaShop n’en fournit aucune : il s’agit donc d’un module complémentaire, avec un bandeau qui bloque réellement les scripts non essentiels jusqu’au consentement, des catégories granulaires et des boutons accepter/refuser d’importance équivalente. Le seuil juridique est détaillé dans le guide sur le consentement cookies.
- 4. Raccordez Consent Mode v2. Définissez par défaut les quatre signaux sur denied, puis mettez-les à jour selon le choix du visiteur, afin que les balises Google se comportent correctement et que vous conserviez des données modélisées.
- 5. Conservez des preuves démontrables du consentement cookies. Le journal psgdpr couvre le consentement des formulaires ; le consentement cookies a besoin de sa propre trace démontrable (horodatage, choix effectué, version du bandeau et méthode) comme preuve d’audit. La journalisation côté serveur est une façon robuste de le faire, mais l’exigence est de pouvoir démontrer le consentement. Cela peut être implémenté de différentes manières, tant que c’est suffisant.
- 6. Publiez une page de politique cookies. Une page CMS listant chaque cookie, sa finalité, sa durée et le tiers concerné, avec un lien dans le pied de page à côté d’un lien « Paramètres des cookies » qui rouvre le bandeau.
- 7. Réauditez après chaque changement de module ou de thème. Un nouveau module peut ajouter discrètement un tracker ; une vérification trimestrielle est un minimum raisonnable.
Questions fréquentes
J’ai installé psgdpr. Ai-je quand même besoin d’un bandeau cookies ?
Oui. psgdpr gère les droits liés aux données personnelles, export, suppression, journalisation du consentement sur les formulaires, et ne fait rien pour les cookies. Il n’affiche aucun bandeau et ne bloque aucun script. L’obligation cookies/ePrivacy est distincte et PrestaShop ne fournit rien de natif à ce sujet : la couche de consentement est donc toujours un ajout au-dessus de psgdpr, jamais son remplacement.
Le module RGPD officiel rend-il ma boutique conforme au RGPD ?
Aucun module ne peut faire cela. psgdpr fournit les moyens techniques d’honorer plusieurs droits des personnes concernées, mais la conformité dépend aussi de votre politique de confidentialité, de vos bases légales, de vos durées de conservation, de vos contrats de sous-traitance et de votre gestion des cookies : tout cela reste votre responsabilité en tant que responsable du traitement. Considérez le module comme un outil technique pour une partie du sujet, et tout ce qui dépasse ce périmètre comme une question à poser à un conseiller en protection des données, pas comme un réglage.
Consent Mode v2 me rendra-t-il les données des visiteurs qui refusent les cookies ?
Pas leurs données réelles. Consent Mode modélise, estime statistiquement, les conversions que vous perdriez autrement, afin que vos rapports restent orientatifs au lieu de devenir vides pour les visiteurs qui refusent. Il ne reconstruit pas les parcours individuels et ne contourne pas le blocage préalable : vous devez toujours empêcher les cookies non essentiels jusqu’à ce que le visiteur donne son accord.
Comment savoir si les données d’un module tiers sont incluses dans l’export d’un client ?
Vérifiez si le module implémente les hooks psgdpr, actionExportGDPRData et actionDeleteGDPRCustomer. S’il stocke des données clients mais ne répond pas à ces hooks, ces données sont silencieusement absentes des exports et ne seront pas effacées lors d’une demande de suppression. Demandez-le directement au développeur, ou recherchez hookActionExportGDPRData dans le fichier PHP principal du module. Un module qui stocke des avis, des listes d’envies ou des messages mais ignore ces hooks crée une lacune dont vous êtes responsable.
Où traiter une demande de suppression dans le back-office ?
Depuis la page de configuration de psgdpr (Modules → Gestionnaire de modules → configurer psgdpr), pas en modifiant la base de données. Le module vous donne un processus contrôlé de suppression/anonymisation et enregistre que vous avez honoré la demande, exactement la piste d’audit que des requêtes SQL directes sur les tables clients et commandes ne vous laisseraient pas.
Comment cela s’inscrit dans les autres obligations légales de votre boutique
Le RGPD et les cookies ne sont qu’un volet de l’exploitation d’une boutique européenne conforme. Plutôt que de tout entasser ici (le piège de cannibalisation qui fait reculer les articles), voici la carte des contenus voisins qui traitent chaque sujet :
- La vue complète de ce que le droit de l’UE attend d’une boutique en ligne : droit du e-commerce dans l’UE.
- La checklist RGPD générale au-delà des spécificités PrestaShop, ce que vous devez faire et ce que vous pouvez ignorer : RGPD pour les boutiques en ligne.
- La mécanique juridique d’un bandeau cookies valide : consentement cookies pour PrestaShop.
- Ce que les pages légales de votre boutique doivent contenir : conditions générales pour votre boutique.
- Et, côté sécurité également lié au RGPD, la protection des données de paiement : sécurité des paiements dans PrestaShop.
Où intervient mypresta.rocks
Le module natif psgdpr couvre vos obligations liées aux données, et nous ne vous vendrions jamais un remplacement à quelque chose que PrestaShop vous fournit gratuitement. Le manque se situe côté cookies, blocage des scripts, catégories granulaires, Consent Mode v2 et bandeau assez léger pour ne pas dégrader votre PageSpeed. Beaucoup de plateformes de consentement résolvent le problème en chargeant 200 à 500 Ko de JavaScript tiers sur une boutique déjà lourde, échangeant un problème de conformité contre un problème de vitesse. Notre approche est inverse : un module Cookies Revolution / consentement cookies léger qui conditionne les scripts, signale correctement le consentement à Google et journalise les choix pour l’audit, configuré depuis le back-office, sans forker votre thème. Qu’est-ce que cela vous apporte ? La moitié technique du travail que PrestaShop laisse ouverte, gérée sans facture de développeur et sans ralentir la boutique que vous avez mis tant de temps à rendre rapide. C’est un outil technique, pas une garantie de conformité. Les responsabilités du responsable du traitement décrites ci-dessus restent les vôtres.
La conformité cookies et RGPD n’a rien de glamour, et elle n’augmente pas les conversions à elle seule. Mais sur PrestaShop, le risque est précis et évitable : croire que le module RGPD couvre les cookies alors qu’il ne les a jamais touchés. Configurez correctement psgdpr, auditez ce qui se déclenche réellement sur vos pages, ajoutez la couche cookies que la plateforme ne fournit pas, et vous passez d’une conformité de façade à une conformité réelle, avant qu’un scan automatisé ne prenne la décision pour vous.