【问题标题】:Can't match GA advanced segment and BigQuery results无法匹配 GA 高级细分和 BigQuery 结果
【发布时间】:2018-11-15 14:14:42
【问题描述】:

我正在使用一个简单的 GA 高级细分:

它在 GA 界面中返回一天 10,440 个会话。

当我尝试使用标准 SQL 在 BigQuery 中执行类似操作时,我得到了不同的结果:

SELECT fullVisitorId, visitStartTime
FROM `project.id.ga_sessions_20181001`
where EXISTS(
  SELECT 1 FROM UNNEST(hits) h 
  WHERE h.type  = 'PAGE'
  AND REGEXP_CONTAINS(page.pagePath, r'/signup/.*'));

这将返回同一天的 10,137 个会话。还有这个:

SELECT fullVisitorId, visitStartTime
FROM `project.id.ga_sessions_20181001`
where EXISTS(
  SELECT 1 FROM UNNEST(hits) h 
  WHERE AND REGEXP_CONTAINS(page.pagePath, r'/signup/.*'));

返回同一天的 10,564 个会话。如何让它们匹配GA接口?

【问题讨论】:

  • 你不需要统计fullVisitorId的不同数量吗?如果您也进行一些搜索,过去也有一些类似的问题,这可能会有用。
  • 谢谢,但我对会话感兴趣,而不是用户。为什么要统计用户数?

标签: google-analytics google-bigquery


【解决方案1】:

Sessions 作为 GA 中的一个指标,BigQuery 是一个预聚合指标,可以加快处理速度。要匹配 GA,您需要使用 SUM(totals.visits),而不是 COUNT(DISTINCT CONCAT(fullVisitorId,CAST(visitId as STRING)))。访问您的网站时,如果用户仅触发非交互事件(并且没有浏览量),则会在 BigQuery 中产生一个 visitId 和一条记录,其 totals.visits 值为零,但可以在使用用户细分时进行查询和报告,或者独特的维度组合

BigQuery 查询视图:

谷歌分析仪表板视图:

【讨论】:

  • 非常感谢您的解释!知道为什么段条件事件类别 = 用户登录和事件操作匹配 RegEx [0-9] 将不匹配 EXISTS(SELECT 1 FROM UNNEST(hits) h WHERE eventInfo.eventCategory = 'User login' AND REGEXP_CONTAINS(eventInfo.eventAction, r'^[0-9]') )
  • 您好,抱歉耽搁了,感谢您接受我的回答。我想 BigQuery 结果将计算总事件,而另一个将计算包含该事件的访问。如果你还没有弄清楚,我可以帮助调试?
  • 似乎将高级段中的事件类别和事件操作结合为条件和序列返回不同的结果。我设法将序列一与 BQ 查询匹配,但无法匹配条件一。
猜你喜欢
  • 1970-01-01
  • 2022-05-13
  • 2014-02-28
  • 2013-10-15
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
相关资源
最近更新 更多