Comment ajouter un bandeau cookies à une boutique Shopware 6
Dans Shopware 6, ajoutez la balise depuis un plugin de thème qui étend le meta.html.twig de la vitrine, dans le bloc du head qui contient les scripts de suivi. Désactivez ensuite « Use default cookie notification » sous Settings, puis General, puis Basic information, pour que le gestionnaire de consentement intégré ne s’affiche plus, et sortez la balise Google des réglages de mesure d’audience du canal de vente, car cette balise attend le cookie de consentement propre à Shopware.Étapes
Où coller la balise dans Shopware 6
Shopware 6 n’a pas de champ de l’Administration pour le code du head. Les scripts du head viennent du modèle de vitrine layout/meta.html.twig, que vous étendez depuis votre thème ou un petit plugin, comme la documentation développeur de Shopware le décrit pour les balises script. Le bloc layout_head_javascript_tracking contient les scripts de suivi que Shopware imprime lui-même : la balise va donc là, avant eux :
twig{# <plugin root>/src/Resources/views/storefront/layout/meta.html.twig #}{% sw_extends '@Storefront/storefront/layout/meta.html.twig' %}{% block layout_head_javascript_tracking %}<script src="https://cookiequiet.com/cq.js" data-site="YOUR_SITE_KEY" data-consent-mode="1" data-auto-block="1" defer></script>{{ parent() }}{% endblock %}
Gardez {{ parent() }} : sans lui, le contenu d’origine du bloc ne s’imprimerait pas. Installez et activez le plugin s’il est nouveau, puis videz le cache (bin/console cache:clear). Les extensions du Shopware Store qui ajoutent du code au head font le même travail sans plugin à vous, à condition de l’imprimer dans le head.
Comment désactiver le gestionnaire de consentement aux cookies de Shopware
Shopware fournit son propre gestionnaire de consentement aux cookies, avec les catégories Technically required, Comfort functions, Statistics et Marketing. Dans les versions actuelles de Shopware 6, l’interrupteur se trouve dans l’Administration : Settings, puis General, puis Basic information, carte Legal and compliance, option Use default cookie notification. Le texte d’aide de Shopware indique de ne le désactiver que si vous utilisez une solution tierce, ce qui est le cas ici. Désactivez-le et enregistrez, pour que les visiteurs ne voient qu’un bandeau.
Les cookies propres à Shopware restent : le cookie session- pour le panier et la connexion et timezone sont techniquement nécessaires, et cookie-preference et cookie-config-hash (30 jours) appartenaient au gestionnaire intégré. Le scanner de cookies gratuit liste ce que vos extensions ajoutent.
Que devient l’intégration Google Analytics de Shopware ?
L’ID Google Analytics que vous saisissez dans les réglages de mesure d’audience d’un canal de vente est imprimé par Shopware lui-même. Son modèle règle les valeurs de consentement par défaut de Google sur refusé et ne charge la balise qu’une fois déposé le cookie de consentement à Google Analytics propre à Shopware, que son gestionnaire de consentement écrit. Ce gestionnaire désactivé, l’intégration reste muette. Deux options :
- Coller la balise vous-même. Retirez l’ID du canal de vente et ajoutez la balise Google dans le même bloc, après la balise Cookiequiet, marquée pour ne s’exécuter qu’avec le consentement à la mesure d’audience :
html<script type="text/plain" data-cq-category="analytics" src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script><script type="text/plain" data-cq-category="analytics">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-XXXXXXX');</script>
- Utiliser Google Tag Manager pour les événements e-commerce, avec Consent Mode alimenté par
data-consent-mode="1", comme dans le guide Google Tag Manager.
Les autres extensions qui déclarent leurs cookies auprès du gestionnaire de consentement de Shopware et l’attendent doivent être vérifiées une par une : soit l’extension permet de la charger sans condition (marquez alors son script ou laissez le bloqueur automatique le retenir), soit elle continue d’attendre un consentement qui ne vient plus. Les scripts injectés en JavaScript par environ 80 traceurs connus sont retenus par le bloqueur automatique de Cookiequiet jusqu’à ce que leur catégorie soit accordée ; voir bloquer les scripts jusqu’au consentement.
Comment ajouter le lien Préférences de cookies
La FAQ de Shopware utilise une catégorie de type lien pour ses propres réglages de cookies, et le même procédé fonctionne pour Cookiequiet : Catalogues, puis Categories, créez une catégorie nommée « Préférences de cookies », réglez son type sur Link, le type de lien sur External, désactivez l’option du protocole et saisissez #cq-preferences comme cible. Activez-la et placez-la dans la navigation du pied de page. Cookiequiet ouvre le centre de préférences depuis tout lien qui a cette adresse.
Comment tester
- Ouvrez la vitrine dans une fenêtre de navigation privée. La barre de cookies de Shopware doit avoir disparu et le bandeau de Cookiequiet s’afficher.
- Cliquez sur Tout refuser et vérifiez les cookies :
cq_consent, le cookiesession-, et aucun_gani_fbp. - Ajoutez un produit au panier et ouvrez la page de commande : le cookie de session conserve le panier.
- Effacez les cookies, cliquez sur Tout accepter, rechargez : les balises marquées s’exécutent. Consultez le registre des consentements dans le tableau de bord.
Cookiequiet est gratuit pour une boutique, ciblage géographique compris, et Starter coûte 3 € par site et par mois sans limite de pages vues, voir les tarifs.
Questions
Sources
- Shopware Developer : ajouter du JavaScript comme balise script (étendre meta.html.twig)
- Code source de Shopware : layout/meta.html.twig de la vitrine
- Code source de Shopware : réglages Basic information (useDefaultCookieConsent)
- Shopware Developer : gestion du consentement aux cookies
- Documentation Shopware : FAQ du Cookie Consent Manager
- Code source de Shopware : modèle analytics de la vitrine (valeurs de consentement par défaut de Google)