我們已經實施了一個簡單的GA實現,並且有一段時間,我們使用的唯一附加方法是setVar和setSessionTimeout。有沒有辦法可以切換到GA的跨域跟蹤配置(某些鏈接通過_link方法連線),而不會丟失客戶端系統上的現有跟蹤數據?從以前的Google Analytics實施切換到跨域跟蹤
我運行了很多測試,解決的問題越多,出現的問題就越多。簡而言之:
預執行,客戶端有這些cookie:__utm(a,b,c,z,v)。第一步是更改代碼並添加_setAllowLinker和_setAllowHash方法,但這是拋出TypeError。我發現這可以通過在調用pageTracker方法之前刪除__utmv cookie,然後再次調用_setVar來避免。
到位的新的代碼似乎是工作確定沒有出現任何的錯誤:
document.cookie = '__utmv=; expires=Tue, 22 Jun 2010 11:57:00 GMT;'+
' path=/; domain=XXXXXXX';
var pageTracker=_gat._getTracker(UA-XXXXXXXX);
pageTracker._setAllowLinker(true);
pageTracker._setAllowHash(false);
pageTracker._setSessionTimeout(XXXXX);
pageTracker._setVar(XXXXX);
pageTracker._trackPageview();
的餅乾將被更新爲不使用哈希值,因此它們的值現在可以使用跨域,但問題在於__utm cookies中的值已經用新值刷新,這意味着我們正在失去用戶歷史記錄(並且新的訪問將爆炸)。
例如,__utma:
- 前 - XX-散列值,XX.1379282990.1277294951.1277294951.1277294951.1
- 後 - 1.26318765.1277294984.1277294984.1277294984.1
如果它無法切換在不丟失用戶歷史記錄的情況下跨域GA配置,有沒有辦法在點擊到下一個域的鏈接上僞造它。也就是說,從cookie中構建鏈接URL並將所有哈希值前綴替換爲1?
謝謝!