我已經實現了Google analytics Opt out
功能,但我實際需要的是一個用戶選擇undo
他的行動。切換谷歌分析 - 選擇退出/選擇在
拉特說,用戶點擊按鈕退出,但後來改變了主意。在任何情況下,我們都希望進行該跟蹤,因此用戶有權重新啓用跟蹤是一件好事。
我遇到的問題是不確定如何處理這個問題。在這篇文章的最後是jsFiddle的例子。 我在做什麼最初包括跟蹤代碼,然後optionally creating the tracker
。
if (document.cookie.indexOf(disableGa + '=true') > -1) {
window[disableGa] = true;
// Remove the tracker
ga(function() {
ga('remove', gaProperty);
});
} else {
// Create the tracker
ga('create', gaProperty, 'auto', {
anonymizeIp: true
});
ga('send', 'pageview');
}
所以,當用戶到達頁面我要麼實例的創建跟蹤器,還是不行。 我不清楚的是remove
屬性。
在此之後,在頁面上有允許用戶切換GA狀態的按鈕。
功能與上述相同。但我也希望允許動態啓用Google分析的選項。
我處理的cookie按例子:
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXX-Y';
// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
// Opt-out function
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
}
然後我的想法是要註冊/註銷每個用戶請求的跟蹤器,但我不知道如果我做正確。
// Remove the tracker
ga(function() {
ga('remove', gaProperty);
});
不知道是否值得一提,但我在一個Angular應用中實現了這一點。
此外,我有條件地創建和刪除的原因是因爲我記得在發佈ga('create')
之前必須設置全局屬性window.ga-disable-UA-XXXX-Y = true
。
對於調試,我使用的是Google's Tag Assistant,它在切換GA時報告重複使用跟蹤ID。 https://jsfiddle.net/vLyeszfg/18/
正如您可能看到的,我已成功通過編程啓用谷歌分析,但移除是問題所在。
通過使用這個工具我發現我沒有註銷Google分析,並且每次啓用分析時都會一直添加新節點。 https://chrome.google。 com/webstore/detail/waspinspector-analytics -s/niaoghengfohplclhbjnjheodgkejpih –