Le sujet Loi 25 est occupé par les vendeurs de bannières de témoins et par les cabinets d’avocats. Les premiers parlent d’un bouton, les seconds de registres et de politiques. Presque personne ne descend jusqu’à l’objet technique : le pixel lui-même, la manière dont il est posé sur Shopify, et ce qui part réellement du navigateur avant que le visiteur ait touché quoi que ce soit. C’est ce que fait ce billet, du point de vue de quelqu’un qui installe et débranche des pixels, pas d’un juriste. Les passages juridiques sont une lecture de praticien, pas un avis : la source officielle est liée à chaque fois.
Réponse courte : oui, le pixel est visé
La Commission d’accès à l’information résume l’obligation introduite par la Loi 25 dans la loi sur le secteur privé : avant de recueillir des renseignements personnels au moyen d’une technologie comprenant des fonctions permettant d’identifier, de localiser ou d’effectuer un profilage, l’entreprise doit informer la personne du recours à cette technologie et des moyens offerts pour activer ces fonctions. Ces fonctions doivent être désactivées par défaut. La Commission définit le profilage comme la collecte et l’utilisation de renseignements personnels afin d’évaluer certaines caractéristiques d’une personne, notamment ses préférences personnelles, ses intérêts ou son comportement.
Mettez cette définition en face de ce que fait le pixel Meta sur une boutique : il enregistre les pages produits consultées, les ajouts au panier, les achats et leur montant, il rattache ces événements à un identifiant de navigateur et, quand il le peut, à un compte Meta, et il sert à construire des audiences fondées sur ces comportements. Identification, localisation, profilage : les trois fonctions sont réunies. La question n’est donc pas de savoir si le pixel est visé, mais à quel moment il a le droit de se déclencher.
La réponse de la loi est : pas avant que la personne ait activé la fonction. « Désactivé par défaut » signifie que le pixel ne charge pas tant qu’il n’y a pas eu de geste positif. Une bannière qui informe et laisse le pixel tourner pendant que le visiteur la lit ne répond pas à l’obligation. C’est le point où une bonne part des boutiques que nous auditons sont en défaut, y compris celles qui ont acheté une bannière.
À qui la loi s’applique vraiment
La Loi 25 s’applique aux entreprises qui recueillent, détiennent, utilisent ou communiquent des renseignements personnels de personnes se trouvant au Québec, indépendamment de leur lieu d’établissement. Une boutique de Vancouver ou de Toronto qui expédie au Québec est assujettie pour ses visiteurs québécois. Une marque canadienne qui pensait ne relever que de la loi fédérale découvre en général cette portée au moment d’un audit.
Cela change la conception de la couche de consentement : elle ne peut pas être « Québec seulement » sur la base d’une géolocalisation par adresse IP, parce que cette géolocalisation est elle-même une localisation, et parce qu’elle se trompe. En pratique, on applique le régime le plus strict à tout le trafic canadien.
Meta n’a pas de mécanisme pour le Canada
C’est le fait central de ce billet, et il peut changer : nous l’avons vérifié le 6 septembre 2026. La documentation de Meta sur les options de traitement des données, celle qui permet de restreindre l’usage d’un événement, s’intitule « Data Processing Options for US Users ». La seule valeur de pays acceptée est 1, pour les États-Unis, et la liste des territoires couverts énumère quatorze États américains. Aucune valeur pour le Canada, aucune pour le Québec.
Conséquence : il n’existe aucun réglage côté Meta qui rende un événement conforme à la Loi 25. Ni le mode de traitement restreint, ni un paramètre du gestionnaire d’événements. La conformité se décide avant que l’événement parte, dans la couche de consentement de la boutique, et nulle part ailleurs.
L’API Conversions ne règle pas le problème, elle le déplace. Un événement envoyé depuis le serveur de la boutique, ou depuis Shopify pour son compte, reste une collecte de renseignements personnels au moyen d’une technologie de profilage. Il doit être conditionné au même consentement que le pixel navigateur. Une configuration où le pixel est bloqué mais où l’API Conversions envoie tout est plus discrète, pas plus conforme.
Le cas Shopify, concrètement
Sur Shopify, le pixel Meta arrive par trois chemins, et ils ne se comportent pas pareil.
Le canal Facebook et Instagram, installé depuis l’administration, pose un pixel d’application et alimente l’API Conversions depuis Shopify. Il respecte la Customer Privacy API de Shopify : si la boutique exige le consentement et que le visiteur ne l’a pas donné, les événements de marketing ne sont pas émis. Encore faut-il que la région de collecte du consentement inclue le Canada, ou soit réglée sur tous les pays, et que la bannière appelle réellement l’API avec la décision du visiteur.
Un pixel personnalisé, collé dans « Paramètres, Événements clients », s’exécute dans un bac à sable qui ne reçoit les événements qu’après consentement quand le pixel est déclaré comme nécessitant le consentement marketing. Un pixel posé avec la case « ne nécessite pas de consentement » se déclenche toujours. C’est une case, et elle est cochée dans la mauvaise position sur une part des boutiques que nous voyons.
Le troisième chemin est le pire : un extrait de code collé dans le thème, souvent par une application tierce ou un ancien prestataire. Il s’exécute au chargement, hors de tout contrôle de Shopify, et il ignore la décision du visiteur. Il faut le trouver et le retirer.
Le test en quatre étapes
Vous n’avez besoin d’aucun outil payant. Prenez vingt minutes et un navigateur.
Étape 1 : partir de zéro. Ouvrez une fenêtre de navigation privée, ouvrez les outils de développement (onglet Réseau), et filtrez sur facebook.com/tr et sur connect.facebook.net. Chargez la page d’accueil de la boutique. Ne touchez pas à la bannière.
Étape 2 : lire ce qui part avant tout geste. Si une requête vers connect.facebook.net/en_US/fbevents.js apparaît, le script du pixel est chargé. Si une requête vers facebook.com/tr avec un paramètre ev=PageView apparaît, l’événement est parti. Dans les deux cas, la fonction n’était pas désactivée par défaut : le test est négatif, inutile d’aller plus loin avant d’avoir corrigé.
Étape 3 : refuser, puis parcourir. Refusez explicitement dans la bannière. Ouvrez une fiche produit, ajoutez au panier, ouvrez le panier. Aucune requête facebook.com/tr ne doit apparaître. Si une requête ViewContent ou AddToCart part après un refus, vous avez un pixel qui ignore la décision : cherchez-le dans le thème.
Étape 4 : contrôler le serveur. Le navigateur ne montre pas l’API Conversions. Dans le gestionnaire d’événements de Meta, onglet « Tester les événements », entrez un code de test, puis rejouez le parcours de l’étape 3 en refusant. Si des événements arrivent marqués « Serveur » pendant un parcours refusé, l’API Conversions n’est pas conditionnée au consentement.
Documentez le résultat : date, navigateur, captures de l’onglet Réseau avant et après consentement, captures du gestionnaire d’événements. Le fardeau de démontrer la conformité pèse sur l’entreprise, pas sur le visiteur. Voici le gabarit que nous remplissons à chaque audit.
| Point de contrôle | Attendu | Observé | Capture |
|---|---|---|---|
Script fbevents.js avant consentement |
absent | ||
PageView avant consentement |
absent | ||
ViewContent, AddToCart après refus |
absents | ||
| Événements « Serveur » après refus | absents | ||
| Événements après acceptation | présents, dédupliqués |
Ce que vous risquez
La Commission a le pouvoir d’imposer des sanctions administratives pécuniaires, directement, sans passer par un tribunal. Elle indique que ces sanctions peuvent atteindre 2 % du chiffre d’affaires mondial ou 10 millions de dollars. Elle publie un cadre général d’application de ces sanctions, et une entreprise peut s’engager à corriger un manquement pour éviter la sanction si l’engagement est approuvé et respecté.
Nous n’avons trouvé, au 6 septembre 2026, aucune décision publiée de la Commission visant nommément un pixel publicitaire de commerce en ligne. Les montants de « sanctions réelles » qui circulent sur les sites de fournisseurs de conformité ne renvoient à aucune décision référencée. Nous ne les reprenons pas.
Ce qu’il reste à faire, dans l’ordre
- Faire le test. Vingt minutes, résultat binaire.
- Retirer tout pixel collé dans le thème et tout pixel personnalisé déclaré sans consentement.
- Régler la collecte du consentement de Shopify sur le Canada au minimum, refus par défaut, et vérifier que la bannière transmet la décision à la Customer Privacy API.
- Conditionner l’API Conversions à la même décision, puis refaire l’étape 4.
- Mesurer la perte d’événements et la compenser par la qualité de correspondance des événements consentis, pas en rebranchant ce qui a été débranché.
Le dernier point est celui qui fâche : un compte Meta conforme voit moins d’événements qu’avant. C’est le prix du régime québécois, et le travail d’une agence Meta Ads à Montréal consiste à piloter avec cette donnée-là, réduite mais légale. La suite du sujet, l’envoi des données hors Québec et l’évaluation des facteurs relatifs à la vie privée qu’il exige, fera l’objet d’un billet à part.