如何使用Google Analytics API通过一个非常大的URL列表进行过滤



我有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/

相关内容

最新更新