Помещение gtag в сценарий согласия cookie
Я пытаюсь внедрить диалог согласия на использование файлов cookie, который (в самом себе) устанавливает файл cookie, запрашивая у пользователя "отклонить" или "разрешить" файлы cookie с помощью сценария со https://cookieconsent.insites.com/download/.
Мой сайт использует Google Analytics.
Кажется, не имеет значения, где я размещаю код Google.
В его нынешнем виде "ga", "_gat_gtag_UA...", "gid" и "cookieconsent_status" создаются при нажатии "отклонить" или "разрешить". но в инструментах разработчика Mozilla также сообщается об ошибке "недоступный код".
Я сделал это, потому что Google говорит, что "ga_disable" должен прийти перед любыми вызовами gtag (). ( https://developers.google.com/analytics/devguides/collection/gtagjs/user-opt-out}
Когда 2 сценария Google размещаются один за другим (либо до, либо после сценария согласия на использование файлов cookie), ошибка кода исчезает, записываются 3 вышеуказанных файла "ga" и все файлы cookie google.com записываются независимо от того, "отклонены" или нет. "или" принять "нажата.
Цель состоит в том, чтобы предотвратить любые cookie-файлы при "отклонении" и записать все cookie-файлы при "разрешении", с возможностью изменения пользователем своего мнения в соответствии со сценарием согласия на использование cookie-файлов.
Любое руководство будет оценено.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible"
content="IE=edge,chrome=1" />
<title>Example</title>
<meta name="description"
content="My description" />
<meta name="viewport"
content="width=device-width, initial-scale=1" />
<meta name="language"
content="en-us" />
<meta name="robots"
content="INDEX,FOLLOW" />
</head>
<body>
<p>Hello World!</p>
<?php // Permission to deline or allow cookies -- https://cookieconsent.insites.com/download/# ?>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
onInitialise: function (status) {
var type = this.options.type;
var didConsent = this.hasConsented();
if (type == 'opt-in' && didConsent) {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
if (type == 'opt-out' && !didConsent) {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
},
onStatusChange: function(status, chosenBefore) {
var type = this.options.type;
var didConsent = this.hasConsented();
if (type == 'opt-in' && didConsent) {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
if (type == 'opt-out' && !didConsent) {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
},
onRevokeChoice: function() {
var type = this.options.type;
if (type == 'opt-in') {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
if (type == 'opt-out') {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
}, "palette": {
"popup": {
"background": "#237afc"
},
"button": {
"background": "#fff",
"text": "#237afc"
}
},
"theme": "classic",
"position": "bottom-right",
"type": "opt-in",
"content": {
"dismiss": "Decline Cookies",
"link": "Learn more.",
"href": "https://cookiesandyou.com/"
}
})});
</script>
<?php // Global site tag (gtag.js) Second gtag script installed above in 'enable cookies' ?>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119555859-1"></script>
</body>