Google Analytics 4 测量协议显示事件但不显示用户

Mar*_*ing 9 google-analytics-4

我想通过脚本使用 Google Analytics(使用显式 HTTP 请求),并了解带有测量协议的 Google Analytics 4 将是最佳选择。我创建了一个新属性,添加了一个 Web 标签,并为测量协议创建了一个 API 密钥。然后我发送这个请求:

{
    "client_id": "Test-User",
    "user_id": "test_user_id",
    "events": [
        {
            "name": "MyEvent",
            "params": {}
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

到这个网址:https://www.google-analytics.com/mp/collect?measurement_id=G-LQDLGRLGZS&api_secret=JXGZ_CyvTt29ucNi9y0DkA

测量结果记录在报告的一角:

在此输入图像描述

这些事件不会显示为用户。在报告中我不太明白如何分析这些事件。有没有办法通过发送特殊事件来跟踪用户会话?

Mik*_*ike 23

我遇到了同样的问题,答案在这里 GA4测量协议返回事件而不是用户 在JSON的事件分支下,当我添加“engagement_time_msec”时:1开始对用户进行计数。

"events" : [{
  "name" : "SoftMeter_event",
  "params" : {
    "action" : "From UA-xxxxx [muted]",
    "engagement_time_msec" : 1,
    "label" : "SoftMeter-dev/v1.0.2/lib v1.4.4 DEBUG"
  }
}],
Run Code Online (Sandbox Code Playgroud)

测量协议 V4 适用于 GA4 属性(这也是您正在使用的协议)。

根据官方文档: https: //support.google.com/analytics/answer/9408920它说“Google Analytics 4 属性统计在过去 30 分钟内与您的应用程序/网站互动的任何非零时间的用户” ”。

GA4使用“engagement_time_msec”参数来识别用户交互时间。这解释了为什么您可以看到事件数但看不到用户数。如果您希望从 MP 发送的用户被计为活跃用户,只需将“engagement_time_msec”参数添加到您的事件中即可。


小智 -2

client_id 错误。这个id是由google设置的,所以你应该得到你的真实id。您可以从 cookie 中获取它以进行测试。或者,如果您使用 gtag.js,则可以将此代码添加到您的网页中。

<script>
    gtag('get', <yourMeasurementID>, 'client_id', (clientID) => {
        // here you can use clientID
    });
</script>
Run Code Online (Sandbox Code Playgroud)