GA BigQuery:您是不是能够查询特定页面浏览量的总“页面浏览量”?

Posted

技术标签:

【中文标题】GA BigQuery:您是不是能够查询特定页面浏览量的总“页面浏览量”?【英文标题】:GA BigQuery: Are you able to query total 'page views' of a specific page view?GA BigQuery:您是否能够查询特定页面浏览量的总“页面浏览量”? 【发布时间】:2017-08-23 18:01:22 【问题描述】:

使用 GA UI,我可以查看有多少用户查看了正在触发的特定“页面视图”。是否也可以在大查询中找到这些数据?

  totals.pageviews

在会话期间为我提供所有页面浏览量,但我的兴趣在于特定页面浏览量。

通过阅读导出架构,我知道我可以查询特定页面路径,但没有提及特定页面视图。

--使用旧版 SQL

【问题讨论】:

【参考方案1】:

是的,这当然是可能的。这可能是最有效的方法:

#standardSQL
SELECT 
  COUNT(1)
FROM `dataset.ga_sessions_tableid`
WHERE EXISTS(SELECT 1 FROM UNNEST(hits) WHERE REGEXP_CONTAINS(page.pagepath, r'/home/') AND type = 'PAGE')

此示例计算有多少客户访问了路径在某处有“/home/”的页面。

请注意,这会计算总用户数,而不是总页面浏览量。如果客户看到相同的页面两次,它仍然计为 1。

这个查询给出了总页面浏览量:

#standardSQL
SELECT 
  SUM((SELECT COUNTIF(REGEXP_CONTAINS(page.pagepath, r'/home/')) FROM UNNEST(hits) WHERE type = 'PAGE'))
FROM `dataset.ga_sessions_tableid`
WHERE EXISTS(SELECT 1 FROM UNNEST(hits) WHERE REGEXP_CONTAINS(page.pagepath, r'/home/') AND type = 'PAGE')

【讨论】:

非常感谢!我正在使用旧版 SQL。此查询中 UNNEST(hits) 的目的是什么?再次感谢您抽出宝贵时间回复! @WilliamKnighting 我强烈建议将您的查询迁移到 BQ 中的 Standard SQL 版本。 UNNEST 是基本上打开一个数组并获取内部值的操作。通过使用标准,您可以更好地控制数据的处理方式,而不是尝试为您自动进行扁平化(并最终复制大量不必要的数据)的传统方式。 @WilliamFuks 非常感谢您的建议。您是否建议使用特定资源来进行转换,或者只是坚持阅读谷歌文档? @WilliamKnighting 很高兴知道它有效:)。我发现 BQ 官方文档已经相当不错了(事实上,它是我见过的最好的文档之一,你可以从字面上了解 BQ 的所有内容)。有趣的是,您会在 BQ 标签上找到 SO 答案,这是另一个有价值的信息来源,特别是 Elliott 和 Mikhail 的答案,您可以根据他们的答案学习非常先进的技术(事实上,我在学习 BQ 时所做(并且仍在做) )。【参考方案2】:

要获取特定页面的页面浏览量,请使用以下命令:

select hits.page.pagePath , count(*)
from [<insert data set name>]
where
  hits.type='PAGE' and
  hits.page.pagePath = '<insert page path>'
group by hits.page.pagePath

【讨论】:

以上是关于GA BigQuery:您是不是能够查询特定页面浏览量的总“页面浏览量”?的主要内容,如果未能解决你的问题,请参考以下文章

按登录页面划分的用户组大查询与GA UI报告不匹配

BigQuery 在同一查询中展平 GA 会话和命中级别字段

如何在 BigQuery 中使用标准 SQL 查询 GA RealtimeView?

初学者 GA 导出 bigquery 问题

在 BigQuery 上重新创建 GA 漏斗

BigQuery GA360链接数据集不在项目中