Bloquer les scripts et les contenus intégrés
Un bandeau n’a de sens que si les traceurs attendent la réponse. Cette page explique ce que Cookiemark bloque de lui-même, comment marquer le reste, et ce qu’il ne peut pas empêcher.
Blocage automatique
Cookiemark connaît les scripts et les contenus intégrés des services courants. Quand l’un d’eux apparaît sur votre page, le script le bloque jusqu’à ce que le visiteur autorise sa catégorie. Vous n’avez rien à configurer : cela fonctionne dès que le script est placé en premier dans votre head.
Le script surveille la page de deux façons, car aucune ne détecte tout à elle seule.
- Il intercepte les scripts créés par un autre code. Quand un tel script reçoit l’adresse d’un service connu, Cookiemark change son type avant qu’il soit ajouté : le navigateur ne l’exécute jamais.
- Il surveille tout ce que le navigateur ajoute à la page pendant la lecture de votre HTML. Un script connu reçoit un type que le navigateur n’exécute pas, et un cadre connu perd son adresse jusqu’à l’accord du visiteur.
Quand le visiteur autorise la catégorie, Cookiemark exécute à nouveau les scripts bloqués, dans leur ordre d’origine. Un script externe termine son chargement avant que le suivant commence, si bien que le code qui en dépend fonctionne toujours.
Les services reconnus par Cookiemark
| Service | Attend | Reconnu par |
|---|---|---|
| Google Tag Manager | Statistiques | googletagmanager.com/gtm.js, googletagmanager.com/ns.html |
| Google Analytics | Statistiques | googletagmanager.com/gtag/js, google-analytics.com |
| Google Ads | Marketing | googleadservices.com, googlesyndication.com, doubleclick.net |
| Meta Pixel | Marketing | connect.facebook.net, facebook.com/tr |
| Hotjar | Statistiques | static.hotjar.com, script.hotjar.com |
| Microsoft Clarity | Statistiques | clarity.ms |
| LinkedIn Insight Tag | Marketing | snap.licdn.com, px.ads.linkedin.com, _linkedin_partner_id |
| TikTok Pixel | Marketing | analytics.tiktok.com |
| Pinterest Tag | Marketing | s.pinimg.com/ct, ct.pinterest.com |
| HubSpot | Marketing | js.hs-scripts.com, js.hs-analytics.net, js.hsforms.net |
| Quriobot | Marketing | botsrv2.com, quriobot.com |
| YouTube | Marketing | youtube.com/embed, youtube-nocookie.com/embed, youtube.com/iframe_api |
| Vimeo | Marketing | player.vimeo.com |
| Google Maps | Marketing | google.com/maps/embed, maps.google.com/maps, maps.googleapis.com/maps/api |
| X (Twitter) | Marketing | platform.twitter.com, platform.x.com |
| Marketing | instagram.com/embed | |
| Spotify | Marketing | open.spotify.com/embed |
| Matomo | Statistiques | /matomo.js, /piwik.js, cdn.matomo.cloud |
| Piwik PRO | Statistiques | .containers.piwik.pro, .piwik.pro/ppms.js |
| Adobe Analytics | Statistiques | assets.adobedtm.com, /appmeasurement.js, .omtrdc.net, .2o7.net |
| Mixpanel | Statistiques | cdn.mxpnl.com, cdn4.mxpnl.com, api-js.mixpanel.com |
| Amplitude | Statistiques | cdn.amplitude.com |
| Heap | Statistiques | cdn.heapanalytics.com, heapanalytics.com/js |
| Segment | Statistiques | cdn.segment.com, cdn.segment.io |
| Mouseflow | Statistiques | cdn.mouseflow.com |
| Crazy Egg | Statistiques | script.crazyegg.com |
| Lucky Orange | Statistiques | tools.luckyorange.com, tools.luckyorange.net |
| FullStory | Statistiques | edge.fullstory.com, fullstory.com/s/fs.js |
| Smartlook | Statistiques | web-sdk.smartlook.com, rec.smartlook.com |
| Contentsquare | Statistiques | t.contentsquare.net |
| Datadog RUM | Statistiques | datadoghq-browser-agent.com |
| Yandex Metrica | Statistiques | mc.yandex.ru/metrika, mc.yandex.com/metrika |
| VWO | Statistiques | dev.visualwebsiteoptimizer.com, visualwebsiteoptimizer.com/j.php |
| Optimizely | Statistiques | cdn.optimizely.com |
| AB Tasty | Statistiques | try.abtasty.com |
| Kameleoon | Statistiques | .kameleoon.eu, .kameleoon.io |
| Usabilla | Statistiques | w.usabilla.com |
| Mopinion | Statistiques | deploy.mopinion.com |
| Qualtrics | Statistiques | siteintercept.qualtrics.com |
| Survicate | Statistiques | survey.survicate.com |
| WooCommerce order attribution | Statistiques | /woocommerce/assets/js/frontend/order-attribution, /sourcebuster/sourcebuster |
| Microsoft Advertising | Marketing | bat.bing.com |
| X Ads | Marketing | static.ads-twitter.com, analytics.twitter.com |
| Snap Pixel | Marketing | sc-static.net/scevent, tr.snapchat.com |
| Reddit Pixel | Marketing | redditstatic.com/ads, alb.reddit.com |
| Quora Pixel | Marketing | a.quora.com/qevents.js, q.quora.com |
| Criteo | Marketing | static.criteo.net, dynamic.criteo.com, sslwidget.criteo.com |
| Taboola | Marketing | cdn.taboola.com, trc.taboola.com |
| Outbrain | Marketing | widgets.outbrain.com, amplify.outbrain.com |
| AdRoll | Marketing | s.adroll.com, d.adroll.com |
| The Trade Desk | Marketing | js.adsrvr.org, insight.adsrvr.org |
| Xandr | Marketing | acdn.adnxs.com, ib.adnxs.com, secure.adnxs.com |
| Adform | Marketing | track.adform.net, s2.adform.net, s1.adform.net |
| Amazon Ads | Marketing | amazon-adsystem.com |
| Awin | Marketing | dwin1.com, zenaps.com |
| TradeTracker | Marketing | tm.tradetracker.net, ts.tradetracker.net |
| Daisycon | Marketing | .daisycon.io |
| impact.com | Marketing | utt.impactcdn.com, impactradius-event.com |
| Leadinfo | Marketing | cdn.leadinfo.net, collector.leadinfo.net, leadinfo.net, api.leadinfo.com |
| Dealfront (Leadfeeder) | Marketing | sc.lfeeder.com, lftracker.leadfeeder.com |
| Albacross | Marketing | serve.albacross.com |
| Snitcher | Marketing | cdn.snitcher.com |
| Klaviyo | Marketing | static.klaviyo.com, static-tracking.klaviyo.com, a.klaviyo.com |
| Mailchimp | Marketing | chimpstatic.com/mcjs-connected |
| ActiveCampaign | Marketing | diffuser-cdn.app-us1.com, trackcmp.net |
| Brevo | Marketing | sibautomation.com, cdn.brevo.com/js/sdk-loader |
| Salesforce Account Engagement (Pardot) | Marketing | pi.pardot.com, cdn.pardot.com |
| Marketo | Marketing | munchkin.marketo.net |
| ShareThis | Marketing | platform-api.sharethis.com, buttons-config.sharethis.com |
| AddToAny | Marketing | static.addtoany.com |
| OptinMonster | Marketing | a.omappapi.com |
| Facebook embeds | Marketing | facebook.com/plugins, web.facebook.com/plugins |
| TikTok embeds | Marketing | tiktok.com/embed |
| Wistia | Marketing | fast.wistia.com, fast.wistia.net |
| Vidyard | Marketing | play.vidyard.com |
| Loom | Marketing | loom.com/embed |
| Dailymotion | Marketing | dailymotion.com/embed, geo.dailymotion.com |
| JW Player | Statistiques | cdn.jwplayer.com, content.jwplatform.com |
| SoundCloud | Marketing | w.soundcloud.com/player |
| Disqus | Marketing | .disqus.com/embed.js, disquscdn.com |
| Intercom | Préférences | widget.intercom.io, js.intercomcdn.com |
| Zendesk | Préférences | static.zdassets.com, ekr.zdassets.com, v2.zopim.com |
| Drift | Préférences | js.driftt.com |
| Crisp | Préférences | client.crisp.chat |
| tawk.to | Préférences | embed.tawk.to |
| LiveChat | Préférences | cdn.livechatinc.com |
| Olark | Préférences | static.olark.com |
| Zoho SalesIQ | Préférences | salesiq.zoho.eu, salesiq.zoho.com, salesiq.zohopublic |
| Smartsupp | Préférences | smartsuppchat.com, smartsupp-widget |
| Tidio | Préférences | code.tidio.co |
| Trengo | Préférences | static.widget.trengo.eu |
| Freshchat | Préférences | wchat.freshchat.com, snippets.freshchat.com |
| Userlike | Préférences | userlike-cdn-widgets |
| Calendly | Préférences | assets.calendly.com, calendly.com/ |
| Typeform | Préférences | embed.typeform.com, form.typeform.com |
| Jotform | Préférences | form.jotform.com, cdn.jotfor.ms |
Lorsque Google Consent Mode est en mode avancé, les trois services Google ci-dessus ne sont pas bloqués. Ils se chargent tout de suite et suivent eux-mêmes l’état du consentement. La page Google Consent Mode v2 explique la différence.
Désactiver un service
Ouvrez le site, puis Cookies, et regardez sous Services. Chaque service a un interrupteur. Quand vous en désactivez un, ses scripts et ses cadres se chargent sans demander. Ne le faites que pour un service qui ne dépose aucun cookie et ne collecte rien, ou que vous bloquez par un autre moyen.
Vos propres règles
Pour un service que nous ne connaissons pas, ajoutez une règle sous Cookies, Vos propres règles. Une règle se compose d’un morceau de texte et d’une catégorie. Tout script ou cadre dont l’adresse contient ce texte attend cette catégorie. Choisissez un fragment propre au service, comme widget.example-chat.com, pour ne pas bloquer d’autres scripts par erreur.
Marquer un script vous-même
Vous pouvez marquer n’importe quel script de votre HTML pour qu’il attende le consentement. Remplacez son type par text/plain et ajoutez data-cookiemark avec la catégorie. Le navigateur n’exécute pas un script de ce type, et Cookiemark l’exécute dès que la catégorie est autorisée.
<script type="text/plain" data-cookiemark="statistics"
src="https://analytics.example.com/tracker.js"></script>Les scripts inline fonctionnent de la même façon. Le blocage automatique ne regarde que les adresses : un extrait inline a donc toujours besoin de ce balisage.
<script type="text/plain" data-cookiemark="marketing">
// This code runs once the visitor allows marketing.
startMyPixel('1234567');
</script>Pour un script qui doit s’exécuter comme module, ajoutez data-cmk-type="module". Cookiemark donne ce type au script au moment de l’exécuter.
<script type="text/plain" data-cookiemark="statistics"
data-cmk-type="module" src="/js/stats.js"></script>Combiner des catégories
L’attribut accepte une catégorie ou une combinaison de catégories.
| Valeur | Le script s’exécute quand |
|---|---|
statistics | Les statistiques sont autorisées. |
statistics,marketing | Les deux sont autorisées. |
statistics|marketing | Au moins l’une des deux est autorisée. |
Les catégories sont preferences, statistics et marketing. Un script marqué necessary s’exécute tout de suite.
Le balisage du plugin et de Cookiebot
Cookiemark lit aussi data-cookieconsent à la place de data-cookiemark. C’est l’attribut du plugin CookieConsent et de Cookiebot. Les scripts et les cadres que vous avez marqués pour l’un ou l’autre continuent de fonctionner après le changement.
Iframes et autres contenus intégrés
Une vidéo, une carte ou une publication intégrée d’un service connu est traitée comme un script. Cookiemark retire son adresse, masque le cadre et affiche un espace réservé à sa place. L’espace réservé indique la catégorie et comporte un bouton qui l’autorise.
Pour bloquer un cadre que Cookiemark ne connaît pas, mettez son adresse dans data-src au lieu de src et ajoutez la catégorie.
<iframe data-src="https://www.youtube-nocookie.com/embed/VIDEO-ID"
data-cookiemark="marketing" data-cmk-label="YouTube"
width="560" height="315" title="Our product in two minutes"></iframe>L’attribut facultatif data-cmk-label affiche le nom du service sur l’espace réservé. Donnez au cadre une largeur width et une hauteur height : l’espace réservé prend alors la même forme, et la page ne saute pas quand la vidéo se charge. Les images avec data-src et le même attribut sont libérées de la même façon, sans espace réservé.
L’espace réservé
Le bouton de l’espace réservé autorise la catégorie de ce contenu intégré et laisse le reste du choix du visiteur tel quel. C’est un vrai choix : il est enregistré et consigné dans le journal comme les autres. Les cadres que personne ne voit, comme un pixel de suivi d’un pixel sur un, n’ont pas d’espace réservé. Ils restent bloqués, sans espace réservé.
Vous pouvez modifier les textes de l’espace réservé sous Textes. Le texte contient %s à l’endroit où vient le nom de la catégorie.
Quand un visiteur retire son consentement
Un script déjà exécuté ne peut pas être arrêté. Quand un visiteur désactive une catégorie qu’il avait autorisée, Cookiemark recharge donc la page par défaut. Avant le rechargement, il supprime les cookies de cette catégorie qui figurent dans votre liste des cookies, sur votre domaine et ses domaines parents. Vous pouvez désactiver le rechargement sous Paramètres.
Les cookies qu’un tiers a déposés sur son propre domaine sont hors de portée de tout script de votre site. Ils expirent d’eux-mêmes.
Ce que le blocage dans le navigateur ne peut pas empêcher
Cookiemark s’exécute dans le navigateur du visiteur : il ne peut agir que sur ce qui se passe après son démarrage. Gardez ces limites en tête.
- Un script placé au-dessus de la ligne Cookiemark s’exécute avant que Cookiemark existe. Gardez la ligne en première position dans le head.
- Un script inline sans
srcn’est jamais reconnu automatiquement. Marquez-le vous-même. - Une requête qu’un script a déjà envoyée ne peut pas être annulée. C’est pourquoi un retrait du consentement recharge la page.
- Une balise qui s’exécute dans Tag Manager n’est pas un script de votre page. C’est Tag Manager qui décide quand elle s’exécute : donnez-lui donc un déclencheur de consentement.
Une analyse montre ce qui passe encore entre les mailles. Elle liste chaque cookie que vos pages déposent avant le choix du visiteur, et qui le dépose.