会话计数之间的差异
Posted
技术标签:
【中文标题】会话计数之间的差异【英文标题】:Discrepancies between Session count 【发布时间】:2019-03-18 15:33:55 【问题描述】:我是 Google Analytics/Big Query 领域的新手。我正在尝试了解如何在 Big Query 中计算会话数,但我无法理解我得到的数据。
据我了解,
-
BQ 中的每一行 = 一个会话
BQ 中的会话标识符 = visitId + fullvisitorId
存在 Google Analytics 会话低于 Big Query 会话的情况,因为 GA 会自动过滤掉没有交互事件的会话
问题是,当我以这种理解运行查询时,会发生这种情况:
GA 中的会话 = 7.763.228 个会话 BQ 中具有不同 visitId + fullvisitorId = 7.750.579 的会话(低于 GA,这表明 #3 理解并非如此) BQ 中的会话总和总计.visits = 7.763.228(与 GA 相同) 行数 = 7.763.592(因为包括 364 个访问次数 = NaN 的会话)我想知道,我最信任哪些数据,以及每个会话的真正唯一标识符是什么(因为数字不相等)。
另外,我注意到 visitId + fullvisitorId 没有给我会话的唯一标识符,因为我在数据中有 13.013 visitId + fullvisitorId 重复。有人有什么想法或解释吗?
提前致谢。
【问题讨论】:
从广义上讲,BigQuery 应该比 GA 更准确,因为它永远不会被抽样。对我来说,COUNT(DISTINCT CONCAT(CAST(fullVisitorId AS STRING),CAST(visitId AS STRING)))
匹配 GA 中的会话。请注意,totals.visits 将匹配 GA,因为它排除了非交互会话。
【参考方案1】:
在 Google Analytics(分析)中,会话在每天午夜中断,因此您没有交叉会话。在这些情况下,visitId 字段(它只是指示用户会话何时开始的时间戳)仍然具有与第一个会话相同的值。因此,如果超过午夜限制,您可以使用相同的 fullVisitorId + visitId 组合进行两个会话。
如果您需要与 Google Analytics(分析)中的数据匹配的唯一标识符,则应使用 visitStartTime + fullVisitorId。 visitStartTime 与 visitId 的工作方式相同,但如果会话在午夜中断,则会再次设置它。正如您已经指出的,您还需要过滤 totals.visits 不同于 1 的行。
很遗憾,我不知道有任何官方资源表明这种区别,但社区讨论和测试都证实了这一点。
【讨论】:
以上是关于会话计数之间的差异的主要内容,如果未能解决你的问题,请参考以下文章
会话持续时间 - 谷歌分析和 Firebase 报告之间的巨大差异