Blocage de cookie

Le script de Byscuit peut ajouter des “placeholders” sur des éléments ciblés par une classe dans l’interface de gestion.  

Un placeholder est un message remplaçant la fonctionnalité bloquée. Les placeholders necessitent une configuration. 

Ainsi par exemple, si l’utilisateur refuse la catégorie de fichiers témoins “Publicité”, les vidéos youtubes ne pourront pas s’afficher, un message générique s’affichera donc à la plage. Exemple : 

IMG

Pour cela la class (ou id) correspondant à la section à cacher, est indiqué dans la configuration du fichier témoins correspondant, exemple :  

IMG

IMG

Sur le site, l’utilisateur peut cliquer sur le lien ”accepter les fichiers témoins (Cookies)” pour faire afficher la fonctionnalité. Un nouveau consentement est alors enregistré, et seule la catégorie correspondante sera ajouté parmi les acceptées. 

IMG

IMG

De la même manière un Recaptcha peux necessiter que les cookies fonctionnels soient acceptés. Le gestionnaire du site peut donc décider que l’envois du formulaire requière cet outil anti-spam et ne pas permettre à l’utilisateur d’utiliser le formulaire sans l’acceptation de ce type de cookie. Il est recommandé d’expliquer ce type d’exception dans les conditions d’utilisations du site. 

 

Les Regex 

Lors de la configuration d’un fichier témoin, le champs Regex sert à bloquer automatiquement les scripts (non gérés par GTM) chargés dynamiquement (après que le document soit ready) et provenant de tierces parties. En comparant le src du script. 

Exemple :

IMG

Dans cet exemple le script de byscuit cherchera à l’aide du regex /twitter.com/ les scripts contenants cette chaine de caractères, et bloquera le chargement des cookies de ce script. 

Une façon de trouver le script utilisant le cookie :  

IMG

IMG

IMG

À noter : clique droit sur un cookie ”Show Request With This Cookie” ou “Afficher les requêtes avec ce cookie” permet d’avoir de l’info sur l’origine. 

IMG

 

Des cookies sont toujours présents alors que j’ai tout refusé : 

Si le cookie n’est pas géré par GTM, et si le Cookie est toujours enregistré (même en cas de refus de consentement) :  

Assurez-vous que votre domaine correspond à celui indiqué dans le gestionnaire de cookie. (parfois quand on test sur un environnement de test, le nom de domaine peut ne pas correspondre) Vous ne pourrez donc tester la bannière qu’une fois qu’elle sera déployée en production sur le domaine final. 

S’il s’agit d’un script externe (ex: map.google, facebook.com, youtube.com) :  

  • Vérifier que Regex est bien écrit. 
  • Assurez-vous également de ne pas voir d’erreur dans la console ( Uncaught SyntaxError: invalid regular expression flags) ce qui voudrait dire que vous avez mal inscrit votre regex. 

Si le cookie est géré par GTM, validé la configuration avec un expert SEO. 

 

Si cela ne fonctionne toujours pas et que ce script doit être absolument bloqué, il faudra le faire manuellement:  ajoutez dans la balise  

Cela fera en sorte que le script ne se chargera qu’au consentement explicite de la catégorie de cookie spécifiée dans data-cookiecategory. 

 

Script Custom

Vous pouvez ajouter ce code custom afin de cibler le cookie byscuit et vérifier ce que l’utilisateur a accepté comme type de cookie autour de votre code qui set le cookie en js. 

  

function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for(let i = 0; i <ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } //et la condition suivante if (getCookie("cc_cookie_byscuit").includes("functional")) { // votre code de setCookie } 

 

Facebook Pixel 

Commencez par voir avec le département de SEO s’il ne serait pas possible d’ajouter le pixel directement dans GTM. Si ce n’est pas possible et que la regex /connect.facebook.net/ ne fonctionne pas, il faudra ajuster le code manuellement pour y ajouter les arguments suivants ( t.setAttribute(‘data-cookiecategory’,’analytics’ );t.type=’text/plain’) en gras dans le code suivant: 

!function(f,b,e,v,n,t,s) 

{if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0' 

n.queue=[];t=b.createElement(e);t.setAttribute('data-cookiecategory','analytics' );t.type='text/plain' 

 t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1673691169409448'); fbq('track', 'PageView'); 

 

Bloquer des cookies Server Side  

Exemple sur Coldfusion: 

IMG

 

Cookie avec httpOnly 

Si lors du refus des cookies ayant le même domaine que le site ne sont pas supprimés automatiquement, ceci peut être causé par le tag httpOnly. Ce tag lorsque qu’actif bloque les manipulations client-side donc notre code de nettoyage en javascript ne pourra pas fonctionner. 

IMG

 

wpml_current_language 

Pour wpml_current_language 

Aller dans WPML -> Language -> Décocher l’appel Ajax 

IMG