РЕДАКТИРОВАТЬ (2019): приведенный ниже ответ предшествует ВВПР и, вероятно, требует пересмотра.
В Google Analytics появился новый набор API-интерфейсов, которые помогают соблюдать запрет на использование файлов cookie. Вот документация , и вот их справочные документы .
Существует некоторая двусмысленность относительно того, требуют ли Правила о файлах cookie ЕС (как они применяются в странах-членах), что для пассивного отслеживания веб-аналитики требуются механизмы согласия на соответствие. Если вы так или иначе обеспокоены, проконсультируйтесь с адвокатом. Google дает вам возможность принять решение о том, как вы хотите действовать.
Они оставят вам детали реализации, но идея заключается в том, что после того, как вы определили, отслеживать или нет пользователя в Google Analytics, если ответ не отслеживать, вы должны установить для следующего свойства значение true, прежде чем 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']);