我为Google Analytics(v3)构建了一个非常简单的抓取工具,直到本周我才开始在所有查询中获取采样数据。
我曾经通过简单地减少查询的日期范围来克服采样,但现在我获得所有会话的50%(aprox。),即使对于少于100个会话的样本空间也是如此。
似乎有些东西正在触发采样,但我无法意识到可能是什么。任何人都遇到过类似的问题吗?
EDITED
当我们从GA网络界面(以及其他人)查询“用户概述”标准报告时,我们也正在抽样,即使只有883个会话,我们要求一天。
下面是一个示例查询,我们在这里查询3个维度的多个指标,样本大小为883个会话和一个采样或大约50%(查询URL被裁剪,但参数列在“查询”键上)。
答案 0 :(得分:0)
似乎原因可能与查询ga:具有多个维度的用户指标有关,包括ga:appId。
我尝试了不同的组合,只有ga:用户在查询的尺寸超过ga:date时返回采样数据。
总之,如果我从具有相同3维度的示例中查询任何其他度量,则返回完整空间数据。
两周前,这种情况没有发生,所以我认为谷歌改变了ga:用户最近计算的方式。
此外,作为一种副作用,我意识到,如果您计划计算用户总数,那么批量查询用户会产生误导,因为您不能简单地对它们求和。也就是说,ga:用户与ga:1dayUsers类似,当用ga:date查询时,则无法聚合数据。同样奇怪的是你不能使用ga:appId和ga:1dayUsers,但你可以使用ga:users。
我们还在丢弃ga后发现了另一个问题:抓取工具中的用户。该问题与段参数有关,它与剩余的度量和维度结合使用时也会触发采样。
我们在同一视图中收集来自多个应用的数据(不推荐,但由于遗留原因,它存在)。因此,我们使用像“sessions :: condition :: ga:appId =@com.xxx.yyy.zzz”这样即时定义的片段。
事实是,当我们以这种方式过滤时,我们会受到采样,但如果我们使用像“ga:appId = com.xxx.yyy.zzz”这样的常见过滤器,我们就不会得到采样结果。
可能问题是为什么我们使用基于段的过滤器而不是标准过滤器,原因是因为我们需要一些特定的指标,如ga:7dayUsers和related,它们不能与ga:appId结合为维度和所以你不能在过滤器中使用ga:appId。令人困惑的是,对于这些指标,当我们使用基于段的过滤器时,我们不会得到采样结果。
现在看来我们所有的API调用都在返回实际数据。
但是,还不确定为什么网络界面中的默认报告(如“用户概述”)会在一天内返回少于1000个会话的采样数据。
如果在采样方面遇到类似问题,希望这些信息可以帮助其他人。