我在使用Google AnalyticsAPI返回缺少日期的数据时出现问题。这只有在我尝试拉出更大的日期范围时才会发生。例如,我尝试在外部应用中从Google Analytics网站复制Behavior > Site Content > All Pages report
。
当我在更大的日期范围(2017年6月1日至2017年12月30日期间)请求数据时,始终存在数据缺失。奇怪的是,缺失的数据通常是每个月的最后10-15天。它适用于较短的日期范围(<30天),但这不适用于我的应用程序。还有其他人经历过这个吗?我附上了代码截图。
感谢您提供的任何帮助!
答案 0 :(得分:1)
这更像是sampling的问题。
Google Analytics会动态计算维度和指标的某些组合。要在合理的时间内返回数据,Google Analytics只会处理数据样本。
您可以通过设置samplingLevel参数指定要用于请求的采样级别。
如果Core Reporting API响应包含采样数据,则containsSampledData响应字段将为true。此外,2个属性将提供有关查询的采样级别的信息:sampleSize和sampleSpace。使用这两个值,您可以计算用于查询的会话百分比。例如,如果sampleSize为201,000,sampleSpace为220,000,则报告基于(201,000 / 220,000)* 100 = 91.36%的会话。
有关抽样的一般说明及其在Google Analytics中的使用方式,请参阅Sampling。
您可以使用
在请求中设置sampling levelsamplingLevel = DEFAULT
Unforuntaly您正在使用Google Analytics v3,如果您看到的数据已被采样,则无法从响应数据中了解。但是,如果您切换到Google Analytics V4,response会告诉您它返回的数据是否已被采样。
您还应该注意,很难从您在网站上看到的API获得确切的结果。该网站的采样水平不同于我们作为开发人员所能看到的水平,并且其中一些报告也有很多内部计算。尝试使它们与100%相匹配可能是神经紧张。