为啥 Google Analytics 和 BigQuery 之间的独特事件差异如此之大?
Posted
技术标签:
【中文标题】为啥 Google Analytics 和 BigQuery 之间的独特事件差异如此之大?【英文标题】:Why such a big discrepancy in unique events between Google Analytics and BigQuery?为什么 Google Analytics 和 BigQuery 之间的独特事件差异如此之大? 【发布时间】:2019-06-12 16:01:16 【问题描述】:我正在尝试获取 BigQuery 中唯一事件的数量,尽管我付出了努力,但结果与我在 GA 中看到的结果甚至不相近。某些行在 BQ 和 GA 之间有高达 50% 的差异,我不知道为什么。总事件和用户与 GA 完全相同,只是不匹配的唯一事件。
我正在使用 CONCAT 函数来构建 sessionID,当用于计算给定期间的总会话时,它返回的数字与我在 GA 中看到的非常接近。但是一旦我将它与事件类别列一起使用,数字就会关闭。
这是我的查询:
SELECT h.eventInfo.eventCategory,
count(h.eventInfo.eventCategory) as total_events,
count(distinct CONCAT(fullVisitorId, CAST(visitId AS STRING))) as unique_events
FROM `marketing-stack.12345678.ga_sessions_20190525` as ga,
UNNEST(ga.hits) as h
GROUP BY h.eventInfo.eventCategory
例如,GA 中的 top 事件如下所示:
4276 个总事件 - 3155 个独立事件 - 1510 个用户在 BigQuery 中:
4276 个总事件 - 1566 个独立事件 - 1510 个用户我是否在查询中做错了什么,或者 GA 和 BQ 在独特事件以及我无法掌握的如何计算它们方面存在差异?
我很感激任何帮助或意见,因为我在这里不知所措!
【问题讨论】:
I made a decent answer to this discrepency/delta in this post 【参考方案1】:您正在计算具有事件而不是唯一事件的用户...
当您COUNT(DISTINCT )
时,操作和标签不得为NULL
。
SUM( (SELECT
COUNT(DISTINCT CONCAT(h.eventInfo.eventCategory,
coalesce(h.eventinfo.eventaction, ''),
coalesce(h.eventinfo.eventlabel, '')
)) FROM t.hits h ) ) uniqueEvents
另见here
【讨论】:
非常感谢。我之前已经阅读了您的答案的另一个线程,但错过了事件操作和标签的重要性。现在可以使用了!【参考方案2】:一种可能性是CONCAT()
中的冲突。您可以尝试使用分隔符:
count(distinct CONCAT(fullVisitorId, ':', CAST(visitId AS STRING))) as unique_events
这只是一种可能。
另一种可能性是一个或另一个值是NULL
。 COALESCE()
可以帮忙:
count(distinct CONCAT(COALESCE(fullVisitorId, ''), ':', COALESCE(CAST(visitId AS STRING), ''))) as unique_events
【讨论】:
不幸的是,即使使用分隔符,结果仍然相同。以上是关于为啥 Google Analytics 和 BigQuery 之间的独特事件差异如此之大?的主要内容,如果未能解决你的问题,请参考以下文章
已经存在 (HTTP 409) 错误 Big Query/Google Analytics
应用电子商务操作过滤器时,Big Query 和 Google Analytics UI 不匹配
Big Query 着陆页数字与 Google Analytics 界面不一致
更改不同属性之间的来源(Big Query - Google Analytics)