谷歌分析4测量协议显示事件,但没有用户。

9
我想使用脚本(采用显式HTTP请求)来使用Google Analytics,并了解到Google Analytics 4与测量协议一起使用将是可行的方法。我已创建了一个新属性,添加了Web标签并为测量协议创建了API密钥。然后我发送此请求:
{
    "client_id": "Test-User",
    "user_id": "test_user_id",
    "events": [
        {
            "name": "MyEvent",
            "params": {}
        }
    ]
}

访问此URL:https://www.google-analytics.com/mp/collect?measurement_id=G-LQDLGRLGZS&api_secret=JXGZ_CyvTt29ucNi9y0DkA

该测量结果将在报告的一个角落中记录:

enter image description here

这些事件不会显示为用户。在报告中,我不知道如何分析这些事件。有没有一些特殊的事件可以跟踪用户会话?


请问您能否粘贴一下您所创建的请求? - lkostka
@lkostka:好的,我已经更新了问题。 - Martin Ueding
@MartinUeding,你有没有碰巧解决这个问题?我现在也遇到了同样的问题,正在寻找解决方案。 - user7607751
1
很遗憾,不是这样的。我尝试过使用sentry.io进行操作,但最终放弃了遥测的想法。 - Martin Ueding
2个回答

20

我曾经遇到过同样的问题,答案在这里: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"
  }
}],

V4测量协议适用于GA4属性(也是您正在使用的属性)。
根据官方文档https://support.google.com/analytics/answer/9408920,它说“Google Analytics 4属性计算在过去30分钟内与您的应用程序/站点进行任何非零时间交互的用户”。
GA4使用“engagement_time_msec”参数来确定用户交互时间。这就解释了为什么您可以看到事件数量而不是用户数量。如果您希望从MP发送的用户被视为活跃用户,请将“engagement_time_msec”参数添加到您的事件中即可。

这也是我的问题。希望有一个好的参考资料来解决所有这些问题。 - verdverm

-2

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

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

这意味着我不能仅在我的应用程序内进行跟踪,我需要拥有一个Web会话以便获取Cookie? - Martin Ueding

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接