使用Google AnalyticsAPI,是否可以同时过滤维度和自定义变量?

时间:2015-01-21 01:02:15

标签: google-analytics google-analytics-api

我有一个webapp,它在一个Google Analytics媒体资源下托管了数千个子域名网站。我正在将跟踪代码从旧的ga.js系统升级到基于analytics.js的新系统(Universal Analytics)。

在我的旧设置中,当跟踪代码被实例化时,我会将网站ID作为自定义变量发送给GA。然后,在为我的用户提取分析时,我只需按照以下步骤过滤网站ID:

https://www.googleapis.com/analytics/v3/data/ga?
    ids=ga:76149262&
    start-date=2015-01-18&
    end-date=2015-01-20&
    metrics=ga:visits,ga:pageviews,ga:uniquePageviews,ga:pageviewsPerVisit,ga:bounces&dimensions=ga:date&
    filters=ga:customVarValue1==f6853365a940330037c3aceff36de412&
    max-results=100

在新的 Universal Analytics 系统中,没有自定义变量,因为这些变量已被维度替换。没问题。我创建了一个名为 siteHash 的新维度,我一直在提交每个页面请求。更重要的是,我只能对上面的API请求进行一次 tiny 修改来查询:

https://www.googleapis.com/analytics/v3/data/ga?
    ids=ga:76149262&
    start-date=2015-01-18&
    end-date=2015-01-20&
    metrics=ga:visits,ga:pageviews,ga:uniquePageviews,ga:pageviewsPerVisit,ga:bounces&dimensions=ga:date&
    filters=ga:dimension1==f6853365a940330037c3aceff36de412&
    max-results=100

正如您所看到的,我刚刚将ga:customVarValue1更改为ga:dimension1,一切正常。

问题在于:一旦我将此代码更改为生产,我的很多网站将开始混合使用旧数据和新数据。旧数据将使用自定义变量进行标记,新数据将使用新维度进行标记。如何在同一查询中同时查询ga:dimension1ga:customVarValue1

我已尝试按照此处所述创建“OR”查询:https://developers.google.com/analytics/devguides/reporting/core/v3/reference#OR

这会产生一个如下所示的过滤器参数:

ga:dimension1==f6853365a940330037c3aceff36de412,ga:customVarValue1==f6853365a940330037c3aceff36de412

不幸的是,使用此过滤器执行API请求不会产生任何数据。有谁知道为什么?是否禁止同时过滤维度和自定义变量?

假设出于某种原因,这是不可能的。有没有办法将已收集的自定义变量数据转换为维度数据?如果我能够这样做,我可以查询API并仅过滤维度,因为所有旧的自定义变量数据现在都是维度数据。

0 个答案:

没有答案