Google Analytics(分析)门户中的唯一用户数与我从 BigQuery 获得的结果之间的差异。查询有问题吗?
Posted
技术标签:
【中文标题】Google Analytics(分析)门户中的唯一用户数与我从 BigQuery 获得的结果之间的差异。查询有问题吗?【英文标题】:Discrepancies between unique users count in Google Analytics portal and result I am getting from BigQuery. Is something wrong with the query? 【发布时间】:2019-05-16 05:12:02 【问题描述】:我正在尝试匹配谷歌分析和 BigQuery 导出中的用户数,并了解哪个数字更准确。 我创建了以下查询
SELECT
count(distinct fullvisitorid)
FROM
`<TABLES>_*`
where
_TABLE_SUFFIX between "20190507" and "20190514"
and totals.visits = 1
我仍然有几个百分点的差异。 IE。 323812 (BQ)
与 324567 (GA)
。
我是否需要以某种方式修改我的查询以匹配 GA 号码或哪个号码更准确以及差异来自哪里?
【问题讨论】:
【参考方案1】:在 Google Analytics(分析)中衡量用户数量有点棘手。通常,由于 Google Analytics 进行预先计算的方式,差异在 1% 左右。任何标准报告都将使用每日预先汇总的表格。因此,虽然您可以添加跨天的综合浏览量和会话等指标,但您不能添加用户,因为同一用户可能会被计算为第 1 天和第 2 天等,从而夸大指标(这通常在 GA 中看到) .为了解决这个问题,无需在 GA 中的各种报告中重新计算完整的用户,Google 对用户数量进行了估计(HyperLogLog++ 算法 - https://en.wikipedia.org/wiki/HyperLogLog)。它非常接近。
我相信您从 BQ 获得的数字。
【讨论】:
【参考方案2】:在统计用户时,Google Analytics(分析)会考虑所有行。您应该删除 totals.visits = 1
以获取用户数。这与您需要 totals.visits = 1
的会话计数相矛盾 - 因此,如果您需要两者,您可以执行类似的操作
SELECT
COUNT(distinct fullvisitorid) as users,
SUM(totals.visits) as sessions,
SUM(IF(totals.visits=1, totals.hits, 0 )) hitsInValidSessions
FROM `project.dataset.ga_sessions_yyyymmdd`
【讨论】:
以上是关于Google Analytics(分析)门户中的唯一用户数与我从 BigQuery 获得的结果之间的差异。查询有问题吗?的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery 中的 Google Analytics(分析)站点搜索
BigQuery 中的 Google Analytics(分析)数据(timeOnPage 和 searchStartPage)