大多数人如何使用 Google Analytics:您将默认跟踪代码片段复制粘贴到您的模板中。查看传入的页面浏览量数据。这很好,但对于许多网站来说,这不是最有用的分析。Google Analytics 几乎可以跟踪任何东西。它非常灵活且功能强大。Philip Walton 和我合写了这篇文章,向您展示如何进行一些自定义的 GA 操作,以帮助您收集您可能不知道可以收集的数据,以及如何以有用的方式查看这些数据。

开始
对于任何 Web 应用,您都需要某种分析,这一点相当明显。在最基本的层面上,您需要了解有多少人在使用该应用,以及这个数字是在上升还是下降。
在CodePen 上的选择是 Google Analytics,因为团队中的大多数成员之前都使用过它。它是免费且易于安装的。团队在安装 Google Analytics 时做了大多数人都会做的事情:我们复制粘贴了默认的跟踪代码片段,然后就这样了。没有任何自定义。
数据开始传入,几天后,对人们在 CodePen 上访问的页面有了大致了解。
问题在于,CodePen 并不是一个真正基于页面浏览量的网站,比如出版物。人们访问哪些页面并不能说明用户如何与 CodePen 交互。更有趣的是了解人们在这些页面上做了什么,以便可以进行优化来改善他们的体验。
不幸的是,团队中没有人真正知道如何使用 Google Analytics 获取所需的信息,因此很长一段时间什么也没做。
长话短说:Chris 去年秋天在 CSSDevConf 上遇到了 Philip。Philip 说很多开发者都处于同样的境地——没有利用触手可及的免费、强大的工具。Philip 的工作之一就是教授开发者,因此在一场史诗般的胜利风暴中,他们合作在 CodePen 中使用更智能的分析方法,并与所有人分享。
CodePen 希望从分析中获得什么
如果您还没有弄清楚要解决什么问题或要回答什么问题,那么分析数据本身就没有意义。CodePen 创建了一个他们认为对他们有用的问题列表,这些问题可以回答他们对应用使用情况的真实问题。
以下是一些快速问题
- 有多少用户登录(与未登录/匿名使用网站的用户相比)?是否有方法仅报告登录用户的交互?
- 在登录用户中,有多少用户拥有 PRO 帐户?PRO 用户的交互与非 PRO 用户有何不同?
- 所有用户中,有多少用户最近活跃?MAU(月活跃用户)是多少,正如他们所说?
- 当用户更改编辑器的布局时,他们更喜欢哪种布局:顶部、左侧或右侧?
- 当用户为笔点赞时,他们处于什么视图?他们发表评论时又如何呢?这些操作可以从多个位置执行。
- 当用户点击指向其他网站的链接时,他们会去哪里?
了解 Google Analytics 的工作原理
有几个关键概念可以使您更清楚地了解 Google Analytics 的其他所有内容。
一切都源于了解如何将数据发送到 Google Analytics。然后,了解如何以有意义的方式获取这些数据。
将数据发送到 Google Analytics
您可以发送几乎任何您想要的东西!
正常情况(默认跟踪代码片段)发送的是pageview
。您实际上所做的只是发送一个 HTTP 请求,其中一些键/值数据编码在 URL 或 POST 主体中。键是诸如页面标题之类的内容,例如“在 CodePen 上浏览笔”。
使用默认跟踪代码片段,您将在最后看到这两行
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
第一行创建一个跟踪器对象,它实际上只是一个 JavaScript 对象,存储我们上面讨论的键/值数据。第二行通过 HTTP 请求将这些键/值数据发送到上一行中使用的“UA-XXXXX-Y”编号指定的 Google Analytics 帐户(技术上是“属性”)。
Google Analytics 接收这些 HTTP 请求(称为“命中”)并处理它们。根据每次命中中的数据以及接收命中时间和顺序,Google Analytics 能够将数据组织成用户、会话和交互的层次结构。
用 CodePen 的术语来说
- 用户是指访问 CodePen 网站的任何人。
- 交互是指他们在网站上执行的操作(例如,访问他们的个人资料页面或点击笔上的“点赞”按钮)。
- 会话是指同一用户在特定时间内执行的一组交互。如果用户登录 CodePen,创建一支笔,然后离开,则这将是一个会话。如果他们在当天晚些时候回来,则这将是另一个会话。
一个用户可以有多个会话,一个会话可以有多个交互。
报告数据
一旦 Google Analytics 将您的数据组织成用户、会话和交互,您就可以查询这些数据并获取报告。
Google Analytics 有很多内置报告。您不仅限于这些报告。
实际上,提高 Google Analytics 使用效率的最佳方法可能是学习如何创建自己的报告(称为“自定义报告”),以便您可以查询任何您想要的数据。如果您正在向 Google Analytics 发送特定于您的应用程序的自定义数据,那么您不可能仅使用内置报告来回答所有问题。
Google Analytics 中的每个报告(无论是内置的还是自定义的)都是查询一组维度和指标的结果。由于创建自定义报告需要自行指定维度和指标,因此了解它们是什么非常重要。
指标是对数据的定量测量,例如访问的页面总数(页面浏览量)或网站平均停留时间(平均会话时长)。指标始终为数字。它们通常是计数,但也可以是平均值或比率。
维度是您指标的横截面,它们是您进一步细分数据的方式,例如,您可能希望按页面 URL 细分页面浏览量总数,以查看哪些页面很受欢迎,或者您可能希望按人们使用的不同浏览器细分网站平均停留时间,以查看是否存在任何相关性。在这些情况下,页面和浏览器是维度。
数据以表格形式返回。维度值通常位于左侧的列中,其对应的指标值位于右侧的列中。您可以选择应用过滤器以有条件地从结果中排除行。
自定义报告示例
下表是一个自定义报告示例,显示了过去七天的数据,说明了所有这些概念。该报告查询了会话和平均会话时长指标以及浏览器和操作系统维度。然后它过滤结果以仅包含操作系统值为“Windows”的行。
浏览器 | 操作系统 | 会话 | 平均会话时长 |
---|---|---|---|
Chrome | Windows | 598,713 | 00:03:54 |
Firefox | Windows | 127,904 | 00:02:49 |
Internet Explorer | Windows | 23,864 | 00:02:39 |
Opera | Windows | 11,436 | 00:03:04 |
Edge | Windows | 10,208 | 00:03:00 |
如您所见,Chrome 是 Windows 用户中最受欢迎的浏览器,并且 Chrome 用户在 CodePen 上花费的时间比使用其他浏览器的用户更多。
获取 CodePen 特定问题的答案
我们列表中的前两个问题是关于区分用户:登录用户与匿名用户,以及 PRO 用户与非 PRO 用户。
由于 Google Analytics 对 PRO 帐户或 CodePen 登录系统一无所知,因此它无法默认跟踪此信息。但是我们可以向其提供这些信息!
跟踪自定义数据
如果 Google Analytics 没有内置字段来跟踪您想要的信息,您可以创建自己的字段。这些被称为“自定义维度和指标”。
我们已经提到,维度是将指标细分为相关类别的途径。用户的登录状态以及他们是否拥有 PRO 帐户最终只是用户指标的一个子类别,因此我们创建了自定义维度来跟踪这两者。

发送自定义维度数据最简单的方法是在跟踪器对象上设置其值。由于从跟踪器发送的所有点击都包含其当前存储的所有键/值数据,因此在跟踪器上设置自定义维度将确保这些值与所有未来的点击一起发送。
以下是我们对跟踪代码所做的更改,以设置“已登录”和“PRO”自定义维度
ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', {
dimension1: __isUserLoggedIn__,
dimension2: __isUserPro__
});
ga('send', 'pageview');
变量__isUserPro__
和 __isUserLoggedIn__
是从 Rails 传递到视图模板的布尔值(最终转换为 JavaScript 变量),键dimension1
和 dimension2
对应于我们在 Google Analytics 帐户设置中显示的自定义维度索引。
现在我们已将这两个自定义维度与所有点击一起发送,我们可以在任何报告中查询“PRO”或“已登录”状态。
使用自定义维度的自定义报告示例
这是一个报告,显示了根据“PRO”和“已登录”自定义维度细分的平均会话时长和每会话页面数指标。
PRO | 已登录 | 平均会话时长 | 每会话页面数 |
---|---|---|---|
是 | 是 | 00:09:08 | 6.51 |
否 | 是 | 00:07:50 | 6.12 |
否 | 否 | 00:02:43 | 2.53 |
现在我们掌握了这些数据,我们可以看到 PRO 和登录用户在使用 CodePen 上花费的时间比匿名用户多得多。
以下是一个相同类型数据的示例,仅查看跨多个维度的跳出率

更准确地跟踪跨浏览器和设备的用户
默认情况下,Google Analytics 通过在浏览器的 Cookie 中存储随机 ID 值来识别用户。这有助于识别同一浏览器上的回访用户,但如果用户在多个不同的浏览器或设备上访问 CodePen,则效果不佳,并且由于使用 CodePen 的人经常将其用于跨浏览器或跨设备测试,因此这种情况经常发生。
如果您的网站有自己的用户识别方式(例如登录系统),Google Analytics 允许您将其作为用户 ID发送,除了存储在 Cookie 中的客户端 ID。然后,Google Analytics 可以更好地确定两个用户实际上是同一个人,并且不会重复计算他们。
要在 Google Analytics 中使用用户 ID 功能,您只需在您的帐户中启用此设置,然后在跟踪器对象上设置该值即可
ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', {
userId: __userID__,
dimension1: __isUserLoggedIn__,
dimension2: __isUserPro__
});
ga('send', 'pageview');
衡量用户活动
我们最初列表中的第三个问题是弄清楚我们所有用户中有多少人在最近活跃。Google Analytics 有一个活跃用户报告,该报告为您提供过去 1 天、7 天、14 天和 30 天的活跃用户指标。
例如,30 天活跃用户指标是过去 30 天内至少与您的网站互动过一次的唯一用户的总数。在 CodePen,我们可以查看我们的数据库以了解曾经创建的用户帐户总数,但一个更好的指标来了解我们的“真实”用户群是了解其中有多少人在最近活跃。

如上图所示,2 月 19 日,260 万不同的人在之前的 30 天内至少使用过一次 CodePen。1 月 1 日,这个数字仅为 190 万。其中一些差异可能是由于假日流量较低造成的,但总的来说,很明显 CodePen 活跃用户数量正在增加。
使用事件跟踪用户交互
默认跟踪代码段会捕获页面加载,但它不会跟踪用户在该页面上的任何操作。为了捕获更多相关数据,我们需要发送更多相关的交互点击。我们使用事件来做到这一点。
拥有我们想要回答的初始问题列表,使得确定要开始跟踪哪些事件变得非常容易。以下是我们将在本节中重点介绍的两个事件
- 当用户更改编辑器的布局时,他们更喜欢哪种布局:顶部、左侧或右侧?
- 当用户为 Pen 点赞或评论时,他们处于哪个视图?
从第一个问题开始,CodePen 编辑器由三个窗格(HTML、CSS 和 JavaScript)组成,这些窗格可以位于窗口的顶部、左侧或右侧。可以通过点击屏幕右上角的“更改视图”按钮,然后选择“编辑器布局”下的选项之一来更改此布局。
由于我们有 JavaScript 代码在有人点击这些选项之一时运行,因此我们可以向 Google Analytics 发送事件并包含所选的编辑器布局设置。
以下是我们在代码中执行此操作的基本要点
function handleEditorLayoutChange(placement) {
// Do the change...
// Then report it:
ga('send', 'event', {
eventCategory: 'Editor Layout',
eventAction: 'change',
eventLabel: placement
});
}
现在我们已经开始收集这些事件,我们可以针对指标总事件数和维度事件标签运行报告。我们还必须过滤结果,使其仅包含事件类别维度设置为“编辑器布局”且事件操作维度设置为“更改”的事件。以下是过去 30 天的结果
事件标签 | 总事件数 |
---|---|
左侧 | 73,186 (50.4%) |
右侧 | 37,204 (25.6%) |
顶部 | 34,794 (24.0%) |
如您所见,大多数时候,人们更改编辑器布局是为了将代码窗格显示在左侧。
为了回答第二个问题,即用户从哪个视图为 Pen 发表评论或点赞,我们在用户发布评论或点赞 Pen 时添加了发送事件的逻辑。
用户所在的“视图”可以通过检查 URL 找到。例如,与模式/<profiled-username>/pen/<pen-id>
匹配的 URL 为“编辑器视图”,与模式/<profiled-username>/details/<pen-id>
匹配的 URL 为“详细信息视图”。
为了确定用户通常从哪个视图发表评论,我们查询了指标总事件数和维度页面(URL 路径)。然后我们过滤结果,使事件类别为“评论”,事件操作为“已发布”。最后,我们必须使用正则表达式获取与“Pen 视图”模式匹配的所有 URL 的结果,在第二个查询中,我们使用不同的正则表达式获取与详细信息视图模式匹配的所有 URL。
根据过去 30 天 CodePen 的数据,我们可以看到,用户从 Pen 视图添加评论的频率是他们从详情视图添加评论频率的三倍。
页面 | 总事件数 |
---|---|
/<profiled-username>/pen/<pen-id> |
2940 (73.5%) |
/<profiled-username>/details/<pen-id> |
1058 (26.5%) |
使用细分深入分析数据
我们已经展示了如何使用维度和过滤器将指标细分为不同的类别。这非常强大,但在这两种情况下,你的查询仍然在你的整个数据集上运行。
另一种深入分析数据的方法是使用细分。
与报告过滤器在查询运行之后从结果列表中排除单个行不同,细分是在运行查询之前过滤掉会话或用户。例如,Google Analytics 提供了一些内置细分,例如“自然流量”和“已购买”。但是,就像内置报告一样,最有用的细分将是特定于你的应用程序数据的细分。
例如,在 CodePen 中,我们可能希望创建一个细分,只包含(或排除)以下任何内容
- 首次访问 CodePen 的用户
- 至少收藏了一个 Pen 的用户
- 使用教授模式的 PRO 用户
- 用户未创建新 Pen 的会话
- 用户在平板电脑上编辑 Pen 的会话
请记住,Google Analytics 使用用户、会话和交互的数据模型。通过细分,你可以从查询操作的数据中删除整个会话或用户(以及属于它们的全部交互)。真正强大的功能在于,你可以将细分应用于任何内置报告或任何自定义报告。
为了提供一个仅对数据的一部分运行报告的具体示例,请考虑以下问题:PRO 用户在不创建新 Pen 时最常访问哪些页面?
以下是如何在 Google Analytics 中构建该自定义细分的屏幕截图

以下结果(按特定用户过滤 Pen 的页面)。
页面 | 页面浏览量 |
---|---|
/ | 71565 |
/login | 7789 |
/pens/ | 6998 |
/picks/2/ | 2145 |
/posts/ | 2069 |
/patterns/ | 1129 |
要问另一个稍微复杂一些的细分问题:从百分比上看,PRO 用户收藏的 Pen 比非 PRO 用户多吗?
要回答这个问题,我们必须创建四个细分并运行四个查询。对于下表中的每个细分,我们都针对过去 30 天的指标会话运行了查询(请注意,这些查询没有维度)
细分 | 会话 |
---|---|
来自 PRO 用户的会话 | 71337 |
来自 PRO 用户且包含“收藏”事件操作的会话 | 4945 |
来自已登录的非 PRO 用户的会话 | 832597 |
来自已登录的非 PRO 用户且包含“收藏”事件操作的会话 | 36610 |
然后我们进行一些计算,得到百分比
包含“收藏”事件操作的 PRO 用户会话百分比 | 6.93% |
包含“收藏”事件操作的非 PRO 用户会话百分比 | 4.39% |
如你所见,PRO 用户在会话期间收藏 Pen 的可能性几乎比非 PRO 用户高 60%。
使用插件跟踪常见用户交互
我们最后一个问题是关于用户点击了哪些链接跳转到其他网站。我们想要这些数据的主要原因是查看人们在我们的招聘版块上点击了哪些链接。
如果你之前曾在网站上安装过 Google Analytics,你可能已经注意到它会跟踪用户点击网站上其他页面的链接,但它不会跟踪点击外部网站的链接。原因是 Google Analytics 使用第一方 Cookie 来识别新用户和回头客,而第一方 Cookie 只能在同一个域名内共享。
如果你想跟踪用户点击了哪些外部链接,你必须使用事件来跟踪这些点击。
我们没有自己实现出站链接跟踪,而是使用了autotrack 插件来为我们完成此操作。Autotrack 带有一组用于跟踪常见用户交互的插件。它可以帮助解决很多问题,但我们主要想要的是outboundLinkTracker
插件。
为了安装 autotrack,我们将`autotrack.js`文件添加到我们的主要 JavaScript 包中,并在跟踪代码中添加了以下行。现在全部一起
ga('create', 'UA-XXXXX-Y', 'auto');
ga('require', 'outboundLinkTracker');
ga('set', {
userId: __userId__,
dimension1: __isUserLoggedIn__,
dimension2: __isUserPro__
});
});
ga('send', 'pageview');
设置出站链接跟踪后,我们可以为指标总事件和维度事件标签创建自定义报告,该报告根据维度事件类别等于“出站链接”和事件操作等于“点击”进行过滤。
以下是排名前五的出站链接点击。出于隐私原因,我们对招聘职位 URL 进行了匿名处理。
链接 URL | 出站链接点击总百分比 |
---|---|
http://blog.codepen.io/ |
24.29% |
<job-posting-link> |
11.38% |
http://blog.codepen.io/store/ |
9.44% |
<job-posting-link> |
7.13% |
<job-posting-link> |
5.98% |
结论
老实说,在 CodePen 升级 Google Analytics 游戏中最令人惊讶和欣慰的部分是需要更改的代码很少。主要包括
- 添加一些自定义维度并更新跟踪器以发送它们
- 在重要位置添加一些事件跟踪
- 构建自定义报告以查看数据
我们添加了 PRO 和已登录用户的自定义维度、autotrack 插件,以及几行事件跟踪代码,从而显著增加了我们可以运行的报告类型。
一旦我们学会了如何创建自定义报告和自定义细分,我们突然感觉自己掌握了主动权,并开始提出问题。以前我们主要只是浏览内置报告,希望从中获得一些见解,但通常都没有。
如果你想改进网站的分析,希望本文能激发你的兴趣,并帮助你了解可能实现的功能。
如果你想了解更多信息,以下是一些你可以开始的地方
- Analytics Academy 课程:这些课程是一系列简短的视频课程,解释了许多 Google Analytics 的核心概念。课程 1 和课程 2 非常适合全面了解平台的工作原理,并帮助你更好地回答特定情况下的问题。
- analytics.js 开发人员文档:侧边栏中“基础知识”部分的指南全面概述了 analytics.js 库的工作原理以及可以实现的功能。还可以查看字段参考,以获取有关可以在跟踪器对象上设置的字段和选项的完整列表。
- 维度和指标参考:创建自定义报告(或发出 API 请求)时,必须告诉 Google Analytics 使用哪些维度和指标,如果你不知道有哪些选项,这将很困难。此工具允许你浏览和搜索所有选项。
- 查询资源管理器:如果要自动运行自定义报告,则需要发出 API 请求。查询资源管理器是一个帮助你构建 API 请求的工具。实际上,对于快速的一次性自定义报告,你通常可以在查询资源管理器中比在 Google Analytics 中更快地完成。
如果需要帮助,Google Analytics 开发人员的帮助页面提供了一些链接,可以引导你找到正确方向。
视频中还有更多内容!
以下是我们关于所有这些内容的讨论,以及更多关于 CodePen 和 Google Analytics 的展示
老实说,这是我见过的最实用/最有用的文章之一。关于正确使用维度、事件、自定义用户 ID 等的详细内容非常有用,几乎所有网站开发人员都必须阅读。
我最近在一个电子商务网站项目中学习并使用了事件,现在我将使用更多其他细分来计算我们的在线广告活动的有效性。
感谢分享。
大约一年来,我一直断断续续地学习 Google Analytics,而这是我读过的关于开发人员的最佳文章。
我不得不筛选掉很多无用的信息才能找到关于事件的那一部分,而这篇文章一开始就直截了当地给出了答案。而且我从未意识到维度和用户ID跟踪可以如此简单。我从未听说过autotrack,看起来非常棒!如果我早点知道,我可能就不会实现自己的外部链接点击处理程序和跟踪器了。
我有一个问题:如果你完全有能力自己编写这些代码片段,那么使用Google Tag Manager还有意义吗?
当你想允许没有代码库访问权限的人添加自定义Google Analytics“内容”时,Google Tag Manager可以提供帮助。如果编辑代码对你来说足够了,那么我认为没有必要添加GTM支持。
我也认为,当你在分析跟踪方面有很多事情要做时,它可以帮助你使用GTM来管理它们,但就我个人而言,我更喜欢将这些内容直接保存在JavaScript或后端代码中。
Hey Flimm,很多人喜欢Google Tag Manager,并且有很多很好的理由使用它。就我个人而言,我喜欢自己编写实现代码。在代码中,你有无限的灵活性;在GTM中,你受限于它能为你做的事情。
话虽如此,这完全取决于你的情况和你的团队。如果你的团队中任何可能需要访问分析实现的人员是非开发人员,那么从长远来看,使用GTM可能会更容易。如果你想向你的页面添加非分析标签,并且希望将所有配置保存在一个地方,那么它也可能是有意义的。
嗨,Philip,
很棒的文章和精彩的视频!
我们做了很多Google Analytics的实施,我们更喜欢使用Google Tag Manager。根据我们的经验,开发人员并不是唯一需要访问GA实现的人,因为分析通常由营销团队使用。
此外,在许多组织中,如果跟踪是由开发人员管理的,那么更改/添加跟踪可能会非常麻烦,并且在大公司中很容易花费长达6个月的时间(不是因为开发人员,而是因为涉及的官僚主义)。因此,如果你想开始跟踪某些东西(之前没有跟踪过)以用于下周启动的活动——那么你就不走运了。
根据我们的经验,GTM能够满足你可能需要的任何功能(因为你可以在GTM中运行任何JavaScript),并且更容易管理(对任何人来说,而不仅仅是开发人员)。你能详细说明一下你遇到的GTM的限制吗?我非常感谢你对此的看法。
Max,我几乎同意你所说的所有内容,在我看来,在你的情况下,GTM是最佳选择。
要回答你关于GTM无法做的事情的问题:有很多例子,但同样,这些对你来说有多重要取决于你的设置和你的需求。此外,虽然GTM确实可以运行任意JavaScript代码,但这并不一定意味着它可以做你在自己的应用程序代码中可以做的任何事情。这一切都归结于范围,GTM执行的代码在全局范围内运行。如果需要调用的代码封装在一个闭包中,并且从未设置为全局变量(大多数人推荐的代码结构方式),那么GTM就无法访问它。
举一个具体的例子:查询资源管理器(文章中提到的一个工具)发送成功和失败查询的点击,它还会跟踪用户设置何时关闭/打开,以及更新跟踪器上的状态,以便未来的点击将包含这些数据。因为应用程序是用React编写的,并且此逻辑封装在React组件/存储中,所以除非我们特别将其设置为全局,否则GTM无法知道这些事件。
再举一个例子:在我的个人网站上,我实现了用户计时跟踪来对我的网站进行性能测试。我想知道我的访问者加载我的外部JavaScript和CSS文件以及我的网络字体的平均时间。为此,我需要向我的模板文件添加JavaScript代码,因为它需要在浏览器解析初始HTML时运行。这也是GTM无法访问的内容。
从技术上讲,这两个例子都可以通过写入
dataLayer
来实现,然后GTM可以访问它,但在这一点上,我们又回到了修改应用程序代码而不是使用GTM界面。无论如何,就像我上面所说的,这些例子你可能在乎也可能不在乎。我当然不是想建议你不要使用GTM。我只是说在某些情况下(例如我构建和维护自己的网站),GTM与analytics.js单独使用相比没有明显的优势,在某些情况下还会限制我的选择。
嗨,Philip,
感谢你回复我!我确实感谢你的例子,我真的很高兴看到这里有很多开发人员关心分析并希望了解更多关于分析的信息。
我可以看到,在您自己的网站上,直接使用analytics.js而不是GTM会更灵活。在使用CodePen之后,您认为他们可以从使用GTM中受益吗?例如,在与Chris的视频中,有一段时间你们俩都无法解读自定义维度是在哪里设置的。在GTM中,这样的配置会更加清晰,即使对于理解GA编码的开发人员也是如此。
此外,如果您能为我澄清另一件事,我将不胜感激……为了将数据发送到GA,您需要在应用程序中添加ga()函数调用。然后,对分析跟踪的任何更改或添加都需要您修改应用程序代码。相反,如果您将这些信息推送到dataLayer并通过GTM配置分析跟踪,则可以修改跟踪(例如,重命名事件类别、添加新的属性ID、更改维度索引),而无需再次接触应用程序代码。这似乎有利于将分析/数据层与站点的代码库分离。您是否遇到过保留嵌入在应用程序中的分析配置的任何原因?
精彩的文章。Google Analytics功能强大,似乎99%的网站所有者都不知道他们离它有多近。
我曾在电子商务网站上从事分析工作,令人惊奇的是,一个见解可以价值数十万美元。
那么,隐私方面呢?也许是因为我来自德国,但对我来说,作为访客,让Google知道我的偏好感觉很别扭。Google Analytics是否尊重DNT标头(请勿跟踪)?否则我将通过浏览器插件阻止Google Analytics的执行。
推送Piwik进行分析怎么样?Piwik尊重DNT。
我不喜欢那种需要我去另一个页面才能让它在我的机器上放置cookie并承诺只要该cookie存在,他们就不会跟踪我的分析。
另一方面,我理解你对分析的渴望(我也感受到了)。
Google Analytics提供了许多供您选择退出方法,包括Google Analytics团队开发和维护的浏览器扩展,安装并激活后,您可以选择退出任何使用Google Analytics跟踪的网站。它还规定,对于单个开发人员来说,规避用户的选择退出偏好违反了使用条款。
我认为还值得强调一点,Google Analytics匿名跟踪用户,这意味着它能够分辨出具有客户端ID
XXXXX
的人在网站上做了什么,但它不知道那个人是谁。您可以通过检查它存储的cookie来亲自查看这一点。即使您在另一个选项卡上登录了Gmail,Google Analytics仍然无法知道该网站上的那个人是您。Philip……虽然它是匿名的,但你可以保证它只对最终用户(或查看分析数据的人)是匿名的。Google不太可能匿名保留你的数据,它太有价值了。这就是为什么当你不登录时,它会削弱其网站(如YouTube)的功能……使它们难以使用(至少在移动设备上是这样)。
如果没有其他方法,像Google这样的公司可以轻松地将事情追溯到你身上。这不是阴谋论,而是现实。
Gary,数据对Google也是匿名的。
而且你不必只相信我的话。您可以查看网络请求并查看发送到GA的内容。您还可以了解第一方cookie的工作原理,以及浏览器中如何实现跨域安全/隐私。
哦,关于
我认为,这部分由UI控制。
例如,我目前正在查看http://codepen.io/jakealbaugh/pen/GodLOb(“编辑器视图”),并很快发现了心形图标。但是,评论操作让我多次查看页面——直到我在最底部发现了它。出于某种原因,我感觉两者应该作为一个单元,并且应该彼此靠近。您可以添加一个气泡作为评论的图标吗?
对我来说,那里的评论感觉很自然,因为我正处于与该笔互动的心态,并有一些想法/建议。
(顺便说一句,向下滚动让我寻找一个关闭链接,因为评论模态占据了我屏幕的2/3——x位于右上角,但不是粘性的……)。
另一方面,我如何导航到笔的详细信息视图?(我实际上不得不查找页面上的链接——当查看用户资料时,评论链接到笔的详细信息视图)。预览图片链接到编辑器视图。我遇到后者的频率更高。
关于更改视图:我很困惑,为什么当我选择要放置窗格的位置后,窗口不会自动关闭。
如果您希望在GitHub上提交问题,我很乐意提交。请提供URL :-)
文章很棒,信息量很大。
不过有一点抱怨——GA 和 Google 托管字体等虽然很棒,但在长城防火墙后面,如果没有 VPN,网站往往会因为等待 GA 或 googleapis 加载而超时。因此,我设计的所有网站都使用自托管字体,并且开始使用 Piwik 作为 GA 的替代方案——同样是本地提供服务。我需要检查一下 Piwik 是否有此功能。
您对此有什么看法?中国市场不是目标市场吗?您可能甚至不知道他们是否在中国,因为 VPN 会显示他们拥有不同的 IP 地址。但对于世界大多数地区来说,第三方托管资产虽然有用,但在中国却是一个每天都令人沮丧的来源!(我想您始终可以在 hosts 文件中将 GA 和 googleapis 的 URL 设置为 127.0.0.1。)
非常有信息量且实用。关于维度、事件、自定义用户 ID 等正确用法的详细内容非常有用,几乎所有网站开发人员都必须阅读。
Google Analytics 提供了许多退出方式,包括 Google Analytics 团队开发和维护的浏览器扩展程序,该扩展程序在安装并激活后,允许您退出任何使用 Google Analytics 跟踪的网站。它还规定,个人开发人员违反用户的退出偏好是违反使用条款的。
绝对是一份简洁实用的 Google Analytics 指南,Chris。虽然我之前一直在使用大多数这些 GA 功能,尤其是事件跟踪,但像这里这样好的解释有助于更好地理解底层概念。感谢您的文章!
这是一篇非常有用的文章。非常感谢!
哇,这篇文章太好了,太完整了,谢谢。
根据您的数据,您能否回答我一个困扰我很久的问题?
喜欢右侧编辑器的人是否来自从右到左书写/阅读的国家?
在我看来,右侧的编辑器非常糟糕,我很难相信其他人会喜欢它。这些年来我问过一些人,但从未遇到过一个喜欢右侧编辑器的人,但您的统计数据显示有 25% 的人喜欢。所以我又开始怀疑,这是不是 RTL 的问题?
您好,PAEz,这是一个有趣的问题。
我快速搜索了一下,大约前 10 个国家/地区之间在选择分布方面似乎没有太大差异(这意味着他们都更喜欢左侧约 50%,右侧约 25%)。
然后,我根据语言维度进行筛选,查看了一些我认为是 RTL 的语言(我不是专家,所以我可能错了),但仍然没有发现明显的差异。
我发现唯一一种强烈偏好右侧的语言是
ar
(阿拉伯语),其右侧和顶部偏好约为 38%,左侧仅为 23%。非常感谢。
实际上是阿拉伯语引发了我的想法。
有时真的很想了解人们的想法,想知道为什么?
希伯来语和乌尔都语也是从右到左书写的语言。我想应该有很多希伯来语开发者,因为很多被雇用的技术人员来自以色列,所以这是一个值得检查的方面。
日语使用者在垂直书写时通常会遇到 RTL……尽管一些纸质格式,如杂志和漫画,是从左到右阅读,但页面是 RTL(令人困惑,不是吗?)
@Philip Walton – 除了修改页面 URL 以传递到页面浏览量命中中,例如
"<profiled-username>"
替换,您能否在后续流程中使用内容组?很棒的文章和视频!我学到了很多东西。
Lokesh,你可能可以。实际上,我对使用内容组的经验不多,但我理解它们本质上是您可以让 GA 自动为您捕获的自定义维度。我认为它们不会提供任何额外功能,只是可能更容易实现。
不过,内容组的一个缺点是,我认为非高级用户只能创建 5 个内容组。
大家好,
感谢您撰写这篇文章,它很棒!
这很有趣,因为我们构建了一个 Web 分析平台,可以原生处理此类案例。
我们还对您发送的值进行哈希处理,因为我们认为您的数据只应与您相关。
无论如何,再次感谢您撰写这篇文章,您似乎是喜欢玩弄数据的那种人 :)
请访问:https://www.leanalytics.io/?source=css-tricks
我们目前正在寻找测试产品的人员,因此请随时注册。
此致,
Edouard
Autotrack.js 的交互式演示非常棒
http://trevorfox.com/autotrack-demo/