编辑(2019):以下答案早于GDPR,可能需要修改。
Google Analytics(分析)具有一组新的API,可帮助您选择停用Cookie。这是文档,这是他们的帮助文档。
关于“欧盟Cookie规章”(在成员国中执行)是否要求被动式Web分析跟踪要求采用合规性的选择性机制一直存在一些歧义。如果您担心某种方式,请咨询律师。Google会授权您决定要如何进行。
他们会将实现细节留给您,但是,主意是,一旦确定是否要在Google Analytics(分析)中跟踪用户,如果答案是不跟踪,则应在Google之前将以下属性设置为true分析运行:
window['ga-disable-UA-XXXXXX-Y'] = true;
其中UA-XXXXXX-Y是您在Google Analytics(分析)中的帐户ID
正如其他张贴者所指出的那样,Google Analytics(分析)依赖于Cookie。因此,如果没有Cookie,您将无法进行任何形式的跟踪。如果您确定不为跟踪而添加Cookie,则需要实施以下操作:
if(doNotCookie()){
window['ga-disable-UA-XXXXXX-Y'] = true;
}
选择参加
首次加载Google Analytics(分析)时确实需要一些柔术,因为需要在运行Google Analytics(分析)之前设置此属性,以防止发生跟踪,这意味着对于“选择跟踪”方法, d可能需要实现一种机制,在首次访问时,如果没有选择加入cookie(明确允许使用cookie来确定cookie偏好设置的cookie),则Google Analytics(分析)会自动停用,然后,如果发生选择加入,则重新运行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']);