单页网站
有问题的网站是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>
一切看起来不错。 问题是,当我查看我的分析时,只有已注册的点击被标记为“未命名”
任何人都知道我在这里做错了什么?
首先您的锚点没有分配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准备好时分配所有内容。
我可以建议一个更紧凑的版本?
另外,这并不涉及锚的id
,它使用href
,可能适用于基本的场景(例如,如果两个链接将用户指向同一个URL,则不知道哪个链接提供了多少次访问)如果你确实添加了id
到你的锚,只需用.attr('id')
替换.attr('href')
.attr('id')
。
jQuery(document).ready(function() {
jQuery('a').click(function() {
_gaq.push(['_trackEvent', 'anchor', 'click', jQuery(this).attr('href')]);
});
});
除了@Bakak Naffas的好帖子,请记住_gaq.push
调用会启动一个HTTP请求。
如果您的服务器速度很快,那么在Google Analytics调用之前,用户点击的链接完全可能会被加载,在这种情况下,无法跟踪任何内容。
链接地址: http://www.djcxy.com/p/71673.html上一篇: Single Page Site