事件跟踪

本指南介绍如何使用 analytics.js 实现事件跟踪。

概览

“事件”是指用户与内容进行的互动,可以独立于网页或屏幕的加载而进行跟踪。下载、移动广告点击、小工具、Flash 元素、AJAX 嵌入式元素以及视频播放都是可以作为事件进行跟踪的操作。

如果您不熟悉 Google Analytics(分析)中的事件,则应该首先阅读 Google Analytics(分析)帮助中心中的事件简介这篇文章。

实现

可以通过使用 send 命令并将 hitType 指定为 event 来发送事件匹配。针对 event 匹配类型的 send 命令使用以下签名:

ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

事件字段

下表概述了所有事件字段:

字段名称 值类型 是否必须提供 说明
eventCategory text 通常是用户与之互动的对象(例如 'Video'
eventAction text 互动类型(例如 'play'
eventLabel text 用于对事件进行分类(例如 'Fall Campaign'
eventValue integer 与事件相关的数值(例如 42

有关各个字段的详细说明,请查看 Google Analytics(分析)帮助中心中的事件解析

示例:

以下命令向 Google Analytics(分析)发送一个事件,指明用户播放了秋季广告系列推广视频:

ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

注意,在使用所有 send 命令时,通过便捷参数传递的字段也可以通过 fieldsObject 指定。上述命令可改写为:

ga('send', {
  hitType: 'event',
  eventCategory: 'Videos',
  eventAction: 'play',
  eventLabel: 'Fall Campaign'
});

如果用户点击指向您网站其他网页的链接,则在用户到达时,该网页通常发送网页浏览匹配。因为有一系列的网页浏览,Google Analytics(分析)可以在后端明确用户导航的出入位置。但是,如果用户点击了链接或向域外提交了表单,则除非您将所发生的情况明确告知 Google Analytics(分析),否则该操作不会被捕获。

可以通过发送事件以及在某个事件字段中指定目标网址来完成对出站链接和表单的跟踪。可以使用下面的事件处理函数将出站链接点击事件发送给 Google Analytics(分析):

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href
  });
}

出站链接和表单可能会非常难于跟踪,因为大多数浏览器会在开始加载新网页时停止在当前网页上执行 JavaScript。解决此问题的一种方式是将 transport 字段设置为 beacon

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href,
    transport: 'beacon'
  });
}

对于不支持信标传输方法的浏览器,您必须推迟向下一个页面导航的操作,直到事件完成发送。向 Google Analytics(分析)发送数据指南的了解匹配发送时间一节详细介绍了操作方式。

非互动事件

在某些情况下,您可能需要将某个事件作为非互动事件发送。为此,请将 send 命令的 fieldsObject 中的 nonInteraction 字段设为 true

ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
  nonInteraction: true
});

要详细了解非互动匹配以及何时使用这些匹配,请参阅 Google Analytics(分析)帮助中心中的非互动事件