Google Analytics - 单页网站 - 点击跟踪

时间:2011-08-24 16:55:38

标签: jquery google-analytics event-tracking

相关网站为http://getstefan.com

它是一个单页组合网站,我尝试使用jQuery将Google Analytics点击跟踪添加到网站上的每个锚标记,希望跟踪人们点击的位置。有一个脚本可以为页面上的每个锚添加唯一ID,因此我设置了一个超时,以确保在分配ID后放置Google Analytics点击跟踪。像这样:

jQuery(window).load(function(){
        setTimeout(loadOnClick,8000)
    });

    function loadOnClick() {
        jQuery('a').each(function(){
            jQuery(this).attr("onclick", "_gaq.push(['_trackEvent', 'anchor', 'click', '" + jQuery(this).attr('id') + "']);" );
        });
    }

这导致建立如此的链接:

<a href="http://getstefan.com/wp-content/themes/inc v2/downloads/CV-StefanHinck-FR.pdf" id="cv" onclick="_gaq.push(['_trackEvent', 'anchor', 'click', 'cv']);"></a>

一切看起来都不错。 问题是,当我查看我的分析时,注册的唯一点击标记为“无标题”

任何人都知道我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

<强>第一 您的锚点没有分配ID,因此代码正在执行它应该报告的“未定义”作为不存在的值的值。 例如

<a class="entry-link" href="http://getstefan.com/portfolio/interior-design-logo/"></a>

第二次,请勿使用计时器。

jQuery(window).load(function(){
        setTimeout(loadOnClick,8000)
    });

应替换为

jQuery(document).ready(function(){
        loadOnClick();
    });

因此您不必等待8秒,并且可以在DOM准备就绪时分配所有内容。

答案 1 :(得分:2)

我可以建议一个稍微紧凑的版本吗?

此外,这不是指锚点id,它使用href,可能适合基本场景(即,如果两个链接指向用户到同一个URL,你我不知道哪些链接贡献了多少次访问。)如果您确实将id添加到您的主播,只需将.attr('href')替换为.attr('id')

jQuery(document).ready(function() {
    jQuery('a').click(function() {
        _gaq.push(['_trackEvent', 'anchor', 'click', jQuery(this).attr('href')]);
    });
});  

答案 2 :(得分:2)

除了@Babak Naffas的好帖子之外,请记住_gaq.push来电启动HTTP请求。

如果您的服务器速度很快,那么用户点击的链接完全可能会在Google Analytics调用之前加载,在这种情况下,无法跟踪任何内容。