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 获得的结果之间的差异。查询有问题吗?的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics(分析)报告中的归因模型

BigQuery 中的 Google Analytics(分析)站点搜索

BigQuery 中的 Google Analytics(分析)数据(timeOnPage 和 searchStartPage)

如何将我的 Google Analytics(分析)自动化仪表板中的批量数据分成逐月数据

Google Analytics(分析) - 目标渠道步骤

如何使用我的管理面板中的Google Analytics记录