我有一个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:dimension1
和ga:customVarValue1
?
我已尝试按照此处所述创建“OR”查询:https://developers.google.com/analytics/devguides/reporting/core/v3/reference#OR
这会产生一个如下所示的过滤器参数:
ga:dimension1==f6853365a940330037c3aceff36de412,ga:customVarValue1==f6853365a940330037c3aceff36de412
不幸的是,使用此过滤器执行API请求不会产生任何数据。有谁知道为什么?是否禁止同时过滤维度和自定义变量?
假设出于某种原因,这是不可能的。有没有办法将已收集的自定义变量数据转换为维度数据?如果我能够这样做,我可以查询API并仅过滤维度,因为所有旧的自定义变量数据现在都是维度数据。