找不到使用 Measurement Protocol 4 设置 debug_mode 参数的方法。 试图把它放在任何地方(并命名我能想到的所有东西)但没有运气:) 文档仍然很简单,没有提及 debug_mode。 使用 web/js 和 GA4 效果很好!
奇怪。突然,调试模式开始使用我 100% 确定以前不起作用的代码。
将参数
"debug_mode": true
添加到测量协议请求中将使其显示在 Analytics 的 DebugView 中。
有效的示例 json 负载:
{
"client_id": "XXXXXXXXXX.YYYYYYYYYY",
"events": [
{
"name": "page_view",
"params": {
"page_location": "...",
"page_path": "...",
"page_title": "...",
"debug_mode": true
}
}
]
}
添加@DalmTo 和@bang 的答案 - 我没有看到我通过测量协议发送的事件显示在我们的 GA4 调试视图中。在我的例子中,根本原因是测量协议需要
user_properties
的时髦格式,但以下步骤也应该可以帮助其他人调试其他问题。
我采取的解决步骤:
debug_mode: true
字段添加到各个事件参数,如 @bang 的答案中所述/debug/mp
端点 如 @DalmTo 的答案中所述 - 这向我指出了 user_properties
格式中的错误关于
user_properties
字段,我按照以下方式发送了一些内容:
{
"client_id": "XXX.XXX",
"user_id": "YYY",
"user_properties": {
"property_a": "value_a",
"property_b": "value_b"
},
"events": ...
}
事实证明 GA4/测量协议期望这样的事情:
{
"client_id": "XXX.XXX",
"user_id": "YYY",
"user_properties": {
"property_a": { "value": "value_a" },
"property_b": { "value": "value_b" }
},
"events": ...
}
在撰写本文时,解决此问题的唯一方法是仔细查看示例此处。
ga4 的测量协议有两个端点,就像旧 Google anlaytics 的测量协议一样
因此,如果您发送事件,它将被发送到 Google anlaytics ga4
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
<payload_data>
因此,如果您向其发送事件,它将被发送到 Google anlaytics ga4 的调试端点
POST /debug/mp/collect HTTP/1.1
HOST: www.google-analytics.com
<payload_data>
engagement_time_msec
的参数中发送时间戳。
{
"client_id": "XXXXXXXXXX.YYYYYYYYYY",
"events": [
{
"name": "xxx",
"params": {
...
"debug_mode": true,
"engagement_time_msec": <TIMESTAMP>
}
}
]
}