谷歌分析;在事件中使用自定义变量

时间:2013-05-01 10:09:42

标签: javascript events google-analytics

我的任务是将一些Google Analytics事件添加到网站。我之前从未使用过谷歌分析,而且我的基础知识也很有用,但是尽管我已经阅读了很多文档,但我并不了解自定义变量如何应用于事件。

例如,当用户点击按钮查看有关航班的信息时,我有这样的代码:

    var scope = 3; // page-level scope
    _gaq.push(['_setCustomVar', 1, 'FlightNumber', FlightNumber, scope]);
    _gaq.push(['_setCustomVar', 2, 'Departure', Departure, scope]);
    _gaq.push(['_setCustomVar', 3, 'Destination', Destination, scope]);
    _gaq.push(['_setCustomVar', 4, 'Destination', ETD, scope]);
    var detail = FlightNumber + ": " + Departure + " => " + Destination + "@" + ETD;
    _gaq.push(['_trackEvent', 'Flight', 'View', detail]);

如果我在运行Google Analytics Debugger扩展程序的情况下运行Chrome,我可以看到这些自定义变量似乎已设置并且已发送跟踪信标。

但是当我访问Google Analytics页面时,我找不到任何显示这些自定义变量的内容,尽管事件标签字段中的详细信息是正确的。

变量(我希望)是否与某个事件有关,或者我误解了它们是如何工作的?如果是后者,我如何根据出发,航班号等各种参数分析事件?

我是否通过使用页面范围做正确的事情?在我看来是正确的,因为每个事件(类似于页面访问)可以有不同的出发/目的地/等。

如果代码正确,如何在Google Analytics网页上查看数据?例如,如何查看特定出发机场的航班数量?

在相关的说明中,我发现ETD(估计出发时间)变量存在问题 - 原始ETD变量具有诸如“Wed May 01 2013 12:50:00 GMT + 0100(GMT日光时间)”之类的值“,我可以在调试输出中看到自定义变量已设置:

    _gaq.push processing "_setCustomVar" for args: "[4,ETD,Wed May 01 2013 12:50:00 GMT+0100 (GMT Daylight Time),3]":  

然而,(我认为)解码跟踪事件信标的后续调试输出显示:

    Custom Var 4             : label:'ETD' value:'undefined' scope:'Page'

那有什么问题?为什么我的自定义变量值没有正确设置?

1 个答案:

答案 0 :(得分:1)

1)正式地,数据最多可能需要24小时才会显示在GA中,因此如果您点击按钮然后立即转到GA以查看它是否显示,则您不会等待足够长的时间。你不能正式开始担心至少24小时。

2)您只有5个自定义变量槽,并且根据您使用给定自定义变量槽的方式,特别是scope参数,您可能会覆盖您的数据。您是否在其他地方使用自定义变量,以及您在其他地方使用的范围是什么?

3)“为什么我的自定义变量设置不正确?”我假设你的意思是它显示“未定义”..那是因为你作为GA的参数传递的javascript变量是未定义的;这对你的GA代码来说不是问题,无论你在哪里(不是)定义那个javascript变量,这都是个问题。