谷歌分析采样数据


第14章

Server

数据采样可能会是一个重要问题。当一定的条件满足的时候,谷歌分析在数据报告中展示采样数据。

如果一个的谷歌分析媒体资源(property)正在收集的数据超过了一个媒体资源的数据大小时,这个谷歌分析媒体资源开始在报告中展示采样数据。

数据采样是如何发生的?

数据采样在如下情况发生:

  • 你的某一个报告的预聚合数据中中每天有超过50,000个独立行。
  • 编制报告时,在非聚合数据中有超过500,000个会话。

当数据采样发生时,你的报告开始在细节数据上丢失精确度并且谷歌分析会展示一条消息告诉你,报告是基于采样数据,例如:

“这个报告基于100,000个会话(占所有会话的10.00%)”。

数据采样是如何造成问题的?

举个例子,在你选择的数据范围内有1,,000,000个会话,谷歌分析提取100,000个会话(所有会话的10.00%)用于计算你的报告指标,然后乘以10来获得总量。

假设谷歌分析从总量为1,000,000的会话中记录某个特定着陆页URL的10,000个会话。这就将所有这个特定着陆页的会话转化到总量的1%。如果是10%的采样,谷歌分析可能会从所有1,000,000个会话中随机选取100,000个会话。在这100,000个被选取的会话中,只有8,000个会话属于这个特定的着陆页,谷歌分析就是这样来报告这个特定的着陆页会话的。

如何提高采样数据的精确度?

在谷歌分析报告中,你既可以通过增加样本大小来提高精度,也可以通过减少样本大小来提高报告处理速度。你唯一要做的的就是拨动一个滑块。

如果你增加样本量大小,你的报告将会从一个更大的样本会话中计算。例如:

“这个报告基于200,000个会话(占所有会话的20.00%)”。

数据采样导致的问题最终被解决了吗?

在免费版的谷歌分析中,采样数据不能完全避免,只能被最小化。

通过拨动滑块来增加样本数据大小,你的报告将可以提高精确度。然而,谷歌分析已经限定了在你的报告中你最多能有多少样本数据,也就是说,在报告中你无法彻底摆脱采样数据。

怎样减少采样数据?

你想限定出现在你的谷歌分析报告中的采样数据数量。

其中一个办法就是减少独立URL的数量,可以通过如下方式:

  • 通过把URL全部转化成小写来合并URL。
  • 通过使用“排除URL查询参数”来合并URL。
  • 一个特定的网页只使用一个URL版本。

通过把URL全部转化成小写来合并URL

以下两个URL。

m.example.com/Hotel/List/Shanghai-Hotels/
m.example.com/hotel/list/shanghai-hotels/

其中一个URL还有一个大小字母,另一个则全部是小写字母。无论你输入第一个或者第二个URL,浏览器将返回完全相同的页面。

然而,谷歌分析把他们认为是两个单独的URL。在谷歌分析中,它们会在报告中展示为两个单独的行。

这将会在你的报告中额外增加一行,这完全没有必要。当你的数据报告中有很多不必要的行时,你的谷歌分析媒体资源将会很快到达每天50,000个独立行的预聚合数据的上限。因此,样本数据将会在你的报告中迅速增长。

你可以使用过滤器来讲它们变为谷歌分析数据报告中的一个单独行。

视图 -> 过滤器 -> 添加过滤器 -> 创建新过滤器
  • 在过滤器名称一栏输入“小写URL”。
  • 选中自定义标签,选择“小写”作为过滤器类型,并选择“请求URL”作为过滤字段。
  • 点击保存。

这个过滤器将会把所有URL中的任何大写字母转换为小写。

m.example.com/hotel/list/shanghai-hotels/

以后登入到你的谷歌分析报告,你将会看到只有一种版本的上述URL,并且它是小写的。

合并类似的URL

考虑有一个酒店预定网站,可能会有一个URL用于展示在上海的15个酒店的列表。

m.example.com/hotel/list/shanghai

对于一个典型的酒店预定业务,你需要展示特定签入时间、特定签出时间期间可以被预定的酒店。为了获取上述信息,很多酒店预定网站会在URL中增加参数和值。

m.example.com/hotel/list/shanghai?check-in-date=2015-11-01&check-out-date=2015-11-03
m.example.com/hotel/list/shanghai?check-in-date=2015-11-05&check-out-date=2015-11-06

这两个带有不同签入和签出日期区间的页面或许会有细微的差别,但是他们本质上是一个页面。把日期作为URL的值,你很容易就会面临无限的URL的窘境。在很多情况下,把所有的三个URL看成是一个页面并且作为一个单独的URL上报,将会使问题变得容易。

m.example.com/hotel/list/shanghai

在你的谷歌分析媒体资源中,进入:

视图 -> 视图设置
  • 在排除URL查询参数一栏,输入需要排除的参数名称。如果你有多于一个的参数需要被排除,用逗号分隔列出所有参数的名称。
  • 注意在排除URL查询参数栏里,你不需要输入问号(?),和号(&),等号(=),或任意其他的符号或定界符。
  • 现在点击保存。

在上述的示例中,合并URL将会减少出现在谷歌分析报告中的独立URL的数量。这将会减少数据量,进而在遇到数据采样问题前给你留出更多的数据空间。

合并页面相同的URL

考虑这个示例,你的网站使用如下几个URL作为首页。

m.example.com/
m.example.com/index.aspx
m.example.com/default.html

事实上,对于一个单独的主页,你不应当使用多个URL。

  • 不同版本的URL有时会让用户感到困惑。
  • 在你的谷歌分析数据报告中,你永远需要三行来展示首页的指标。这会造成在你的数据报告中你永远有无用的行,并且会比正常环境下更快的达到行上限。
  • 你不得不采用一种笨拙的方式对首页数据进行求和。

为了解决这个问题,在谷歌分析媒体资源中,进入:

视图 -> 过滤器 -> 添加过滤器 -> 创建新过滤器
  • 在过滤器名称栏中输入“移除index和defalut”。
  • 选择自定义标签,选择“搜索并替换”作为过滤类型,并选择“请求URL”作为过滤字段。
  • 在搜索字符串中,输入(index|default)\.(aspx|html)
  • 在替换字符串中,留空。
  • 点击保存。

以后登入你的谷歌分析报告,你将会看到只有一个版本的URL:

m.example.com/

另一个示例中,酒店预定网站使用一个页面的多个版本的URL。考虑那个在上海的15个酒店的列表页面。他们是两种典型的方式代表同一个页面。

静态URL: http://m.example.com/hotel/list/shanghai
动态URL: http://m.example.com/hotel/list?city=shanghai

在你的谷歌分析报告中,你只需要出现其中一个,最好是第一个URL(即静态URL)。

在谷歌分析媒体资源中,进入:

视图 -> 过滤器 -> 添加过滤器 -> 创建新过滤器
  • 在过滤器名称栏中输入“移除index和default”。
  • 选择自定义标签,选择“搜索并替换”作为过滤类型,并选择“请求URL”作为过滤字段。
  • 在搜索字符串中,输入\?city\=
  • 在替换字符串中,输入\/
  • 点击保存。

进入你的谷歌分析报告,你将会看到只有一个版本的URL:

m.example.com/hotel/list/shanghai

如果数据采样是你的网站数据收集、数据上报、数据分析的一个长期问题,那么可以考虑升级到付费的谷歌分析高级版。

URL合并不当示例

如果你在合并时不当的将不该进行合并的URL进行合并的话,那么你将会丢失一些数据粒度。不当示例如下:

m.example.com/hotel/list/shanghai
m.example.com/hotel/list/shanghai?district=xuhui&brand=hanting
m.example.com/hotel/list/shanghai?district=changning&brand=jinjiang
m.example.com/hotel/list/shanghai?district=baoshan&brand=hanting

所有的URL代表不同的位置,将它们合并为一个独立的URL毫无意义。



数据分析技术白皮书在2016年11月正式出版。

英文版:Google Analytics Sampled Data – 繁体中文版:谷歌分析采样数据







数据分析技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International

Gordon Choi's Analytics Book