我有Node.js代码,看起来有点像:
analytics.data.ga.get({
metrics: 'ga:pageviews,ga:users',
dimensions: 'ga:date',
filters: urlPaths.map(path => `ga:pagePath==${path}`).join(','),
'start-date': '30daysAgo',
'end-date': 'yesterday',
// sort: '-ga:date',
'max-results': 30,
}, (err, response) => {
if (err) return next(err)
res.json(response)
})
其中urlPaths可能是一个非常大的数组。
为了提供一些上下文,我有一个网站,每个用户都可以上传图像,这些图像最终都有自己的唯一url(例如/file/:some_unique_hash
),我希望能够过滤出每个用户的分析数据。现在唯一的方法是提取用户上传的文件列表,并将一个可能非常大的URL列表传递给Google Analytics API的过滤器参数。
如果每个URL都以用户的用户名(例如/:some_username/:some_file
)为前缀,这会容易得多,因为这将允许我简单地将regex传递给过滤器。但不幸的是,我认为我无法更改URL结构。
我认为一种解决方案是使用GA的客户端脚本将额外的数据传递给GA,将某些页面视图"标记"为"属于"用户,然后使用该自定义变量来过滤GA数据。这可能吗?解决这个问题的其他建议?
我通过在Google Analytics中创建一个"author"自定义维度并在我的所有/file/...
页面视图中设置该维度来解决这个问题。然后,当使用Google Analytics Core API检索数据时,我可以按作者维度进行筛选。以下是一个有帮助的链接:http://www.vsellis.com/add-author-tracking-google-analytics-wordpress-website/