Google Analytics和Colorbox - 跨域跟踪

时间:2012-01-19 19:23:22

标签: javascript google-analytics cross-domain colorbox

使用我们的GA代码,我们正在跟踪多个域和子域,并且我们有大部分代码跟踪正确,只有几个自引用。最大的问题是我们使用Colorbox作为模态窗口,我需要能够将代码附加到这些页面以消除自我引用。

我已经做了很多搜索,并在JavaScript中找到解决方法,但没有运气。

如果我将onClick="_gaq.push(['_link', $(this).attr('href')]);return false;"添加到a​​标签以打开模态窗口,当页面刷新来自Google的attach querystring params时,它会突破模态窗口并接管整个浏览器窗口。我已经尝试构建一个自定义函数而不仅仅是一个直接的onclick,我得到了相同的结果。我发现的唯一参考是this article from 2010

我在这里不知所措。我想也许我可以抓住utmcc信息预链接并提前将其附加到URL,没有运气找到从会话中获取的方法。

2 个答案:

答案 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/