如何使用Google Analytics追踪大写锁定键用户?

5

我喜欢使用Google Analytics,并且能够对我们的访问者信息进行切片。我们使用客户变量来跟踪用户与我们网站的交互方式和信息。作为Analytics的目标,我们始终在寻找改进和优化网站的方法。

目前我们处于开发阶段,可以选择如何存储和展示产品信息。其中一个问题是是否要全大写显示产品信息。通过与我们的用户合作几年,似乎我们的大部分流量来自于开启大写锁定的访问者。这让我们想到,我们是否可以使用客户变量来跟踪我们的大写锁定用户,以便更好地确定如何呈现信息?

查看我制作的示例:http://jsfiddle.net/shanabus/Za4kL/

我们的网站基本上代表了标准的电子商务网站。有几个不同的文本框可让您搜索零件号码,在整个订单过程中,有几个地方用户可以输入文本。您会将大写锁定测试绑定到所有文本框还是只绑定到常用文本框?如果我将按键监听器绑定到站点上的所有文本框,会影响性能吗?还有更好的实现方法吗?

我想,与其显示/隐藏div,我会设置自定义变量:

_gaq.push('_setCustomVar', 5, 'capslock', 'true', 3);

感谢您对这个看似琐碎的话题的任何想法和考虑。

为什么需要知道他们是否按下了大写锁定键?在搜索数据库之前,只需使用 strtolower 函数即可。 - ted
1
@ted,这不是我们如何处理他们搜索数据的问题。在分析精神下,我们只是试图捕捉有多少用户访问我们的网站时开启了大写锁定键,而没有开启它的用户数量。 - shanabus
2
为大写锁定用户添加一个变量,赞一个! - Nanne
至少对我来说,想象将文本转换为大写字母会增加任何人的幸福感是一种牵强附会。 - tripleee
1个回答

4
我会全局绑定事件,并使用以下代码:

我会全局绑定事件,并使用以下代码:

var CAPS_ON = null;
$(window).keypress(function(ev) {
    var charCode = ev.which; //jQuery normalizes ev.charCode to ev.which
    // Lowercase chars
    if (charCode >= 97 && charCode <= 122) {
        CAPS_ON = ev.shiftKey; // Caps are off if SHIFT is not pressed
    } else if (charCode >= 65 && charCode <= 90) {
        CAPS_ON = !ev.shiftKey;
    }
});

这将创建一个名为CAPS_ON的变量,可以在页面中使用。

代码进一步解释如下:

  • 事件必须绑定到keypress事件上,因为它是唯一能区分大小写字符的键盘事件。
  • 必须检查shiftKey属性,因为它可以反转大写锁定功能。

2
当然,这需要用户按键。但是无法避免这种情况。您可能希望将其与 $(window).one('keypress', …) 绑定以避免每次按键的开销。 - Michael Mior
1
@MichaelMior 如果只需要知道初始的大写锁定状态,那是个好建议。然而,当你关心表单提交时的状态时,应该使用当前的方法。 - Rob W
@Michael Mior,这是一个很好的评论,但我们的大多数访问者在我们的网站上进行搜索。很多时候,他们的搜索词以数字开头。上面的代码只捕获a-z和A-Z,因此如果搜索词的第一个字母是数字,我们将无法获得最准确的信息。 - shanabus
@RobW 当然可以。不过如果你只对一个特定的表单感兴趣,那么你可能只想监听该表单中的按键事件。 - Michael Mior
1
这个答案被接受了,因为这是在调用我的跟踪代码之前设置变量的最佳方式。 - shanabus
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接