竹磬网-邵珠庆の日记 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier


227月/1178

Google Analytics(分析):_trackEvent()

发布在 邵珠庆

pageTracker._trackEvent 的函数公式:

_trackEvent(category, action, optional_label, optional_value)

category, action, optional_label,三个是需要用引号定义字符(单双引号都行), optional_value是变量或者数字常量。

正确情况:

pageTracker._trackEvent("ABC", "cc", "Dir", 33)
pageTracker._trackEvent("ABC", "cc", "Dir")
pageTracker._trackEvent("ABC", "cc")
pageTracker._trackEvent("ABC", "cc", "", 33)

错误情况:

pageTracker._trackEvent("ABC", "cc", 33)

监测失效原因:第三个参数缺失。

pageTracker._trackEvent("ABC", "cc", "Dir", "33")

监测失效原因:第四个参数不能加引号。

pageTracker._trackEvent("ABC", "cc", Dir, 33)

监测失效原因:第三个参数没加引号。

监测函数不需要放在GA监测代码后面。可放在标签内任何地方,或者object(flash,JAVA等)内部。

 

附事件跟踪指南

目录

  1. 设置事件跟踪
  2. 事件跟踪详解
    1. 类别
    2. 操作
    3. 标签
    4. 隐含计数
  3. 实施注意事项

设置事件跟踪

您需要按照以下步骤在网站上设置跟踪功能,然后才能在报告中查看事件跟踪结果。

  1. 在您的网站上设置跟踪功能。确保您已为网站设置好了跟踪功能。要了解具体设置方法,请参阅跟踪网站
  2. 在网页对象、窗口小部件或视频的源代码中调用 _trackEvent() 方法

    _trackEvent() 方法的规范为:

    _trackEvent(category, action, opt_label, opt_value)
    • 类别(必填)

      为要跟踪的对象组指定的名称。

    • 操作(必填)

      与每个类别具有唯一对应关系的字符串,通常用于为网页对象定义用户互动的类型。

    • 标签(可选)

      为事件数据提供额外维度的可选字符串。

    • 值(可选)

      可以用来提供有关用户事件的数值数据的整数。

  3. 查看报告。在事件跟踪设置完毕并在您的网站上运行一天之后,请转到报告的“内容”部分并查看“事件跟踪”。

事件跟踪详解

事件跟踪数据模型由以下几部分组成,这些组成部分与 Google Analytics(分析)报告界面中的相应元素一一对应:

  • 类别
  • 操作
  • 标签
  • 隐含计数

以下是一个简单的例子,解释了如何使用事件跟踪方法来记录用户与您网页上的视频“播放”链接之间的互动。其中假设 pageTracker 是您的跟踪对象的名称。

<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">Play</a>

在这个例子中,事件的报告会将 Videos 显示为“类别”,将 Play 显示为“操作”,将 Baby's First Birthday 显示为“标签”。下文将会详细说明这些组成部分。请注意,在实施事件跟踪时,您可以使用此数据模型作为指南,也可以直接使用 _trackEvent() 方法,以适用于您的数据的任意方式来细分用户互动。


类别

对于事件跟踪,“类别”是您指定的用于分组要跟踪的对象的方式。它是 _trackEvent() 方法中使用的第一个参数,并且是必填参数。

“类别”一词在报告界面里位于“事件概览”页上,名为“热门类别”。在此模型中,类别代表事件跟踪层级结构的“根级别”,您可以采用适合您的报告需要的任意方式使用该结构。一般来说,对于您想要归入指定类别的相关用户界面元素,您会多次用到同一类别名称。

例如,要跟踪同一个视频界面上的三个单独控件的用户互动情况,您可以使用以下函数:

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Pause', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Stop', 'Gone With the Wind']);

假设您还想要跟踪视频的下载次数。您可以使用:

gaq.push(['_trackEvent', 'Videos', 'Downloaded', 'Gone With the Wind']);

在这个例子中,“事件概览”页上的“热门类别”中将只有一个类别(即“Videos”),并且您会看到有关该视频对象整个元素集用户互动情况的汇总指标。

不过,通常您想要通过事件跟踪功能跟踪的对象很可能不止一个,因此在实施调用前最好先仔细考虑一下如何分类报告。例如,您可能希望跟踪“Videos”主类别下的所有不同影片,这样您就可以获得有关所有视频互动的汇总数据,无论用户实际观看的是哪部视频。

另一方面,您可以根据视频的类型创建单独的类别。例如,影片视频和音乐视频各占一个类别。您可能还希望为视频下载单独创建一个类别:

  • Videos - Movies
  • Videos - Music
  • Downloads

在这个例子中,您可以通过“事件总数”标签确定所有三个类别的总计事件数。“事件总数”指标显示的是您在事件跟踪实施中指定的所有类别的事件总数。不过,您无法在“Downloads”中单独查看所有视频的汇总指标,因为详细事件指标汇总在其各自所属的类别之下。

尽管事件跟踪对象模型非常灵活,您还是应该先规划好所需的报告结构,然后再为类似网页对象元素调用 _trackEvent() 方法。如果您打算在多个位置使用相同的类别名称,请务必按名称正确引用所需的类别。例如,如果您打算调用视频跟踪类别“Video”,而后来又因为记错而 使用了复数的“Videos”,其结果将是针对视频跟踪产生两个单独的类别。另外,如果您决定更改某个对象的类别名称,而该对象已通过不同的名称进行了跟 踪,则原类别的历史数据将不会得到重新处理,而这会导致同一个网页元素的指标列于报告界面中的两个类别之下。

返回页首

操作

事件跟踪模型中的“操作”一词指的是 _trackEvent() 方法中的第二个参数。它也是必填参数。

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);

一般来说,您会使用 action 参数来命名您希望针对特定网页对象跟踪的事件或互动的类型。例如,在一个“Videos”类别中,您可以使用此参数跟踪多个特定事件,如:

  • 视频完成载入的时间
  • “播放”按钮点击次数
  • “停止”按钮点击次数
  • “暂停”按钮点击次数

与类别一样,为 action 指定怎样的名称完全取决于您自己,不过,对于事件操作在报告中的使用方式,有两个要点需要注意:

  • 所有操作均独立于其母类别单独列出。
    而这一点正好可以在您为报告细分事件数据时派上用场。
  • 唯一身份事件取决于唯一身份操作名称。
    您可以在不同类别中使用重复的操作名称,但这可能会影响唯一身份事件的计算方式。有关详情,请参阅下文的建议以及隐含计数部分。

要确保在针对网站大范围实施事件跟踪时的报告效果,请在使用操作时注意以下几点:

  • 操作名称应与您的报告数据相关

    事件跟踪会将两个不同类别中具有相同操作名称的指标合并在一起。例如,如果您将操作名称“Click”同时用于“Downloads”类别和 “Videos”类别,那么“热门操作”报告中有关“Click”的指标会同时包含使用该名称标记的所有互动。您可以在下一报告级别中看到按类别细分的 “点击”操作的详细信息。不过,如果您在整个事件跟踪实施中不加区分地使用“click”操作,则报告中该细分的实用性就会大打折扣。如果您准备在网站上 大规模使用事件跟踪,那么您最好选择与您的数据类别相关的操作名称。例如,您可以选择为小工具互动保留“click”一词,而为视频播放器互动保留 “Play”、“Pause”、“Stop”等操作名称。

  • 以全局为背景使用操作名称以便汇总或区分用户互动

    例如,您可以为针对网站上所有视频的“Videos”类别使用“Play”作为操作名称。在此模型中,“热门操作”报告会为“Play”操作的事件提供汇总数据,而且您可以了解有关您的视频的这一事件与其他事件(如“暂停”或“停止”)的对比情况。

    不过,假设您想只在报告中使用一个视频类别,但是又想了解有关两个不同的视频播放器用户界面的信息。您可以使用操作名称来区分不同的视频播放器,而不必创建单独的视频类别。这样,报告就可以区分两个播放器的风格,同时还能汇总有关网站上所有视频的数据。

    _gaq.push(['_trackEvent', 'Videos', 'Play - Mac Chrome');
    _gaq.push(['_trackEvent', 'Videos', 'Play - Windows Chrome');
    
  • 操作并不总是意味着“操作”。

    您可以为操作参数指定任意字符串。某些情况下,实际的事件或操作名称可能并不实用,此时您可以使用操作参数来跟踪其他元 素。例如,如果您想要跟踪网页的下载情况,您可以将文档的文件类型指定为下载事件的操作参数。在这个例子中,有关“Downloads”类别的报告数据就 会按照文件类型(pdf、doc、xls 等)来划分。

  • 唯一身份事件数的累加取决于唯一身份操作数

    每当有用户与标为特定操作名称的对象进行互动时,其首次互动均会被记录为该操作名称的一次“唯一身份事件”。由该用户的会话触发的同一操作的其他任何互动均不会计入该特定操作的唯一身份事件。即使该用户离开相应对象,然后开始与标为相同操作名称的其他对象进行互动,情况也是如此。

    这会对报告的结果产生两个显著的影响。首先,假设某用户与两个类别各异的不同视频播放器的“Play”操作进行了互动。有关“Play”的“热门操作”报告只会列出一个唯一身份事件,虽然该用户实际上与两个不同的播放器进行了互动。其次,每个类别的“操作”报告会列出一个唯一身份操作,因为每个类别/操作配对确实有一个唯一身份事件。要了解详情,请参阅隐含计数部分。

返回页首

标签

事件跟踪数据模型中的“标签”一词指的是 _trackEvent() 方法中的第三个字符串参数。此参数是可选参数。通过标签,您可以为要跟踪的事件提供额外信息,例如以上示例中的影片标题,或是跟踪下载情况时的文件名称。

pageTracker._trackEvent('Downloads', 'PDF', '/salesForms/orderForm1.pdf');

与“类别”和“操作”一样,报告界面中有单独的部分来显示您为事件跟踪创建的所有标签。您可以将标签看作创建针对用户与网页对象之间互动的 额外报告维度的方法。例如,假设您的网页上有 5 个视频播放器需要跟踪用户与之的互动情况。这些视频播放器中的每一个都可以使用“Videos”类别和“Play”操作,但是每个播放器又可以使用单独的 标签(比如影片名称),这样它们就可以在报告中显示为不同的元素。

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Huckleberry Finn']);

“值”一词指的是 _trackEvent() 方法中使用的第四个参数,它是一个可选的参数。此参数与其他参数不同,因为它属于 integer 类型,而不是 string 类型,因此您可以使用它来为所跟踪的网页对象指定数字值。例如,您可以通过它来指定以秒计时的播放器载入时间,还可以在视频播放器播放到特定位置时触发一个美元价值。

_gaq.push(['_trackEvent', 'Videos', 'Video Load Time', 'Gone With the Wind', downloadTime]);

该值会按数字识别,并且报告会根据每个事件计数(请参阅下文的隐含计数)累加出总计值。报告还会确定相应类别的平均值。在上述示例中,_trackEvent() 方法会在视频载入完成时针对“Video Load Time”操作进行调用。视频的名称作为标记提供,算出的载入时间会针对各视频下载进行累加。这样,您就可以确定“Videos”类别所有“Video Load Time”操作的平均载入时间。假设您网站上的视频获得了 5 次唯一下载,其下载时间(以秒计算)为:

  • 10
  • 25
  • 8
  • 5
  • 5

报告界面会进行如下计算,该示例中的数字表示的是以秒计算的下载时间:

带来事件的访问 平均值
5 53 10.6

目前此参数还不支持负整数。

隐含计数

在事件跟踪中,每一次与所跟踪的网页对象之间的互动都会得到记录,并且每次互动都会与特定用户会话相关联。在报告中,“事件总数”计算的是 与某所跟踪网页对象之间的互动总数。另一方面,当某一用户会话(即访问)涉及一个或多个事件时,此指标就会计算为报告中的单个“带来事件的访问”或者“唯 一身份事件”。

比如说,如果一个用户对某视频上的同一按钮点击了 5 次,那么与该视频相关联的事件总数为 5,唯一身份事件数为 1。

以下表格解释了报告界面中某一指定事件类别的数据如何汇总。在该示例中,同一类别名称调用自两个不同的视频播放器,两个播放器各自具有不同的标签。这两个播放器共享“Play”和“Stop”操作,Flash 用户界面针对视频播放器采用的就是这一编程方式。

针对“Videos”类别的事件跟踪
操作类型 标签:“Gone With the Wind” 标签:“Mr Smith Goes to Washington” 总计
Play 10 次带来事件的访问 5 次带来事件的访问 15 次唯一身份事件“播放”
Pause 2 次带来事件的访问 8 次带来事件的访问 10 次唯一身份事件“暂停”
Stop 2 次带来事件的访问 3 次带来事件的访问 5 次唯一身份事件“停止”
总计 GWTW 获得了 14 次唯一身份事件 Mr Smith 获得了 16 次唯一身份事件 类别“videos”获得了 30 次唯一身份事件

上方的表格假设用户与“Gone With the Wind”和“Mr Smith Goes to Washington”之间的互动各自发生在单独的用户会话(访问)中。不过,下方的表格显示了如何在更为复杂和典型的情况下计算指定操作的事件次数, 即,一些用户只在一个视频中按了“播放”,而其他用户则在一次访问期间与多个视频进行了互动。在这里,唯一身份事件总数反映了所有标签的“Play”操作 的唯一身份事件总数。请注意,尽管每个标签/操作配对都对应有 17 次唯一身份事件,但报告中只列出相关维度的唯一身份事件次数。因此,对于所有操作,仅有 16 次唯一身份事件,对于“Videos”类别,总共有 16 次访问,其中包含类别为“Videos”的一个事件。

针对“Play”操作的事件跟踪计算
操作类型 标签:“Gone With the Wind” 标签:“Mr Smith Goes to Washington” 总计
Play 10 次带来事件的访问   10 次唯一身份事件“播放”
Play   5 次带来事件的访问 5 次唯一身份事件“播放”
Play 两部影片均有 1 次带来事件的访问(对“播放”的两次点击) 1 次唯一身份事件“播放”
总计 GWTW 获得了 11 次唯一身份播放事件 Mr Smith 获得了 6 次唯一身份播放事件 类别“Videos”获得了 16 次唯一身份事件,操作“Play”获得了 16 次唯一身份事件

实施注意事项

在为网站实施事件跟踪时,请注意以下几点。

跳出率的影响

一般来说,“跳出”是指用户只在您的网站上访问了一个网页。在 Google Analytics(分析)中,“跳出”特指仅触发了一次 GIF 请求的会话,例如,用户访问了您网站上的一个网页,然后就退出了网站,并且这次访问没有向 Google Analytics(分析)服务器发出有关这次会话的任何其他请求。不过,如果您为网站实施了事件跟踪,您可能会注意到实施了事件跟踪的网页的跳出率指标 有所不同。这是因为事件跟踪像网页跟踪一样被归类为互动请求。

例如,假设您的一个包含视频播放器的网页的跳出率一直很高,并且您没有为该网页实施事件跟踪。如果您随后为该播放器设置了事件跟踪,那么您可能会注 意到该网页的跳出率有所降低,这是因为 Google Analytics(分析)会记录用户与播放器的互动,并将互动作为额外的 GIF 请求发送给服务器。因此,即使在访问该网页的访问者中,仍有相同比例的访问者未查看您网站上的任何其他网页就退出网站,他们与视频播放器之间的互动同样会 触发事件跟踪调用,这样一来,他们的访问就不能算作跳出。

在这种计算方法中,对于实施了事件跟踪的网页,“跳出”所指的意义稍有不同:只访问一个页面,并且在该访问中,用户与跟踪的事件之间未发生任何互动。

请您务必注意,任何在网页载入时自动执行的事件跟踪都会导致该网页的零跳出率。如果您实施了 TimeTracker 示例或任何类似的事件跟踪功能,就会出现这种情况。

每次会话事件数限制

对于每次访问(用户会话),最多只能跟踪大概 500 个综合 GATC 请求(事件和浏览量)。在您通过编程方式生成事件时,请注意这一数量限制。另请注意:当一次会话中的事件数量接近上限时,您可能不能再跟踪更多事件。例如,您应该:

  • 避免将视频的脚本处理为每播放一秒就发送一次事件,以及其他重复次数过多的事件触发因素
  • 避免使用过多的鼠标移动跟踪
  • 避免使用可生成较高的事件次数的定时机制