首页 > 解决方案 > 带有过滤器的 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 发送两个请求,并在页面路径维度上进行合并,但如果我可以只用一个请求来完成它会更好。

我做错了什么还是不可能?

标签: pythongoogle-analyticsgoogle-analytics-apigoogle-analytics-filters

解决方案


根据定义,事件不是页面浏览量。这意味着事件维度(即类别)不能具有页面浏览量指标(即页面浏览量),因为该信息与特定事件无关。

所以你必须做两个报告,并在 pagePath 维度上合并它们。


推荐阅读