我有一个网站,使用谷歌分析,并使用了一些域。有人问我这样做是为了增加跨网域跟踪:跨域谷歌分析跟踪时,使用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