越来越多的网站所有者关注“全能Google”跟踪用户在网络上浏览时的情况。Google Analytics(GA)是一种功能齐全的网络分析系统,可免费使用,尽管存在隐私问题,但它已成为很多大小型网站所使用的分析工具。但是,近年来,越来越多的替代产品正在逐渐打破Google的统治地位。在本文中,我们将研究两个轻量级开源选项,即GoatCounter和Plausible。
GA是迄今为止占的比重还是蛮大的:根据BuiltWith 显示,排名前100,000个网站中约有86%使用它。对于前一百万个网站,比重下降到64%。自Google收购Urchin并将其更名为Google Analytics以来,这些比重在过去15年中一直稳定增长。除了隐私问题之外,与某些网站所有者相比,GA更复杂,功能更丰富。他们中的许多人只想查看访问其网站页面的流量以及流量的来源。因此,过去几年中出现了许多更简单,更开放的工具也就不足为奇了。值得注意的是,尽管我们正在评估其他的选择,但LWN确实使用了GA。但是,那些根据自己的偏好关闭广告的用户将无法获得GA代码。
Google跟踪什么?
如果问到Google跟踪什么信息,愤世嫉俗的人可能会说“一切”。问题的一部分在于,这与事实相差不远:Google跟踪并存储了大量有关用户的信息。
道格拉斯·施密特(Douglas Schmidt)在2018年发表的一篇论文[PDF]着重介绍了Google跟踪的程度,其中以Android设备上的位置跟踪为例:即使没有任何用户交互,Android和Chrome也会向Google发送数据。我们的实验表明,处于休眠状态的静止Android手机(在后台运行Chrome)在24小时内向Google进行了340次位置信息通信,或平均每小时进行14次数据通信。
本文区分了“主动”和“被动”跟踪。主动跟踪是指用户直接使用或登录Google服务(例如执行搜索,登录Gmail等)的情况。除了记录用户的所有搜索关键字外,Google还会在用户访问使用GA和其他Google 发布者工具的网站时被动地跟踪用户。施密特发现,在一个“生活中的日子”的例子中,“ 谷歌通过被动方式收集或推断出三分之二的信息 ”。
施密特的论文详细介绍了GA Cookie跟踪的工作原理,并指出了“第一方”和“第三方” Cookie之间的区别-后者可在多个网站上跟踪用户及其广告点击:GA Cookie特定于用户访问的网站的特定域(称为“第一方Cookie”),而DoubleClick Cookie通常与一个通用的第三方域(例如doubleclick.net)相关联。Google使用此类Cookie来跟踪多个第三方网站之间的用户互动。
当用户与网站上的广告互动时,DoubleClick的转化跟踪工具(例如Floodlight)会将Cookie放置在用户的计算机上并生成唯一的客户ID。此后,如果用户访问广告网站,则DoubleClick服务器将访问存储的cookie信息,从而将访问记录为有效转化。
由于大量的网站都使用Google广告产品以及Google Analytics GA,因此,它可以了解许多网站中大部分用户的浏览历史记录。简而言之,Google对你喜欢的商品,所处的位置以及所购买的商品了解很多。
Google确实提供了关闭目标广告和位置跟踪等功能以及删除与账户相关联的个性化配置文件的方法。但是,这些功能几乎完全是可选功能,大多数用户要么不了解它们,要么就从不费心关闭它们。
当然,仅退出GA并不能消除所有这些隐私问题(例如,它无法阻止Android位置跟踪或搜索跟踪),但这是减少Google收集大量数据的一种方法。此外,对于使用GA替代方案的网站所有者来说,Google不会对网站的流量模式进行幕后调查-可以想象,将来可以使用这些数据来构建竞争工具。
LWN读者可能倾向于注重隐私:使用Firefox而不是Google Chrome。但是,他们建立网站的用户可能并不那么注重隐私。对于网站开发人员而言,他们选择的分析工具可以帮助尊重用户的隐私,并避免Google对用户的浏览方式了解太多。
1、GoatCounter
GoatCounter是2019年8月推出的最新网络分析工具之一。由Martin Tournoij创建,与其他工具相比,它具有更多的“由个人开发人员制作”的感觉。它的功能比其他的要少一些,但它对开发人员友好并且易于设置。
该工具支持所有的基本分析:包括按照URL的页面视图和访问,浏览器和操作系统统计信息,设备屏幕尺寸,位置和引荐来源信息。默认情况下,GoatCounter会显示最近7天的计数(按小时细分),但网站所有者可以使用简单的控件来调整日期范围。GoatCounter有一个不寻常的定价模型,其源代码是根据版权保留的欧盟公共许可证(EUPL)许可的。公司可以自己托管软件,也可以支付少量费用使用GoatCounter的托管版本。
图尔诺伊(Tournoij)在一篇长篇文章中 讨论了他为什么选择EUPL,并指出:我仍然不太在乎人们如何使用我的代码,但是我在乎我的谋生能力是否会受到不合理的影响。采用我的MIT代码并全职致力于未发给我的增强功能,这意味着我的竞争对手的工作量翻了一番:我(从他们的角度来看是免费的)和他们。他们永远比我有优势。
GoatCounter是用Go编写的,并在其UI中使用JavaScript进行了一些轻量级的交互。JavaScript框架通常会妨碍Web的可访问性,而GoatCounter的可访问性优先级(在其首页上已提到)。除了计算页面浏览量之外,GoatCounter还会使用浏览器的用户代理和IP地址的哈希值来跟踪对话,以识别客户端,而无需存储任何个人信息。用于产生这些哈希值的Salt 每4个小时带有一个滑动窗口旋转一次。Tournoij 详细介绍了会话跟踪的技术方面,包括与具有类似目标的其他解决方案进行比较。
对于喜欢避免使用JavaScript或希望禁用JavaScript的用户进行网站分析的网站所有者,GoatCounter支持非JavaScript跟踪方案。它在要计数的页面上的“ ”标签中使用1x1透明GIF图像,尽管这种方法不会记录来源网址或屏幕尺寸。GoatCounter的托管版本易于设置-大约需要五分钟来设置一个帐户并把一行JavaScript添加到我的网站。几秒钟后,分析数据开始显示。即使使用托管版本,网站所有者也完全拥有数据,并且可以随时导出完整的转储或删除其帐户。
自托管版本还可以直接使用Linux二进制文件或通过源代码构建进行设置-从源代码构建并使用默认SQLite数据库配置在本地进行设置所需的时间不到10分钟。与Plausible相比,它安装起来轻便得多,没有下载任何东西,几乎立即启动。
2、Plausible
Plausible是于2019年初推出的另一种相对较新的分析工具。启动后不久,它便转向了开放源代码,其代码获得了MIT许可。该公司的商业模式是对托管收费,针对小型企业的定价。
从技术角度来看,Plausible是独一无二的,它的服务器代码是用Elixir编写的,Elixir是在Erlang虚拟机上运行的一种功能编程语言。它的前端UI对交互部分使用了少量普通JavaScript代码,而不是像React这样的渲染框架。它还拥有最小的分析脚本之一,在撰写本文时,plausible.js的大小为781字节(未压缩的1.2KB)。相比之下,GA的analytics.js几乎为18KB(未压缩的46KB),而GoatCounter的count.js为2.3KB(未压缩的6.3KB)。该大小可能会产生有意义的变化,因为脚本是为站点上的每个页面加载的。
值得注意的是,目前还没有对自托管“ Pluusible”的明确支持。该项目仍在快速发展中,维护自托管解决方案将大大减慢产品开发速度。一旦产品和业务更加稳定,我将在将来提供一个自托管的解决方案。
就是说,就在几周前,Plausible添加了一份文档 ,描述了使用Docker自托管系统的实验方法。按照这些建议,我尝试使用docker-compose使其在本地运行。在几分钟的安装过程中,它下载了多少个Docker和npm软件包,这有点令人不安。 即使完成后,PostgreSQL迁移仍然存在一个难以理解的错误,阻止了它的启动-“实验性”标签绝对合适。
在用户界面方面,Plausible绝对比GoatCounter更精致。但是,它非常简单,甚至比GoatCounter更是如此,它提供了总访问者计数,每个路径的页面浏览量,引荐来源信息,地图位置和设备(按屏幕尺寸,浏览器和操作系统细分)。该工具还提供了“ 跳出率 ”指标,尽管确切的定义尚不清楚。
Plausible的主页声明其提供“ 100%数据所有权”,并且可以导出单个图表的CSV数据(以及删除Plausible.io帐户)。但是,数据转储比GoatCounter的完整数据转储有用得多,后者包括每个事件的详细信息。
就在几周前,Plausible添加了一份文档 ,描述了使用Docker自托管系统的实验方法。按照这些建议,我尝试使用docker-compose让其在本地运行。在几分钟的安装过程中,它下载了几个Docker和npm软件包,这有点令人不安。 即使完成后,PostgreSQL迁移仍然存在一个难以理解的错误。
简短的专有选项
还有一些轻量级的专有工具,其重点是隐私,值得一提。显然,这些没有开放开发或自我托管的优势,但仍然提供了一种低成本的方式来摆脱Google的数据收集网。
一个是极简主义的Simple Analytics产品,它是由单人开发人员Adriaan van Rossum创建的基于云的工具;它具有简洁的界面,仅包含少量关键指标,类似于Plausible。另一个是Fathom,最初是开源的,但是当前版本是私有的(据说该公司希望将来再次开始维护开源代码库)。
摘要
过去几年中,Google Analytics(分析)有许多不错的选择,尤其是对于那些只需要一些基本功能的用户而言。最近的许多替代方案都是开源的和注重隐私的,这意味着项目和企业继续使用专业分析系统的原因更少。
对于只需要基本流量的站点所有者,GoatCounter和Plausible似乎都是不错的选择。那些喜欢更多视觉修饰和文档记录的人可能更喜欢Plausible;那些看重易于托管的对开发人员更友好的工具的人可能会更喜欢GoatCounter,萝卜青菜各有所爱。