python - Google Analytics Dashboard Data 和通过 python googleapiclient 导入的数据不匹配
问题描述
我在 Google Analytics(分析)仪表板中有一个自定义报告。我也通过 python googleapiclient 获取这些数据。但是仪表板和这之间的数据不匹配。通过 python 获得的数据点始终存在约 10% 的差异。
这是报告对象的格式。
def get_report(analytics, token):
return analytics.reports().batchGet(
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '1daysAgo', 'endDate': '1daysAgo'}],
'metrics': [
{'expression': 'ga:users'},
........
],
'dimensions': [
{'name': 'ga:date'},
{'name': 'ga:hour'},
....
],
'pageSize': 100000,
'pageToken': token,
'samplingLevel': 'HIGH',
}]
}
).execute()
我相信采样不是问题,因为 report.get('samplesReadCounts') 返回 None。
可能是什么问题呢?签入 query-explorer 。也不匹配。
解决方案
这可能与延迟有关。大多数情况下,您不应该尝试从 Google Analytics 请求昨天的数据,这些数据至少在 24 -48 小时内还没有完成处理。
您可以通过检查响应中的isDataGolden字段来检查这一点。
指示对此请求的响应是否为黄金。如果在稍后的时间点询问完全相同的请求不会产生任何新结果,那么数据就是黄金。
话虽如此,很难让网站上的报告与 api 返回的数据完全匹配。您需要请求与构建报告相同的确切日期、维度和指标,并且很难知道网站上的某些报告中使用了哪些维度和指标。
即使将 sampliingLevel 设置为 HIGH 也不会阻止采样。
推荐阅读
- javascript - 需要动态文本来读取时间轴上的帧标签数量并输出时间轴当前所在的帧标签
- c# - 如何将 sql 转换为 lambda 实体框架字
- wordpress - 如何在woocommerce中的自定义错误功能上更改邮政编码字段的输入边框颜色
- sql - SQL SUM 带有 OVER 子句的 CASE 语句
- rasa - 如何获得 rasa 训练时间
- kubernetes-helm - Helm go脚本中的连接
- django - 'Contact.Contact' 没有 ForeignKey to 'Order.Order' 使用 django 额外视图的错误
- json - 使用 bash 脚本从 json 文件中删除具有某些关键字的行
- python - Python loadtxt 不会读取文件中的所有行
- javascript - 只有资源不是新的,ServiceWorker 才能用网络响应吗?