【问题标题】:BigQuery Session & Hit level understandingBigQuery 会话和命中级别的理解
【发布时间】:2018-08-27 15:18:34
【问题描述】:

我想询问您对事件概念的了解。

命中等级 会话级别

在 BigQuery(标准 SQL)中我如何映射这个逻辑,以及

会话 每个会话的事件 独特事件

请有人指导我理解这些概念吗?

totals.visitors 是会话 有时 visitId 被当作 Session

【问题讨论】:

    标签: sql google-analytics google-bigquery


    【解决方案1】:

    要实现这一点,您需要稍微了解一些不同的概念。第一个是 GA 术语中的“什么是会话”。你可以找到here。会话是命中的集合。命中是以下之一:综合浏览量、事件、社交互动或交易。

    现在要了解它在 BQ 模式中是如何表示的,您可以查看 herevisitIdvisitorId 将帮助您定义会话(而不是用户)。

    然后您可以计算您想要的事件类型的totals.hits 的数量。

    它可能看起来像:

    select visitId, 
    sum(case when hits.type = "EVENT" then totals.hits else 0) from 
    dataset.table_* group by 1
    

    这应该可以让您大致了解一下。如果您需要对事件详细信息(即hits.eventInfo.*)进行切片和切块,那么我建议您查询所有visitId,并查询所有相关事件及其各自的visitId

    我希望这有效!

    干杯

    【讨论】:

    • 您的回答有一些错误:visitorId 已弃用,它应该是fullVisitorId。您的查询不适用于标准 sql。在旧版 sql 中,您将每次点击 hits.type 对会话的所有点击进行求和 totals.hits。您仅按 visitId 分组 - 您应该使用 fullvisitoridvisitstarttime 进行 GA 会话。
    【解决方案2】:

    你可以这样想这些概念:

    • 每一行都是一个会话
    • 从技术上讲,totals.visits=1 的每一行都是有效会话
    • hits 是一个包含结构的数组,其中包含每个命中的信息

    您可以在数组上编写子查询 - 基本上将它们视为表。如果可能,我建议学习Working with Arrays 并将每个练习直接应用/转移到hits

    会话级别的子查询示例

    SELECT
      fullvisitorid,
      visitStartTime,
      (SELECT SUM(IF(type='EVENT',1,0)) FROM UNNEST(hits)) events,
      (SELECT COUNT(DISTINCT CONCAT(eventInfo.eventCategory,eventInfo.eventAction,eventInfo.eventLabel) ) 
        FROM UNNEST(hits) WHERE type='EVENT') uniqueEvents,
      (SELECT SUM(IF(type='PAGE',1,0)) FROM UNNEST(hits)) pageviews
    FROM
      `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`
    WHERE
      totals.visits=1
    LIMIT
      1000
    

    展平至命中水平的示例

    如果您将数组与其父行交叉连接,还可以使用数组中的字段进行分组

    SELECT
      h.type,
      COUNT(1) hits
    FROM
      `bigquery-public-data.google_analytics_sample.ga_sessions_20170801` AS t CROSS JOIN t.hits AS h
    WHERE
      totals.visits=1
    GROUP BY 
      1
    

    关于 visitId 和 Sessions 的关系可以看this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2011-06-05
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      相关资源
      最近更新 更多