网页浏览量

网页浏览衡量可用于衡量网站上特定网页的浏览次数。网页通常对应于整个 HTML 文档,但也可以表示动态加载的内容,这种情况称为“虚拟网页浏览”。

本指南介绍了如何使用 analytics.js 实现网页浏览衡量。

概览

JavaScript 代码中包含用于创建跟踪器对象的命令,以及之后向 Google Analytics(分析)发送网页浏览的命令。在创建跟踪器时,系统会基于浏览网页的上下文设置跟踪器中的若干字段。title 字段会设置为 document.title 的值,location 字段会设置为 document.location 的值,并忽略网址的锚标记部分。

在执行 send 命令时,会发送跟踪器上存储的 titlelocation 字段,然后 Google Analytics(分析)使用这些值来向您显示用户访问了哪些网页。

默认跟踪器不会设置 page 字段,但如果您手动设置了该字段,那么,相应值会在报告中用作网页路径,从而替换 location 字段的值。

实现

可以通过使用 send 命令并将 hitType 指定为 pageview 来发送网页浏览命中。对于 pageview 命中类型,send 命令会使用以下签名:

ga('send', 'pageview', [page], [fieldsObject]);

网页浏览字段

下表汇总了与网页浏览衡量相关的主要字段。如要了解详细信息(以及某些附加字段),请参阅字段参考内容信息部分

字段名称 值类型 是否必须提供 说明
title text 网页的标题(例如“首页”)
location text 否 * 网页的网址。
page text 否 * 网址的路径部分。此值应以斜杠 (/) 字符开头。

*  虽然 page 字段和 location 字段都不是必填字段,但必须使用其中的一个,否则命中无效。

示例:

以下命令会向 Google Analytics(分析)发送网页浏览命中并包含当前网页的路径。

ga('send', 'pageview', location.pathname);

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

ga('send', {
  hitType: 'pageview',
  page: location.pathname
});

修改网页的网址

在某些情况下,您要向 Google Analytics(分析)发送的网址与用户浏览器地址栏中显示的网址不同。例如,某个网站包含几个网页,用户可以登录和查看/修改其个人信息。如果此网站为个人信息、账号信息和通知设置使用不同网页,这些网页可能会使用如下所示的网址:

  • /user/USER_ID/profile
  • /user/USER_ID/account
  • /user/USER_ID/notifications

如果您想了解总共有多少人访问过这些网页,在这些网址中添加唯一 User ID 值会大幅增加计算难度。

如要解决此问题,可以指定一个 page 值,并移除 User ID:

// Checks to see if the current user's userID is
// found in the URL, if it is, remove it.
// (Note, this assume the user ID is stored
// in a variable called `userID`)

if (document.location.pathname.indexOf('user/' + userID) > -1) {
  var page = document.location.pathname.replace('user/' + userID, 'user');
  ga('send', 'pageview', page);
}

这将会发送所有用户的以下 page 值:

  • /user/profile
  • /user/account
  • /user/notifications

如果当前网页正在发送其他命中(例如事件),您需要确保发送的每个命中都具有正确的网址。在此类情况下,您应该更新跟踪器上的 page 字段,而不应通过 send 命令来传递该字段。

在跟踪器上进行设置可确保将新的 page 值用于所有后续命中:

if (document.location.pathname.indexOf('user/' + userID) > -1) {
  var page = document.location.pathname.replace('user/' + userID, 'user');

  // Sets the page value on the tracker.
  ga('set', 'page', page);

  // Sending the pageview no longer requires passing the page
  // value since it's now stored on the tracker object.
  ga('send', 'pageview');
}

跟踪虚拟网页浏览

如今许多网站都通过 AJAX 动态加载内容,在加载每个“网页”时无需将其完全载入。这些网站通常称为单页应用

如果您的网站以动态方式加载网页内容并更新文档的网址,您通常需要发送额外的网页浏览以衡量这些“虚拟网页浏览”。有关实现方面的详尽信息,请参阅有关使用 analytics.js 进行单页应用跟踪的指南。