python - 带有过滤器的 Google Analytics API 事件跟踪
问题描述
我试图使用谷歌分析 api 来自动化我必须做的一些报告,但我在一次使用多个维度和指标时遇到了麻烦。我基本上想获得页面浏览量以及该页面上仅针对一个事件类别发生的事件总数
基本上我想得到一个看起来像这样的df
page pageviews specific_events
xx.com 2330 193
xx2.com 1980 204
当我不应用事件类别过滤器时,我可以获得正确的数据,但一旦应用它,我就不再获得页面指标
我得到的结果如下所示:
page pageviews specific_events
xx.com 0 193
xx2.com 0 204
我使用以下请求
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '90daysAgo', 'endDate': 'today'}],
'metrics': [{'expression': 'ga:pageviews'}, {'expression': 'ga:totalEvents'}],
'dimensions': [{'name': 'ga:pagePathlevel1'}, {'name': 'ga:eventCategory'}],
"orderBys": [
{
"orderType": "VALUE",
"sortOrder": "DESCENDING",
"fieldName": "ga:totalEvents"
}
],
"dimensionFilterClauses": [
{
"filters": [
{
"dimensionName": "ga:eventCategory",
"operator": "EXACT",
"not": "true",
"expressions": ["specific_events"]
}
]
}
],
"pageSize": 10
}
]
}
我想,我可以向 API 发送两个请求,并在页面路径维度上进行合并,但如果我可以只用一个请求来完成它会更好。
我做错了什么还是不可能?
解决方案
根据定义,事件不是页面浏览量。这意味着事件维度(即类别)不能具有页面浏览量指标(即页面浏览量),因为该信息与特定事件无关。
所以你必须做两个报告,并在 pagePath 维度上合并它们。
推荐阅读
- reactjs - React 应用程序在 Firefox 桌面上重新加载时卡住了,但在 Chrome 和其他浏览器上却没有
- android - 有没有办法添加一个复杂的颤振应用程序,flutter_storyBook 作为本机 Kotlin 应用程序的模块?
- reactjs - 成帧器运动中的页面过渡动画(React)
- keil - 我可以使用 Keil/armclang/armlink 在内存区域中放置一个变量吗?
- java - 从文件读取时子字符串没有值
- python-3.x - 如何在 django3 模板中迭代到 2 个或更多表
- python - 同时转换文件
- ios - 在 iOS 15 中为不同的 UITabBarItem 设置不同的文本颜色
- java - 使用 ACTION_DISMISS_ALARM 在 android 中关闭警报
- oracle - oracle如何在存储过程中使用复制命令