Electron迁移GA3至GA4:能否通过Measurement Protocol传递应用版本?
GA4 Measurement Protocol 传递应用名称与版本的正确方式
你当前的问题出在错误地将应用信息放在了user_properties字段,GA4 Measurement Protocol(MP)有专门用于承载应用元数据的app_info字段,而非用户属性。
正确的请求体结构
修改你的请求body,添加app_info对象,里面直接包含app_name和app_version:
const gaEndpoint = `https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`; const body = { client_id: clientId, events: [event], // 新增app_info字段,专门用于应用类元数据 app_info: { app_name: "Test", app_version: "1.0.8-test" } }; const response = await externalHttpClient.post(gaEndpoint, { json: body, });
为什么之前的方式无效?
user_properties是用来存储用户级别的长期属性(比如用户偏好),GA4不会自动将其识别为应用版本/名称这类应用维度,除非你在GA4后台手动创建对应的自定义用户属性,并映射到这些字段名。app_info是GA4 MP原生支持的字段,专门为移动/桌面应用场景设计,无需额外配置就能被GA4识别,且会自动关联到对应的应用维度报表中。
额外验证建议
发送请求后,可以在GA4的实时报告中查看事件详情,确认app_name和app_version是否已被正确采集;也可以使用GA4的Measurement Protocol验证工具,检查请求的合法性。
内容的提问来源于stack exchange,提问作者clemp6r
相关产品推荐
相关产品推荐

