このページで行うこと
Osano の Cookie Consent (Open Source 版) を使ってみる。
Compliance type
Let users opt out of cookies (Advanced)
コード
if(!isset($_COOKIE['cookieconsent_status']) ||
strcmp(strtolower($_COOKIE['cookieconsent_status']), 'allow') === 0) {
// セッションをスタートさせる(セッションクッキーを発行する)
session_start();
} else if (strcmp(strtolower($_COOKIE['cookieconsent_status']), 'deny') === 0) {
// セッションを終了させる(セッションクッキーを期限切れにする)
setcookie (session_id(), "", time() - 3600);
session_destroy();
session_write_close();
}
(省略)
// <head> 内で Google Analytics のコードを出力するところ
if (!isset($_COOKIE['cookieconsent_status']) ||
strcmp(strtolower($_COOKIE['cookieconsent_status']), 'allow') === 0) {
// ここでコードを出力する
}
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#000"
},
"button": {
"background": "#f1d600"
}
},
"type": "opt-out",
onInitialise: function (status) {
const type = this.options.type,
didConsent = this.hasConsented();
if (type == 'opt-out' && !didConsent) {
// disable cookies
document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "_ga=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
document.cookie = "_gid=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
document.cookie = "_gat_gtag_UA_XXXXXXXX_YY=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
}
},
onStatusChange: function (status, chosenBefore) {
const type = this.options.type,
didConsent = this.hasConsented();
if (type == 'opt-out' && !didConsent) {
// disable cookies
//window['ga-disable-UA-XXXXXXXX_YY'] = true;
document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "_ga=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
document.cookie = "_gid=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
document.cookie = "_gat_gtag_UA_XXXXXXXX_YY=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=laboradian.com; path=/;";
}
},
// 再度、ポップアップを表示させたとき
onRevokeChoice: async function () {
const type = this.options.type;
if (type == 'opt-out') {
// enable cookies
//await fetch('')
}
}
});
Google Analytics のスクリプトを読み込む前であれば、以下を実行して Google Analytics を無効にできる。
window['ga-disable-UA-XXXXXXXX_YY'] = true;