使用我们的GA代码,我们正在跟踪多个域和子域,并且我们有大部分代码跟踪正确,只有几个自引用。最大的问题是我们使用Colorbox作为模态窗口,我需要能够将代码附加到这些页面以消除自我引用。
我已经做了很多搜索,并在JavaScript中找到解决方法,但没有运气。
如果我将onClick="_gaq.push(['_link', $(this).attr('href')]);return false;"
添加到a标签以打开模态窗口,当页面刷新来自Google的attach querystring params时,它会突破模态窗口并接管整个浏览器窗口。我已经尝试构建一个自定义函数而不仅仅是一个直接的onclick,我得到了相同的结果。我发现的唯一参考是this article from 2010。
我在这里不知所措。我想也许我可以抓住utmcc信息预链接并提前将其附加到URL,没有运气找到从会话中获取的方法。
答案 0 :(得分:1)
这是我最终使用的代码,感谢yahelc的帮助。
$('.link-btn').bind("cbox_complete", function(){
var pageTracker = _gat._getTrackerByName();
var href = $.colorbox.element().attr('href');
if (href) {
_gaq.push(function() {
var pageTracker = _gat._getTrackerByName();
setTimeout(function(){
$('#cboxLoadedContent iframe').attr('src',pageTracker._getLinkerUrl(href));
},1000);
});
}
});
答案 1 :(得分:0)
_link
是_getLinkerUrl
.
您可以直接转换URL以在JavaScript中动态地使用链接器而不使用便捷功能(在这种情况下不方便)。 (假设jQuery,因为你正在使用colorbox)。
假设该链接上的标记类似于<a href="..." class="colorboxlink">Click!</a>
...
$(".colorboxlink").each(function(){
$(this).attr('href', function(i,v){
return _gat._getTrackerByName()._getLinkerUrl(v);
});
});
如果它不超过1或2个链接,我只推荐这种方法;对于大量链接(20+),它可能会对性能产生影响。这是一个演示:http://jsfiddle.net/XscWT/