Measurement Protocol API,你可以可以理解为Measurement Protocol V2,之前UA的Measurement Protocol,其实也就是Measurement Protocol V1,相比有这个几个不同:
- 首先,最大的不同在于引入了Measurement Protocol API secrets(秘钥),需要使用秘钥才可以向Google Analytics 4发送数据,因为V1 版本的只需要知道Tracking ID就可以向Google Analytics发送数据,Tracking ID可以在网页上查到,这会导致你的竞争对手可以随意给你Google Analytics发送垃圾数据去干扰你,其实有点不安全的,所以Measurement Protocol API就增加了秘钥。它的目的主要就只阻止垃圾流量。
- 其次是传递的数据Measurement Protocol API是需要用json格式传递的,需要代码去执行传递,不能直接打开传递,所以不能用于邮件的打开跟踪。
- 最后就是,Measurement Protocol API目前只能用HTTPS通过Post的形式发送。
创建密钥匙
Measurement Protocol API的设置位置是在数据流,点击“Measurement Protocol API 密钥”就可以看到管理和设置界面:
点击右上角的“创建”去创建一个API秘钥,就可以获取秘钥值,要通过MP协议发送数据给GA4,必须要的是秘钥值和衡量ID。
- 秘钥值:hT8GXWTRSKS728kpUskKhQ
- 衡量ID:G-HZ4RDGTX66
除此之外的话,如果要将数据跟原有的数据对应起来,往往还需要client id。
用MP API发送数据
Measurement Protocol 的示例代码如下:
const measurement_id = `G-XXXXXXXXXX`; const api_secret = ``; fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, { method: "POST", body: JSON.stringify({ client_id: 'XXXXXXXXXX.YYYYYYYYYY', events: [{ name: 'tutorial_begin', params: {}, }] }) });
- measurement_id,就是衡量ID G-HZ4RDGTX66
- api_secret:就是秘钥值hT8GXWTRSKS728kpUskKhQ
- client_id:GA的client ID
- name:事件名字
这里没有设置事件参数。
我们可以将这些设置到https://ga-dev-tools.appspot.com/ga4-event-builder/测试一下,这是官方提供的一个测试工具,设置如下:
点击Validate event验证这个事件:
验证是有效的,接下来再点击一下将这个数据发送给GA4,到实时报告中看:
事件已经被接收到了。
Measurement Protocol API还在完善中,随时可能会有较大变动的。
直接请求(V1)的方式是否还可以用
有些可能会问,像V1那样的方式是否在GA4这里是否还能用,因为直接请求还是能够收到数据的。
我觉得是不能能的,因为直接请求里面有几个字段是关于Session的,如session id,session数量等,直接请求意味着有关session的设置是不合理的,所以可能会影响GA4内部的数据处理,这类请求应该被过滤掉。