事件衡量

本指南介绍如何使用 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(分析)帮助中心内的非互动事件