Google Analytics 4中用Measurement Protocol API发送数据

Google Analytics 黄业忠 3个月前 (03-14) 298次浏览 已收录 4个评论

什么是Measurement Protocol API?

Measurement Protocol API,简称MP API,叫衡量协议,是GA4中提供能够将数据直接通过HTTP的形式以事件直接发送谷歌服务器。与数据导入最大的区别在于GA4立刻能够收到并会出现在实时报告里面的,MP API通常用于线下数据的发送。

与Measurement Protocol的对比

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 密钥”就可以看到管理和设置界面:

Google Analytics 4中用Measurement Protocol API发送数据

点击右上角的“创建”去创建一个API秘钥,就可以获取秘钥值,要通过MP API协议发送数据给GA4,必须要的是秘钥值和衡量ID。

  • 秘钥值:hT8GXWTRSKS728kpUskKhQ
  • 衡量ID:G-HZ4RDGTX66

除此之外的话,如果要将数据跟原有的数据对应起来,往往还需要Client ID /User 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/测试一下,这是官方提供的一个测试工具,设置如下:

 

Google Analytics 4中用Measurement Protocol API发送数据

点击Validate event验证这个事件:

Google Analytics 4中用Measurement Protocol API发送数据

验证是有效的,接下来再点击一下将这个数据发送给GA4,到实时报告中看:

Google Analytics 4中用Measurement Protocol API发送数据

 

事件已经被接收到了,表示这样发送是没问题的。

官方提醒:Measurement Protocol API还在完善中,随时可能会有较大变动的。

直接请求(V1)的方式是否还可以用

有些可能会有人问,像V1那样的方式是否在GA4这里是否还能用,因为直接请求还是能够收到数据的。

我觉得是不能的,因为直接请求里面有几个字段是关于Session的,如session id,session数量等,直接请求意味着你的请求中有关session的设置是不合理的,所以影响GA4内部的数据处理,如没有数据异常或没关联起来。

这种情况就像你在使用V1版本的MP协议的时候没有使用​Client ID一样,不能将数据关联起来


GA小站, 版权所有丨如未注明 , 均为原创

转载请注明标题:Google Analytics 4中用Measurement Protocol API发送数据
链接:https://www.ichdata.com/measurement-protocol-api.html

喜欢 (5)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 这里面如果是APP的项目的话,没有衡量ID怎么 ?要生成一个web的应用拿到衡量ID再上报吗,client id是GAid的话,这个怎么获取啊
    douson2021-04-27 14:01 回复 Windows 10 | Chrome 86.0.4240.198
    • 黄业忠
      APP不会有线下数据,都是应用上数据,你的是什么情况
      黄业忠2021-04-27 14:17 回复 Mac OS X | Chrome 90.0.4430.85
      • 我们现在情况是这样的,我们有付款后,会有自动续订的功能,但如果通过App上报purchase事件的话,就没法监听有没有续订,所以现在想通过服务端来上报purchase的事件来监控每个渠道的收益情况,将首次付费和续订付费都打到这个事件中,所以想看下这个API能不能实现的
        douson2021-04-27 14:29 回复 Windows 10 | Chrome 86.0.4240.198
        • 黄业忠
          你可以在APP里直接触发这个续订的事件,续订扣费时,支付成功会有回传,就触发该事件
          黄业忠2021-04-27 14:35 回复 Mac OS X | Chrome 90.0.4430.85