Как исправить отказ в решении для Google Analytics - PullRequest
0 голосов
/ 25 мая 2019

Я настраиваю новый веб-сайт и хочу отслеживать просмотры страниц с помощью Google Analytics.Поскольку я живу в ЕС, мне нужно соблюдать GDPR и внедрять решение о подписке, которое позволяет пользователям разрешать или запрещать использование файлов cookie до того, как они начнут отслеживаться.Я наткнулся на Cookie Consent и попытался использовать его решение opt-in, но, похоже, оно не работает.Несмотря на то, что баннер отображается, Google Analytics не начнет отслеживать после того, как вы нажмете «Принять».Буду очень признателен за вашу помощь.

Я уже пробовал это решение, но, к сожалению, оно не помогает: https://github.com/osano/cookieconsent/issues/489

Я также безуспешно пробовал этот код: https://www.dair -media.net / blog / google-analytics-mit-optin-Implementieren /

<!-- Instead of 'UA-XXXXXXXXX-X' I will be using my individual tag -->
<script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js"></script>
    <script>
    window.addEventListener("load", function(){
    window.cookieconsent.initialise({
      "palette": {
        "popup": {
          "background": "#dcdcdc",
          "text": "#000000"
        },
        "button": {
          "background": "#7fb2e5",
          "text": "#000000"
        }
      },
      "theme": "classic",
      "position": "bottom-left",
      "type": "opt-in",
      "content": {
        "message": "Some text",
        "dismiss": "Deny",
        "deny": "Deny",
        "allow": "Allow Cookies",
        "link": "Learn more",
        "href": "somelink"
      },
        onStatusChange: function(status, chosenBefore) {
         var type = this.options.type;
         var didConsent = this.hasConsented();
         if (type == 'opt-in' && didConsent) {
            window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
            ga('create', 'UA-XXXXXXXXX-X', 'auto');
            ga('set', 'anonymizeIp', true);
            ga('send', 'pageview');
            var gascript = document.createElement("script");
            gascript.async = true;
            gascript.src = "https://www.google-analytics.com/analytics.js";
            document.getElementsByTagName("head")[0].appendChild(gascript, document.getElementsByTagName("head")[0]);  
         }
         if (type == 'opt-out' && !didConsent) {
          window['ga-disable-UA-XXXXXXXXX-X'] = true;
         }
        },
        onRevokeChoice: function() {
         var type = this.options.type;
         if (type == 'opt-in') {
         window['ga-disable-UA-XXXXXXXXX-X'] = true;
         }
         if (type == 'opt-out') {
            window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
            ga('create', 'UA-XXXXXXXXX-X', 'auto');
            ga('set', 'anonymizeIp', true);
            ga('send', 'pageview');
            var gascript = document.createElement("script");
            gascript.async = true;
            gascript.src = "https://www.google-analytics.com/analytics.js";
            document.getElementsByTagName("head")[0].appendChild(gascript, document.getElementsByTagName("head")[0]);  

         }
        }
    })
});
</script>
    <script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXXXXXXX-X';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}

// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
  alert('Some alert');
}
</script>
</html>

Если вы откроете страницу, там не будет файлов cookie, что, конечно, мне нужно.Но тогда, даже если вы нажмете «Разрешить куки», они все равно не появятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...