网页浏览衡量可用于衡量网站上特定网页的浏览次数。网页通常对应于整个 HTML 文档,但也可以表示动态加载的内容,这种情况称为“虚拟网页浏览”。
本指南介绍了如何使用 analytics.js 实现网页浏览衡量。
概览
JavaScript 代码中包含用于创建跟踪器对象的命令,以及之后向 Google Analytics(分析)发送网页浏览的命令。在创建跟踪器时,系统会基于浏览网页的上下文设置跟踪器中的若干字段。title
字段会设置为 document.title
的值,location
字段会设置为 document.location
的值,并忽略网址的锚标记部分。
在执行 send
命令时,会发送跟踪器上存储的 title
和 location
字段,然后 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 进行单页应用跟踪的指南。