【发布时间】:2018-02-05 17:16:17
【问题描述】:
我发现 BigQuery 中的某些 GA“会话”范围字段具有相同 fullVisitorId 和 visitId 字段的多个值。请参见下面的示例:
对字段进行分组也无济于事。在 GA 中,我检查了用户数量与不同设备划分的用户数量。用户数不同:
这解释了发生了什么,用户将被分组到多个设备下。我的结论是,在用户会话期间的某个时间点,他们的浏览器用户代理发生了变化,在随后的点击中,GA 中设置了新的设备类型。
我希望 GA 使用第一个或最后一个值来避免这种情况,但我猜他们不会。我的问题是,如果我接受这是 GA 中的“缺陷”。我宁愿选择一个值。从以下查询中选择最后一个或第一个设备值的最佳方法是什么:
SELECT
fullVisitorId,
visitId,
device.deviceCategory
FROM (
SELECT
*
FROM
`project.dataset.ga_sessions_*` desktop
UNION ALL
SELECT
*
FROM
`project.dataset.ga_sessions_*` mobile ) table
我尝试进行子选择并使用STRING_AGG(),尝试按hits.time 排序并限制为一个值,但仍会创建另一行。
我已经测试,发现以下字段都有相同的问题:
visitNumber
totals.hits
totals.pageviews
totals.timeOnSite
trafficSource.campaign
trafficSource.medium
trafficSource.source
device.deviceCategory
totals.sessionQualityDim
channelGrouping
device.mobileDeviceInfo
device.mobileDeviceMarketingName
device.mobileDeviceModel
device.mobileInputSelector
device.mobileDeviceBranding
更新
请参阅以下有关此特定 fullVisitorId 和 visitId 的查询 - UNION 已被删除:
【问题讨论】:
-
这里有适合您的解决方案...
标签: sql google-analytics google-bigquery