Чи є налаштування в Google Analytics для придушення використання файлів cookie для користувачів, які ще не дали згоду


171

Відповідно до статті 5 (3) ЄС Директиви про конфіденційність щодо електронної конфіденційності (також називається "Закони про cookie"), веб-сайти, орієнтовані на користувачів ЄС, повинні отримати згоду від користувачів перед тим, як встановити файл cookie.

Див. Рекомендації ICO

Я намагаюся розмістити це з Google Analytics на своєму веб-сайті.

Я думаю, що Google Analytics (GA) може виконати певний рівень збору аналітичних даних, не вимагаючи використання файлів cookie.

Однак я не можу знайти жодної інформації на цьому (на сайтах / панелях налаштуваннях Google) про те, як повернути Google інформацію про "стан згоди" під час запиту на сторінку. Отже, мій єдиний варіант , здається, що я не повинен вставляти код тегів Google на всіх , якщо користувач явно не дав згоду. Що здається трохи драстичним.

Якщо hasConsentedToCookies=FALSEдозволити моєму скрипту на сервері встановити прапор у тегах JavaScript, я б дозволив мені доручити сервісам Google працювати у вишуканому стані.

Чи є налаштування в Google Analytics для придушення використання файлів cookie для користувачів, які ще не дали згоду?

Якщо так, то де я можу знайти інформацію про це?


2
Оновлення: це питання використовувалося для запитання про Adsense та Analytics, але оскільки відповідь на кожну може бути різною, я витягнув із цього питання аспект "Google Adsense" , щоб кожен був більш згуртованим.
JW.


Про всяк випадок, коли ви цього не знаєте: Ви чули про piwik? ( piwik.org )
TheHippo

Добре і цікаве питання!
Роб

Google каже, що ви можете відключити файли cookie, однак це, здається, не працює, або я щось не так. Посилання: developers.google.com/analytics/devguides/collection/…

Відповіді:


149

EDIT (2019): наведена нижче відповідь передує GDPR і, ймовірно, потребує перегляду.

Google Analytics має новий набір API, який допомагає дотримуватися відмови від використання файлів cookie. Ось документація , і ось їх довідкові документи .

Існувала певна неоднозначність щодо того, чи вимагає Положення ЄС щодо файлів cookie (як це застосовується в країнах-членах), щоб пасивне відстеження веб-аналітики вимагало механізмів дотримання. Якщо ви так чи інакше стурбовані, зверніться до адвоката. Google надає повноваження вам приймати рішення щодо того, як ви хочете продовжити.

Вони залишать вам дані про впровадження, але ідея полягає в тому, що коли ви визначите, слід відстежувати користувача в Google Analytics, якщо відповідь не відстежувати, ви встановите для цього властивості справжнє значення перед Google Аналітика працює:

window['ga-disable-UA-XXXXXX-Y'] = true;

Де UA-XXXXXX-Y - ідентифікатор вашого облікового запису в Google Analytics

Як зазначають інші афіші, Google Analytics покладається на файли cookie. Отже, ви не в змозі провести будь-який вид відстеження без файлів cookie. Якщо ви визначили, що когось не потрібно використовувати для відстеження, вам потрібно буде реалізувати щось подібне:

if(doNotCookie()){
   window['ga-disable-UA-XXXXXX-Y'] = true;
}

Вибрати в

Для цього потрібно небагато джу-джитсу під час першого завантаження Google Analytics, оскільки цей ресурс потрібно буде встановити до запуску Google Analytics, щоб запобігти тому, щоб відслідковуватися не було, а це означає, що підхід "відмовитись у відстеженні" ймовірно, потрібно буде впровадити механізм, коли під час першого відвідування Google Analytics автоматично відключається за відсутності файлу cookie для входу (файли cookie, які визначають налаштування файлів cookie, явно дозволені), а потім, якщо відбудеться відключення, повторно запускає Google Analytics. На наступних переглядах сторінок все буде працювати плавно.

Може виглядати приблизно так (псевдо-код):

if( hasOptedOut() || hasNotExpressedCookiePreferenceYet() ){ //functions you've defined elsewhere
     window['ga-disable-UA-XXXXXX-Y'] = true;
}
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
  _gaq.push(['_trackPageview']);


  function onOptIn(){ //have this run when/if they opt-in.
      window['ga-disable-UA-XXXXXX-Y'] = false;
      //...snip...
      //set a cookie to express that the user has opted-in to tracking, for future pageviews
      _gaq.push(['_trackPageview']); // now run the pageview that you 'missed'
   }

Відмовитися

При такому підході ви дозволите користувачеві відмовитися від відстеження, що означатиме, що ви використовуєте файл cookie для встановлення ga-disable-UA-XXXXXX-Y'ресурсу та cookie для управління ним у майбутньому:

if( hasOptedOut() ){ // function you've defined elsewhere 
     window['ga-disable-UA-XXXXXX-Y'] = true;
}

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXX-Y']);
  _gaq.push(['_trackPageview']);

2
Крихітна нітпік на гарну відповідь - якщо (doNotCookie () {має бути, якщо (doNotCookie ()) {
Roee Shenberg,

1
Дякую за відповідь. Хоча я б не сказав "проконсультуватися з адвокатом". Напевно, швидше для тех, хто читає та розуміє вказівки, ніж знадобиться адвокат, щоб дізнатись нюанси технічних можливостей.
JW.

1
Я повинен розуміти, що якщо користувач вирішив НЕ зберігати файли cookie, рішення полягає в тому, щоб зберігати файли cookie з такими налаштуваннями? Або це печиво не вважається предметом регулювання ЄС?
Джонатан Горсман

5
Так. Більшість правил, які я бачив (зокрема, у Великобританії та, я вважаю, у Франції) прямо говорять про те, що файл cookie, який зберігає їхні налаштування файлів cookie, не є порушенням правил. Оскільки файли cookie - єдиний універсально доступний спосіб зберігання стану у веб-переглядачі, цього немає.
Яхель

17

Ви можете відключити використання файлів cookie для Google Analytics, вказавши {'storage' : 'none'}параметр під час створення екземпляра трекера.

Детальнішу інформацію див. У посібнику Google щодо цього питання .


1
Посібник говорить, що якщо ви відключите файли cookie, вам доведеться самостійно здійснити подібне відстеження, тому, здається, це не допоможе.
mpartel

4
@mpartel Ви втрачаєте деяку інформацію: повернення відвідувачів та багатоканальну конверсію. Але якщо вони вам не потрібні, це все одно прийнятно.
Алі

16

Як коротке зауваження, BBC (мабуть, найпопулярніший сайт у Великобританії) взяла цікавий підхід до дотримання файлів cookie - вони показали користувачам банер, який повідомляє їм, що файли cookie встановлюються та надають пару посилань.

Цей пояснює, що таке куки. Цей дозволяє їм керувати файлами cookie , але найцікавіше, що вони надають посилання на Google Analytics, щоб користувачі могли повністю відмовитися від Google Analytics . Отже, підсумовуючи, BBC подумала, що він може повідомити користувачеві, які файли cookie встановлені, а потім надати посилання на Google, щоб дозволити користувачеві відмовитися від усіх файлів cookie GA. Для мене це набагато менше клопоту, ніж ви сказали GA відмовитися від адреси через JS.


13
Я дійсно не вважаю, що рішення BBC прийнятне. Насправді, їх рішення принципово хибно, принаймні з трьох причин: 1) він встановлює файли cookie перед тим, як запитати, чи готові ви їх прийняти; 2) він повинен встановити файл cookie, щоб зберегти ваші налаштування cookie, і 3) заявляє, що сайт не контролюватиме сторонні файли cookie, що прямо порушує дух, якщо не букву директиви ЄС. Я підозрюю, що Бібс буде примхнутий до цього, оскільки вони намагаються просунути межі закону якомога більше способів, з'являючись інакше.
Девід Т. Макнет

Погляньте на blogs.wsj.com/tech-europe/2012/05/25/…, щоб отримати добру дискусію.
Девід Т. Макнет

Звичайно, можливо, я помиляюся - мабуть, вони змінили вимоги? blog.silktide.com/2012/05/… розповідає про зміну вимог, тому я більше не знаю. Просто не знаю про цих людей, і я ЖИТИМ тут (поки що)!
Девід Т. Макнет

У Реєстрі є банер, який говорить, що продовжуючи користуватися їхнім сайтом, вони вважають, що ви погоджуєтесь дозволити їм використовувати файли cookie, а також кнопку прийняття.
iamichi

6
@MartinClarke - Ну ... насправді, я не настільки впевнений, що я б дотримувався керівництва медіа-компанії, зокрема, тому що я очікував би, що BBC обіймає особливу позицію у Великобританії, і, швидше за все, це буде сказано вгору, а не штрафувати штрафом. Я думаю, що це більше питання ризику - BBC не має великого ризику, як орган, що фінансується державою, тоді як комерційний сайт може мати.
Девід Т. Макнет

15

Я часто ніколи не прошу користувачів відмовитися від Google Analytics, тому що я ніколи не встановлюю файли cookie та я ніколи не зберігаю їх ip (та інші особисті дані).

(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','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-98765432-1', 'www.example.com', {
  'anonymizeIp': true
  , 'storage': 'none'
  , 'clientId': window.localStorage.getItem('ga_clientId')
});
ga(function(tracker) {
  window.localStorage.setItem('ga_clientId', tracker.get('clientId'));
});
ga('send', 'pageview');

Ознайомтесь також з цим кодом на сторінці Перетворити файли cookie Google Analytics у локальне / сесійне зберігання

Цей сценарій не встановлюватиме файли cookie, але все одно відстежуватиметься за допомогою Google Analytics. Це насправді матиме такий же ефект на конфіденційність, як використання файлів cookie, оскільки Google все ще записує IP-адресу користувачів.

Саме тут надходить перемикач anonymousmizeIp. Це вказує google зберігати лише анонімізовану версію IP-адреси. Анонімізована IP-адреса не вважається особистими даними, тому конфіденційність користувачів буде дотримана.

Закон про файли cookie AFAIK стосується конфіденційності та дозволяє веб-сайту відстежувати їх використання. Я не юрист чи що-небудь, але, на мій погляд, цей сценарій відповідає закону про печиво ЄС.

Перевірте цей планк, щоб побачити його в дії: http://plnkr.co/MwH6xwGK00u3CFOTzepK


привіт, це не завжди безпечний підхід: ось причини.
цезарсол

Саме для цього є 'anonymizeIp': trueваріант, це не буде зберігати ip-адресу. Мені подобається використовувати локальне зберігання файлів cookie з декількох причин, які не мають нічого спільного із законом про cookie.
Елмер

5
Ні, це зовсім не відповідає: - anonymousmizeIp вводить в оману і все ще зберігає занадто багато інформації відповідно до законодавства ЄС - LocalStorage вважається "Cookie" законами ЄС. Отже, цей фрагмент коду дає менше інформації в GA і все ще не відповідає із законом.
Відмовитись

"Закон про куки ЄС" - це фактично директива, тому він залежить від конкретних законів членів ЄЕ. Наприклад, італійський орган конфіденційності чітко зазначив, що для італійського закону згода користувача не потрібна, якщо анонімізувати IP-адресу та відключити обмін даними з іншими службами на консолі Google Analytics.
mcont

4
@Flunch " anonymousmizeIp вводить в оману і все ще зберігає занадто багато інформації відповідно до законодавства ЄС" Будь ласка, надайте посилання. Чому це не прийнятно, і коли це буде нормально? Що таке "занадто багато інформації" ?
Алі

3

Ви можете відключити файли cookie аналітики google, додавши цей код у верхній частині коду аналітики google (перед рядком: var _gaq = _gaq || [];):

ga('create', 'UA-XXXXXX-XX', {'storage': 'none'});
ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

Однак деякі функції Google Analytics (наприклад, статистика в режимі реального часу) не працюють належним чином після цієї модифікації. Докладніше про файли cookie з аналітики Google: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains?hl=uk#disableCookies


що var clientId = ...робив би код? Наскільки я знаю, вона визначає локальну змінну всередині функції, чи не марна вона?
цезарсол

я думаю , що це тільки приклад, ви повинні використовувати clientIdвсередині функції , як це робиться на stackoverflow.com/questions/4502128 / ...
caesarsol

1

Поширений спосіб впоратися з цим поки що - це метод, який використовується плагіном jquery-програмного забезпечення wolf-software, за допомогою якого він запобігає виконанню сценарію, поки користувач не ввімкне. Однак ICO оновила свої вказівки минулого тижня, проте сказати, що на це покладатися прийнятно ' мається на увазі згода 'такого типу, який використовується на сайті BBC. Хоча я справді не думаю, що це в дусі закону, це вважається прийнятним тими, хто їх застосовує. Зважаючи на те, що більшість країн ЄС ще не виконали цю директиву, я б сказав, що дуже ймовірно, що вони дотримуватимуться керівництва Великобританії.

Тут є цікава стаття про оновлення у Великобританії:

http://www.redant.com/articles/eu-cookie-law-update-ico-adopts-softly-softly-approach/


1

EDIT: Для цього існує налаштування Google Analytics із асинхронним фрагментом GA.

Для цього немає налаштувань Google Analytics, як ви пропонуєте, вам слід умовно виключити сценарій для тих, хто не погодився, якщо ви хочете використовувати сценарій відстеження Javascript Google Analytics.

Там уже є кілька рішень, які можуть бути корисними замість того, щоб прокручувати власні. Javascript: http://cookies.dev.wolf-software.com/demo/index.htm

Ось рішення, яке дозволяє використовувати основні функції Google Analytics без файлів cookie, виконуючи сторону сервера відстеження, цей приклад є на PHP: http://techpad.co.uk/content.php?sid=205


Дякуємо за посилання. дуже корисні посилання.
JW.

1

Для менш нав'язливого рішення UX можна встановити мається на увазі згоду на аналітичні файли cookie google, розмістивши посилання на: cookiestatement.eu (без javascript, без спливаючих вікон, без реклами)


1

Вибачте за те, що запізнився відповісти, але нещодавно я шукав те саме, поки сам не знайшов спосіб. Це може бути не правильним способом, але це працює. (лише роботи на розглянутому сайті не відмовляються від GA повністю). Я перевірив кілька днів, щоб переконатися.

Так, як мені вдалося це зробити, - це використовувати cookie PHP. Спочатку почніть з додавання analyticstracking.php, включаючи ...

<?php include_once('analyticstracking.php'); ?>

і в analyticstracking.php додайте наступне ...

<?php
if($_COOKIE['consent_cookie']=="Y"){
?>

<script type="text/javascript">
var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-********-*']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript';     ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :      'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0];      s.parentNode.insertBefore(ga, s);
  })();
</script>

<?php   
}
else{
//do nothing
}
?>

Перед тим, як користувач погодиться на використання файлів cookie Google Analytics не працюватиме, і коли вони з'являться, 'згоду_cookie' буде збережено і дозволить GA працювати, але якщо файл cookie 'google' буде знищений, він припинить роботу GA (очевидно).

Як я сказав, це може бути не правильним шляхом, але я спробував і перевірив, і це. Сподіваюся, це комусь допомагає.


0

Я зіткнувся з тією ж проблемою.

Врешті-решт я отримав рішення у відповіді Елмера, але в безпеці щодо IP-адрес, тобто без використанняlocalStorage

// Create a fake ID instead of storing anything locally
function guidGenerator() {
    var S4 = function() {
       return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
    };
    return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}

...
ga('create', 'UA-XXXXXX-Y', {
        'storage': 'none',
        'clientId': guidGenerator()
});

(-) Кожна відвідана сторінка вважатиметься новим відвідувачем у Google Analytics, тому я втрачаю досить багато функцій.

(+) Але я можу з цим жити, і я вважаю, що в безпеці щодо законодавства про конфіденційність даних.

Будь-які пропозиції щодо зворотного зв’язку чи покращення є більш ніж вітаються


-3

GA не працює без файлів cookie, йому потрібно «визначити» відвідувача, якщо він / вона відвідував ваш сайт раніше. Так що в GA немає налаштувань для цього, GA просто не записує відвідувача, якщо він не може створити файл cookie.

Якщо користувач є з ЄС і не зареєструвався, ви повинні виключити сценарій google-analytics, який я думаю.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.