【问题标题】:Discrepancies between Session count会话计数之间的差异
【发布时间】:2019-03-18 15:33:55
【问题描述】:

我是 Google Analytics/Big Query 领域的新手。我正在尝试了解如何在 Big Query 中计算会话数,但我无法理解我得到的数据。

据我了解,

  1. BQ 中的每一行 = 一个会话
  2. BQ 中的会话标识符 = visitId + fullvisitorId
  3. 存在 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,因为它排除了非交互会话。

标签: session google-analytics google-bigquery


【解决方案1】:

在 Google Analytics(分析)中,会话在每天午夜中断,因此您没有交叉会话。在这些情况下,visitId 字段(它只是指示用户会话何时开始的时间戳)仍然具有与第一个会话相同的值。因此,如果超过午夜限制,您可以使用相同的 fullVisitorId + visitId 组合进行两个会话。

如果您需要与 Google Analytics(分析)中的数据匹配的唯一标识符,则应使用 visitStartTime + fullVisitorId。 visitStartTime 与 visitId 的工作方式相同,但如果会话在午夜中断,则会再次设置它。正如您已经指出的,您还需要过滤 totals.visits 不同于 1 的行。

很遗憾,我不知道有任何官方资源表明这种区别,但社区讨论和测试都证实了这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2017-08-06
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多