google-analytics - Google Analytics API 收入差异
问题描述
我从 Google Analytics API 收集的数据与用户界面中的自定义报告之间的收入指标存在差异。
每个值的差异保持相同的比率,其中通过 API 收集的数据大于自定义报告中的数据。
这是我正在使用的请求的正文:
{
"reportRequests":[
{
"viewId":"xxxxxxxxxx",
"dateRanges": [{"startDate":"2017-07-01","endDate":"2018-12-31"}],
"metrics": [
{"expression": "ga:transactionRevenue","alias": "transactionRevenue","formattingType": "CURRENCY"},
{"expression": "ga:itemRevenue","alias": "itemRevenue","formattingType": "CURRENCY"},
{"expression": "ga:productRevenuePerPurchase","alias": "productRevenuePerPurchase","formattingType": "CURRENCY"}
],
"dimensions": [
{"name": "ga:channelGrouping"},
{"name": "ga:sourceMedium"},
{"name": "ga:dateHour"},
{"name": "ga:transactionId"},
{"name": "ga:keyWord"}
],
"pageSize": "10000"
}]}
这是响应的摘录:
{{
"reports": [
{
"columnHeader": {
"dimensions": [
"ga:channelGrouping",
"ga:sourceMedium",
"ga:dateHour",
"ga:transactionId",
"ga:keyWord"
],
"metricHeader": {
"metricHeaderEntries": [
{
"name": "transactionRevenue",
"type": "CURRENCY"
},
{
"name": "itemRevenue",
"type": "CURRENCY"
},
{
"name": "productRevenuePerPurchase",
"type": "CURRENCY"
}
]
}
},
"data": {
"rows": [
{
"dimensions": [
"(Other)",
"bing / (not set)",
"2018052216",
"834042319461-01",
"(not set)"
],
"metrics": [
{
"values": [
"367.675436",
"316.55053699999996",
"316.55053699999996"
]
}
]
},
...
因此,如果我在 Google Analytics(分析)用户界面中创建自定义报告并查找事务 ID 834042319461-01,我会得到以下结果:
按交易 ID 834042319461-01 过滤的谷歌分析自定义报告
最后,API 响应中的收入值为 367.675436,但自定义报告中的值为 333.12,API 的值增加了 10.37%。我得到了所有值的 10.37% 的增长。
¿ 为什么我有这些差异?
¿ 为了解决这些问题,您建议做什么?
谢谢。
解决方案
我敢打赌,您正在体验采样(您在 UI 中的时间范围是否低于 API 中的时间范围?):https ://support.google.com/analytics/answer/2637192?hl=en
抽样适用于:
- 您自定义报告
- 报告的整个时间范围内的会话数(无论您的查询是否返回较少的会话数)超过 500K (GA) 或 100M (GA 360)
结果是:
- 报告将基于数据的子集(百分比取决于会话总数)
- 因此您的报告数据不会像往常一样准确
您可以采取哪些措施来减少抽样:
- 增加样本量(只会在一定程度上减少抽样,但在大多数情况下不会完全消除抽样)。它是通过
UI
报告顶部的选项完成的,API
它是使用samplingLevel
选项完成的 - 缩小时间范围
- 创建过滤视图,以便您的报告包含您需要的数据,而无需自定义报告
推荐阅读
- javascript - 不能匹配以一个相等或两个相等结尾的字符串
- html - 是否有可以与 HTML 一起使用的 CMS 系统
- amazon-web-services - 筛选 AppSync 订阅
- ios - SwiftUI 列表中基于约束的图像布局
- python - 检查人的 id 是否存在于函数的字典中
- javascript - React - 在组件加载时从 URL 和 setState 获取
- jmeter - “OR”运算符在 beanshell 断言中不起作用
- c++ - C ++ While循环范围问题
- javascript - React 将脚本 JS 添加到组件
- c# - 如何在不写入文件的情况下压缩流并将其上传到 Azure Blob 存储?