Cookie Consent Magento 2

In diesen Beitrag zeige ich ihnen, wie man den Cookie Hinweis in Magento 2 einbindet. Wichtig: Falls Sie das Google Analytics per Backend eingebunden haben, müssen Sie dieses deaktivieren.

 

Dies können Sie unter

Shops --> Konfiguration -> Umsatz --> Google API

 

Überprüfen und gegebenen Fall deaktivieren.

 

Im nächsten Schritt gehen Sie unter

 

Inhalt --> Konfiguration

 

und öffnen dort die jeweiligen Main Website Stores in welchen Sie Analytics weiterverwenden wollen.

 

Im Menü HTML-Kopf fügen Sie bei Skripte und Style Sheets folgenden Code ein:

 

<script>

var gaProperty = 'UA-XXXXXXXXX-X',

disableStr = 'ga-disable-' + gaProperty;

if (document.cookie.indexOf(disableStr + '=true') > -1) {

                window[disableStr] = true;

}

function gaOptout()

{

                document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';

                window[disableStr] = true;

}

function gaOptin()

{

                window[disableStr] = false;

                document.cookie = disableStr + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/';

}                             

</script>

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css" />

 

In diesen Code Abschnitt ersetzen Sie in der Zeile

 

var gaProperty = 'UA-XXXXXXXXX-X',

 

die X Platzhalter durch die API Nummer die Sie von Google Analytics bekommen haben.

 

Anschließend klicken Sie neben dem Textfeld auf „Standardwert verwenden“.

 

Als Nächstes fügen Sie den nachfolgenden Code im selben Menü unter

 

Fußzeile --> Diverses HTML

 

ein:

 

<script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js" data-cfasync="false"></script>

<script>

window.cookieconsent.initialise({

                "palette": {

                               "popup": {

                                               "background": "#000"

                               },

                               "button": {

                                               "background": "#f5f5f5"

                               }

                },

                "type": "opt-in",

                "content": {

                "message": "",

                "allow": "",

                "link": "",

                "deny": "",

                "policy": "",              

                },

                onInitialise: function (status) {

                               var type = this.options.type;

                               var didConsent = this.hasConsented();

                               if (type == 'opt-in' && didConsent) {

                                                               (function (i, s, o, g, r, a, m)

                                                               {

                                                                              i['GoogleAnalyticsObject'] = r;

                                                                              i[r] = i[r] || function ()

                                                                              {

                                                                                              (i[r].q = i[r].q || []).push(arguments)

                                                                              }, i[r].l = 1 * new Date();

                                                                              a = s.createElement(o),

                                                                                              m = s.getElementsByTagName(o)[0];

                                                                              a.async = 1;

                                                                              a.src = g;

                                                                              m.parentNode.insertBefore(a, m)

                                                               })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

                                                               ga('create', gaProperty, 'auto', {

                                                                              anonymizeIp: true

                                                               });

                                                               ga('set', 'anonymizeIp', true);

                                                               ga('send', 'pageview');

                                                               gaOptin();

                               }

                },

                onStatusChange: function(status, chosenBefore) {

                               var type = this.options.type;

                               var didConsent = this.hasConsented();

                               if (type == 'opt-in' && didConsent) {

                                                               (function (i, s, o, g, r, a, m)

                                                               {

                                                                              i['GoogleAnalyticsObject'] = r;

                                                                              i[r] = i[r] || function ()

                                                                              {

                                                                                              (i[r].q = i[r].q || []).push(arguments)

                                                                              }, i[r].l = 1 * new Date();

                                                                              a = s.createElement(o),

                                                                                              m = s.getElementsByTagName(o)[0];

                                                                              a.async = 1;

                                                                              a.src = g;

                                                                              m.parentNode.insertBefore(a, m)

                                                               })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

                                                               ga('create', gaProperty, 'auto', {

                                                                              anonymizeIp: true

                                                               });

                                                               ga('set', 'anonymizeIp', true);

                                                               ga('send', 'pageview');

                                                               gaOptin();

                               }

                               if (type == 'opt-in' && !didConsent) {

                                               gaOptout();

                               }

                },

                onRevokeChoice: function() {

                               var type = this.options.type;

                               if (type == 'opt-in') {

                                               gaOptout();

                               }

                }

});

</script>

 

Im letzten Schritt passen Sie den Cookie Hinweis wahlweise mit Ihren eigenen Texten an. Der hier aufgeführte Text ist nur ein Beispiel.

 

"content": {

"message": "Um die Webseite optimal gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu.",

"allow": "Cookies erlauben",

"link": "<a target='_blank' style='color:#fff;' href='/datenschutz'&gt Mehr Infos</a&gt",

"deny": "Ablehnen",

"policy": "Cookie Verwaltung",

},

 

Die Variablen haben folgende Bedeutungen:

 

Message: Diese Variable beinhaltet den Text mit dem Sie auf die Cookies aufmerksam machen.

 

Allow: Hier schreiben Sie den Text rein, welches der Akzeptieren Button beinhalten soll.

 

Link: Hier verlinken Sie per HTML auf die Datenschutzerklärung Ihrer Webseite. Falls die URL der Datenschutzerklärung bei Ihnen auf der Webseite mit /datenschutz endet, können Sie den Code unverändert übernehmen.

 

Deny: Hier schreiben Sie den Text rein, welches der Ablehnen Button beinhalten soll.

 

Policy: Diese Variable beinhaltet den Text, wenn der Cookie Hinweis eingeklappt ist.

 

Wenn Sie die Variablen ausgefüllt haben, klicken Sie auf Standardwert verwenden, speichern Sie die Änderungen ab und löschen unter

 

System --> Cache-Management

 

die Caches.

 

Beim Öffnen Ihrer Seite müsste jetzt der Cookie Hinweis eingeblendet werden. Wenn nicht muss als weiterer Schritt der Cache Ihres Browser gelöscht werden.

 

Zu Beachten ist jedoch das der Cookie Hinweis keine Verlinkungen zu den Datenschutzbestimmungen und dem Impressum verdeckt. Dies könnte nämlich zu Abmahnungen führen.

 

Hinweis: Falls Ihr Shop mehrsprachig sein sollte, ist es nötig diese Anleitung für jeden Store View zu wiederholen.