Как можно игнорировать отслеживание Google, если браузер установил флажок "не отслеживать"?

Какова наилучшая практика для соблюдения через Javascript флага DNT, установленного в современных браузерах?

В конечном итоге я хочу отключить такие функции, как Google Analytics, пиксель Facebook и другие специальные коды отслеживания, если он установлен.

Есть ли какие-нибудь ошибки, о которых нужно знать?

1 ответ

Решение

Вы можете прочитать флаг, используя navigator.doNotTrack и условно загрузить эти трекеры.

Для Google Analytics вы можете использовать следующий код:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script>
    if (navigator.doNotTrack !== '1') {
        (function () {
            var ga = document.createElement('script');
            ga.type = 'text/javascript';
            ga.async = true;
            ga.src = 'https://www.googletagmanager.com/gtag/js?id=UA-ADD-YOUR-ID';
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(ga, s);
        })();
        window.dataLayer = window.dataLayer || [];
        function gtag() {
            dataLayer.push(arguments);
        }
        gtag('js', new Date());
        gtag('config', 'UA-ADD-YOUR-ID');
    }
</script>

(Также заменить ADD-YOUR-ID с вашим действительным удостоверением личности.)

Ресурсы

Другие вопросы по тегам