我有一個網站,使用谷歌分析,並使用了一些域。有人問我這樣做是爲了增加跨網域跟蹤:跨域谷歌分析跟蹤時,使用fancybox iframe
1)添加一個異步跟蹤
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21602333-1']);
_gaq.push(['_setDomainName', 'domain.com']);
_gaq.push(['_setAllowLinker', true]);
_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);
})();
2)將以下代碼添加到去其他領域之一的所有鏈接。
<a href="http://www.domain-aanvraag.nl[rest van de link]" onclick="_gaq.push(['_link', 'http://www.domain.com']); return false;">Go!</a>)
的_link選項執行以下操作根據谷歌:
此方法與_setDomainName(協同工作)和 _setAllowLinker()方法來啓用跨域用戶跟蹤。 _link()方法通過URL參數(HTTP GET)將GATC cookie從該站點傳遞到另一個站點。它還會更改document.location並將用戶重定向到新的URL。
好的。這一切都適用於正常的傳出鏈接。
這是問題所在。我有一個表單,用戶可以在其中選擇兩個單選按鈕中的一個,然後選擇一個他點擊提交按鈕。如果選擇第一個單選按鈕,fancybox彈出窗口將打開,其中的iframe指向另一個域上的頁面。如果打開第二個單選按鈕,當前窗口將重定向到該域上的另一個頁面。
我只想做_gaq_push(['_link', ...])
thingy當用戶選擇第一個選項並單擊該按鈕。
所以,我有兩個問題與此:
- 我應該在哪裏放置的onclick。
- 如何使用fancybox使用此代碼?它似乎總是設置主屏幕的document.location,而不是我的fancybox中的iframe,導致我的屏幕完全刷新。
這裏是我的代碼精簡工作示例至今:https://www.domain.com/test/analytics.html
感謝。我會在週末後嘗試。我認爲_link方法會強制整個頁面刷新。 :/ – koenpeters 2012-04-28 15:27:39
您可以將_gaq.push更改爲_trackEvent,_trackPageview等等。 – Scriptor 2012-04-28 17:43:46