首页 > 解决方案 > Big Query - BigQuery 和 Analytics 中不同数量的事件和会话

问题描述

我使用以下查询查询(普通 SQL)每个主机名的浏览量、点击量、事件和会话数:

SELECT 
  hits.page.hostname,
  SUM(IF(hits.type = 'PAGE',1,0)) AS pageviews,
  COUNT(hits.hitNumber) AS hits,
  SUM(IF(hits.type = 'EVENT',1,0)) AS events,   
  COUNT(DISTINCT CASE WHEN hits.isInteraction IS TRUE THEN CONCAT(CAST(fullvisitorid as string),CAST(visitid as string)) END) AS sessions 
FROM `XXX_sessions_*`, UNNEST(hits) AS hits
WHERE _TABLE_SUFFIX BETWEEN '20181231' AND '20181231'
GROUP BY 1

如果我将结果与 Google Analytics 进行比较,页面浏览量和点击量是相同的,但事件和会话存在差异。为什么?我做错了什么?每一个帮助表示赞赏!

编辑: 我设法通过以下方式获得正确数量的事件:

COUNT(hits.eventInfo.eventCategory) AS totalEvents

但会话仍然存在问题。

Edit2: 我找到了会话的解决方案。Google Analytics 不考虑主机是否在会话中发生变化。因此,只考虑第一次命中的主机。

(SELECT page.hostname FROM UNNEST(hits) WHERE hitnumber = (SELECT MIN(hitnumber) FROM UNNEST(hits)))

标签: sqlgoogle-analyticsgoogle-bigquery

解决方案


推荐阅读