Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 1-2 h
Cookies et traceurs avant consentement
Corrigez les scripts analytiques, marketing et tiers qui s'activent avant que le visiteur n'ait fait un choix de consentement.
Couvre: pre_consent_analytics_cookie, pre_consent_marketing_cookie, pre_consent_tracker
- Re-run the scan in a fresh session and confirm the finding disappears.
- Verify that no non-essential cookies are set before interaction.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 30-90 min
Bannière de consentement absente
Rétablissez ou déployez une bannière de consentement de premier niveau avant tout tracking ou stockage optionnel.
Couvre: no_consent_banner, no_consent_banner_cmp_signals
- Clear cookies and re-open the site to confirm the banner appears immediately.
- Reject optional cookies and verify the site remains usable.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 15-60 min
Aucune option de refus ou refus masqué
Rendez le refus aussi simple et visible que l'acceptation en corrigeant les actions Reject absentes, cachées ou affaiblies.
Couvre: no_reject_option, reject_suppressed, reject_below_fold
- Verify Reject is visible and clickable above the fold on both desktop and mobile.
- Click Reject and confirm optional tags do not fire.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-2 h
Mur de cookies
Supprimez les mécanismes qui bloquent l'accès au contenu tant que le visiteur n'a pas accepté le tracking optionnel.
Couvre: cookie_wall
- Reject optional cookies and confirm content remains visible and usable.
- Confirm only optional processing is disabled, not the page itself.
Gravité: MoyenneResponsable: MarketingTemps de correction: 30-120 min
Cookies non classifiés
Classez les cookies inconnus, documentez leur finalité et évitez d'envoyer en production du stockage non déclaré.
Couvre: unclassified_cookie
- Re-run cookie inventory after categorizing the unknown entries.
- Confirm declarations and CMP category labels match the runtime cookies.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 1-2 h
Incohérence Google Consent Mode
Corrigez les cas où les tags Google se comportent comme si le consentement était accordé alors que l'état d'exécution indique denied.
Couvre: consent_mode_mismatch, consent_mode_default_granted, consent_mode_runtime_conflict
- Reject optional consent and confirm that Google analytics or ads requests do not fire.
- Accept consent and confirm requests start only after the consent update.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-3 h
Requêtes tierces avant consentement
Empêchez les fournisseurs optionnels d'émettre des appels réseau avant que le visiteur n'ait choisi de les autoriser.
Couvre: pre_consent_third_party_request, third_party_data_flow_before_consent
- Confirm that only essential third-party requests remain before consent.
- Accept optional consent and verify optional vendors load only afterward.
Gravité: MoyenneResponsable: DéveloppementTemps de correction: 30-90 min
Google Fonts avant consentement ou chargement externe des polices
Hébergez les polices localement et supprimez les appels distants qui exposent des requêtes avant l'opt-in.
Couvre: pre_consent_external_font, google_fonts_before_consent
- Reload the page with a clean cache and confirm no Google Fonts requests occur.
- Check multiple templates and breakpoints to ensure no remote font reference remains.
Gravité: MoyenneResponsable: DéveloppementTemps de correction: 30-120 min
Cookies de tracking non sécurisés (problèmes Secure ou SameSite)
Renforcez les attributs des cookies pour que les cookies optionnels ne soient pas livrés avec des paramètres de sécurité faibles.
Couvre: tracking_cookie_missing_secure, tracking_cookie_missing_samesite, insecure_tracking_cookie
- Inspect cookies again after deployment and confirm attributes changed as expected.
- Test in Chrome and another major browser to catch cross-browser differences.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-3 h
Fingerprinting avant consentement
Différez ou remplacez les scripts qui sondent le navigateur avant que le visiteur n'ait fait son choix de consentement.
Couvre: pre_consent_fingerprinting_signal, fingerprinting_risk_before_consent
- Confirm fingerprinting-sensitive APIs no longer run before consent.
- Re-test after Accept to ensure optional vendors still work when consent is granted.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 1-2 h
Google Consent Mode non détecté
Implémentez les valeurs par défaut et les mises à jour de Consent Mode pour que les tags Google reçoivent un état de consentement explicite au lieu de fonctionner sans signal.
Couvre: consent_mode_not_detected, consent_mode_missing
- Vérifiez que les valeurs par défaut de Consent Mode sont présentes dès le premier chargement avant les tags optionnels.
- Vérifiez que Reject maintient les états storage Google à denied.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 30-90 min
Analytics avant consentement
Empêchez les outils d'analytics de se charger ou d'écrire du stockage avant que le visiteur n'ait explicitement donné son accord.
Couvre: pre_consent_analytics_cookie, analytics_before_consent
- Confirmez qu'aucune requête analytics ne part avant consentement.
- Confirmez qu'aucun cookie analytics n'est défini tant que l'utilisateur n'a pas accepté.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 30-90 min
Cookies marketing avant consentement
Bloquez les cookies et scripts publicitaires ou de retargeting tant que l'utilisateur n'a pas explicitement accepté le marketing.
Couvre: pre_consent_marketing_cookie, marketing_cookie_before_consent
- Confirmez qu'aucun cookie marketing n'existe avant consentement.
- Confirmez qu'aucune requête vers les réseaux publicitaires ne part tant que l'utilisateur n'a pas accepté.
Gravité: ÉlevéeResponsable: MarketingTemps de correction: 30-60 min
Meta Pixel avant consentement
Empêchez Meta Pixel de charger ou d'envoyer des événements tant que le visiteur n'a pas accordé le consentement marketing requis.
Couvre: meta_pixel_before_consent, pre_consent_meta_pixel
- Confirmez qu'aucune requête Meta n'est émise avant consentement.
- Confirmez que les cookies Meta restent absents en état denied.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 30-60 min
GA4 avant consentement
Retardez Google Analytics 4 jusqu'à ce qu'un consentement analytics valide soit accordé et vérifiez que les paramètres Consent Mode restent cohérents.
Couvre: ga4_before_consent, pre_consent_ga4
- Confirmez qu'aucun appel GA4 ne part avant consentement analytics.
- Confirmez que les cookies `_ga` restent absents avant opt-in.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-2 h
Tags GTM déclenchés avant consentement
Corrigez les déclencheurs GTM pour que les tags optionnels n'exécutent rien tant que le consentement requis n'a pas été accordé.
Couvre: gtm_tags_before_consent, pre_consent_gtm_fire
- Confirmez en mode Preview qu'aucun tag GTM optionnel ne part avant consentement.
- Confirmez qu'au premier chargement seuls les tags essentiels restent actifs.
Gravité: ÉlevéeResponsable: Admin CMPTemps de correction: 15-45 min
Reject uniquement dans la seconde couche
Affichez Reject dès la première couche au lieu d'obliger l'utilisateur à ouvrir des préférences ou à cliquer davantage pour refuser le traitement optionnel.
Couvre: reject_in_second_layer, reject_not_first_layer
- Confirmez que Reject est présent dans la première couche sur desktop et mobile.
- Confirmez qu'un Reject en first-layer bloque les tags optionnels.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 30-90 min
La bannière de consentement n'apparaît pas sur mobile
Corrigez les problèmes de viewport, CSS et lazy-load qui font disparaître ou empêchent le rendu de la bannière sur mobile.
Couvre: mobile_banner_missing, consent_banner_mobile
- Confirmez que la bannière apparaît sur un vrai appareil mobile.
- Confirmez que l'utilisateur peut utiliser Accept et Reject sur mobile.
Gravité: MoyenneResponsable: DéveloppementTemps de correction: 30-90 min
L'état de consentement n'est pas persisté
Corrigez le stockage et le comportement au rechargement pour que le choix du visiteur soit mémorisé et appliqué sur les pages et les sessions.
Couvre: consent_not_persisted, consent_state_lost
- Confirmez que le même choix persiste après reload et navigation inter-pages.
- Confirmez que Reject reste denied lors d'une nouvelle visite.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-2 h
Embeds tiers avant consentement
Retardez YouTube, cartes, chat, réservation et autres embeds tiers jusqu'à ce que le visiteur ait consenti ou choisi explicitement de les charger.
Couvre: pre_consent_embed, third_party_embed_before_consent
- Confirmez qu'aucun fournisseur d'embed ne reçoit de requête au premier chargement.
- Confirmez que l'embed ne se charge qu'après opt-in ou click-to-load.
Gravité: ÉlevéeResponsable: MarketingTemps de correction: 15-45 min
Hotjar avant consentement
Empêchez Hotjar de charger des scripts de session replay ou de heatmap avant que le visiteur n'ait accordé un consentement analytics ou marketing.
Couvre: hotjar_before_consent, pre_consent_hotjar
- Confirmez que Hotjar ne se charge pas avant consentement.
- Confirmez que les cookies Hotjar sont absents en pré-consentement.
Gravité: MoyenneResponsable: MarketingTemps de correction: 30-120 min
Déclaration cookies obsolète
Alignez votre déclaration cookies publiée avec les cookies et fournisseurs réellement observés dans les preuves runtime.
Couvre: cookie_declaration_outdated, declaration_mismatch
- Confirmez que chaque cookie observé figure dans la déclaration.
- Confirmez que les vendors retirés n'y figurent plus s'ils ne tournent plus.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-2 h
Des cookies sont encore définis après Reject
Corrigez les parcours où des cookies ou requêtes optionnels continuent malgré un rejet explicite du tracking par le visiteur.
Couvre: cookies_after_reject, reject_not_enforced
- Reject puis reload: confirmez que les cookies optionnels restent absents.
- Reject puis reload: confirmez que les requêtes optionnelles restent bloquées.
Gravité: MoyenneResponsable: DéveloppementTemps de correction: 30-90 min
Bannière de consentement bloquée par CSP
Mettez à jour la Content Security Policy pour permettre au script CMP, aux styles ou aux ressources iframe de charger sans ouvrir inutilement la sécurité.
Couvre: cmp_blocked_by_csp, consent_banner_csp_error
- Confirmez que les erreurs CSP liées aux assets CMP disparaissent.
- Confirmez que la bannière se rend normalement et accepte les interactions utilisateur.
Gravité: ÉlevéeResponsable: DéveloppementTemps de correction: 1-3 h
Problèmes de consentement avec GTM server-side
Alignez le routage GTM server-side et la propagation du consentement pour que le tagging côté serveur ne contourne pas l'état de consentement du visiteur.
Couvre: ssgtm_consent_issue, server_side_gtm_before_consent
- Confirmez qu'aucun événement optionnel n'est proxyfié vers GTM server-side avant consentement.
- Confirmez que Accept active bien le flux d'événements prévu et que Reject le maintient denied.