将 Google Analytics 4 数据流式传输到 BigQuery 导致数据收集问题

Streaming Google Analytics 4 data to BigQuery causing data collection issues

我们已经通过 GA 接口配置了 GA 4 属性 和 GoogleBigQuery 之间的链接(没有任何额外的代码)。它工作正常,我们在 GBQ tables 中看到迁移的数据,但是,我们面临着如何将这些数据写入那些 tables 的问题。

如果我们查看任何 table,我们可以看到来自不同用户的事件可以记录在一个会话中(并且可以有不同的 clientIDs(甚至是我们在授权时传递的 usedIDs一个用户)) See an example

这是执行以下查询的结果:

SELECT
    event_name,
    user_pseudo_id,
    user_id,
    device.category,
    device.mobile_brand_name,
    device.mobile_model_name,
    device.operating_system_version,
    geo.region,
    geo.city,
    params.key,
    params.value.int_value
FROM `%project_name%.analytics_256374149.events_20210331`, unnest(event_params) AS params
WHERE event_name="page_view"
AND params.value.int_value=1617218965
ORDER BY event_timestamp 

因此,您可以看到在一个会话中,来自不同地区、使用不同设备和标识符的不同用户组合在一起。当然,不可能将此类数据用于报告目的。同样,它是 GA4 界面中的默认 GA4 → BigQuery 设置(无附加组件)。

我们不明白错误是什么(在导入、请求或其他地方),希望就此问题获得建议。

谢谢。

你应该看看 user_pseudo_id 和 event_param ga_session_id 的组合。这种组合是独一无二的,用于衡量 属性.

中的独特会话

例如,此查询计算每个会话中唯一事件名称的数量:

SELECT
  user_pseudo_id,
  (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS ga_session_id,
  COUNT(DISTINCT event_name) AS unique_event_name_count
FROM `<project>.<dataset>.events_*`
GROUP BY user_pseudo_id, ga_session_id