Chrome浏览器用户体验报告

原文出处 Chrome User Experience Report  |  Tools for Web Developers  |  Google Developers

Chrome浏览器用户体验报告

Chrome浏览器用户体验报告是一个对外公开的数据集合,根据用户在真实情况下使用Chrome浏览器的重要体验衡量标准,记录下了一些常用请求发起站点上用户的体验。

测量方法

Chrome浏览器用户体验报告依靠的是根据衡量体验的重要标准,在公共网站上对真实用户进行测量所得的结果。受到测量的都是选择同步浏览历史记录,而没有设置同步密码,又开启了使用情况统计报告选项的用户。测量结果再根据发起站点累计,所有Google网站爬虫能识别的站点都有,并分成下面几个方面。

衡量标准

在新型的浏览器上,标准网站平台API接口都是公开可用的。Chrome浏览器用户体验报告所提供的衡量标准靠的就是这些接口,然后在站点级别上把测量结果进行累计。如果站点所有者想要URL地址级别上更详细的分析情况,对站点性能得到更好的了解,同样可以用这些接口为自己的站点收集真实用户测量(RUM)的数据。

注: 目前Chrome浏览器用户体验报告的关注点在于加载页面的性能。再过些时间,我们希望能加入更多的衡量标准与测量内容,那样不仅对加载部分能有更好的理解,而且对其它影响用户体验的关键因素也能有所认识。

想知道哪些衡量标准需要追踪并优化,以及了解并阐释真实用户测量数据的最佳方法,请看我们的性能以用户为中心文件,可以给大家更多的指导意见。

首次成像(First Paint)时间

成像计时接口(Paint Timing API)所定义,Chrome M60+版本中可用

“首次成像时间反映的是浏览器打开浏览页面后的首次渲染时间。不包括默认在后台进行的成像时间,但包括了非默认的后台成像时间。这个时间点上,浏览器已经开始渲染页面,所以这是开发人员在页面加载方面第一个要关心的重要时间点。”

首次内容成像(First Contentful Paint)时间

成像计时接口(Paint Timing API)所定义,Chrome M60+版本中可用

“首次内容成像时间反映了浏览器首次渲染任何文字、图像、非空白帆布或SVG图的时间,包括了背景图像和正在等待网页字体的文字。这个时间点上,用户开始第一次能够使用网页上的内容。”

页面内容加载完成(DOMContentLoaded)时间

HTML设计说明所定义:

“页面内容加载完成时间反映了首个HTML文件完全加载并解析的时间,但不包括样式文件、图像、次级网页框架完成加载的时间。”——来自MDN

加载事件发生(onload)时间

HTML设计说明定义:

“当页面及其所需的资源加载完毕时,就会发动加载事件。”——来自MDN

测量内容

随着设备类型、网络属性和其它因素的变化,网页内容的性能也会有极大的不同。为了把用户体验划分成几个重点部分,并理解这些部分,Chrome浏览器用户体验报告提供了下列测量内容:

有效连接类型

网络信息接口(Network Information API)定义,Chrome M62+版本中可用

“提供了有效的连接类型:“慢速2g(slow-2g)”、“2g”、“3g”、“4g”还是”离线(offline)“。这些类型是根据观察到的真实用户测量数据,由往返传输与带宽数值所决定的。”

设备类型

设备粗略分类:“手机(phone)”、“平板(tablet)”或“桌面(desktop)”,由User-Agent属性传达。

数据格式

报告的格式是Google BigQuery数据仓库的数据集,对外公开,包含了为发起网站所做的抽样用户体验测量的累计结果。数据集中的每一行都包含了某个站点上用户体验记录的子记录,按关键测量内容分。

Dimension
origin "https://example.com"
effective_connection_type.name 4G
form_factor.name "phone"
first_paint.histogram.start 1000
first_paint.histogram.end 1200
first_paint.histogram.density 0.123

比如,上面显示的是Chrome浏览器用户体验报告中的一个取样记录,表示在“手机(phone)”设备上,使用”4G”之类的网络连接加载“http://example.com”网站时,页面加载的“首次成像时间(first paint time)”测量结果有12.3%在1000到1200毫秒范围内。求首次成像时间低于1200毫秒的用户体验累积值,只要把直方图(histogram)的“结束(end)”值小于1200的记录相加即可。

注: Chrome浏览器用户体验报告没有提供分位数值,比如中位数。这些值可以从已给的数据中估算出来,但不能直接由报告体现出来。

开始使用

Chrome浏览器用户体验报告是一个Google BigQuery数据仓库上的数据集,对外公开。访问这个数据集,要有一个Google账号和一个Google云项目。请看我们的分步指南,以及如何查询数据集导览

分析要领与最佳方法

考虑不同站点之间统计总体的差异

Chrome浏览器用户体验报告提供的衡量标准靠的是真实用户的测量数据。所以,和人造测试或本地测试不同,这些数据反应了真实用户访问站点时的体验,没有固定模拟的环境,所有形成并影响最终用户体验的外部因素都会被全方位地捕捉到。

比如,某个站点访问的用户人数不同,用户体验也会有重大的不同。如果这个站点经常访问的用户中多数用现代化设备或更快速的网络,那即便这个站点并没有优化好,结果仍然可能显示“快”。反过来,一个优化得很好的站点如果吸引了太多用户,或者用户中大分部用较慢的设备或网络时,就会显得“慢”。

要正面比较站点,明确统计总体的差异并进行控制是很重要的。要根据设备类型和连接类型之类已有的测量内容对数据进行划分,并考虑统计总体大小、站点访问发起的国家等外部因素。

考虑站点之间统计总体的大小差异

Chrome浏览器用户体验报告把每个站点得到的数据累计起来,每个内容的标准直方图属性都有一个“密度(density)”值,所有密度值总和为“1.0”,显示了这个站点关键体验测量内容的分布情况。

然而,多个站点进行数据累计时,要注意导出结论的类型。比如在某个行业内进行垂直比较时,多个站点上同一标准密度值相加是无法说明站点之间统计总体的相对差异的。

比如说,站点A可能有一千万的访问量,站点B只有一万。两个站点的直方图属性显示其站点的密度总和都是“1.0”,数据集也没有为单独站点的总体大小或站点之间相对总体大小差异提供绝对的衡量标准。因此把A和B得到的密度相加,再取平均值的话,即便A的流量要大三个数量级,大家也会认为A和B情况相同。

考虑Chrome浏览器统计总体的差异

Chrome浏览器用户体验报告依靠的是根据衡量体验的重要标准,在公共网站上对真实用户进行测量所得的结果。受到测量的都是选择同步浏览历史记录,而没有设置同步密码,又开启了使用情况统计报告选项的用户。所以这个统计总体可能并不能代表某个特定站点的基础用户群体,很多站点之间也会有总体差异。另外,这个数据无法表明使用不同浏览器的用户情况。

所以,关注站点典型数据时,要注意导出结论的类型。单独站点进行比较时,避免绝对比较,要考虑前述的其它统计总体的因素。

反馈与建议

我们希望能得到大家的反馈、问题与建议,以此帮助我们改进Chrome浏览器用户体验报告。请在Google公共群上加入我们的讨论贴。