Google AnalyticsAPI会删除较大日期范围的日期

时间:2018-04-24 18:49:01

标签: javascript google-api google-analytics-api google-api-js-client

我在使用Google AnalyticsAPI返回缺少日期的数据时出现问题。这只有在我尝试拉出更大的日期范围时才会发生。例如,我尝试在外部应用中从Google Analytics网站复制Behavior > Site Content > All Pages report

当我在更大的日期范围(2017年6月1日至2017年12月30日期间)请求数据时,始终存在数据缺失。奇怪的是,缺失的数据通常是每个月的最后10-15天。它适用于较短的日期范围(<30天),但这不适用于我的应用程序。还有其他人经历过这个吗?我附上了代码截图。

api call code

感谢您提供的任何帮助!

1 个答案:

答案 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 level
  

samplingLevel = DEFAULT

Unforuntaly您正在使用Google Analytics v3,如果您看到的数据已被采样,则无法从响应数据中了解。但是,如果您切换到Google Analytics V4,response会告诉您它返回的数据是否已被采样。

您还应该注意,很难从您在网站上看到的API获得确切的结果。该网站的采样水平不同于我们作为开发人员所能看到的水平,并且其中一些报告也有很多内部计算。尝试使它们与100%相匹配可能是神经紧张。