GA4 - 通过 PHP 触发事件

GA4 - Trigger events via PHP

提问人:Bruno 提问时间:11/10/2023 更新时间:11/10/2023 访问量:43

问:

我使用 Google 跟踪代码管理器 (GTM) 帐户将事件发送到 Google Analytics 4 (GA4)。我在 GTM 中配置了一个标签,当页面 URL 包含特定参数时会触发该标签。此标记获取 URL 中的参数,并向 GA4 发送名为“custom_purchase_event”的自定义事件。GA4 收到它,该值在 Engagement -> Events 页面上可见。

几天前,我们注意到对于某些特定用户,该标签没有被触发,因此该事件没有达到 GA4。我认为更好的解决方案是通过PHP触发事件。我尝试使用 GA4 的测量协议,但我无法让它工作。我获得了 204 状态,但该事件未显示在 GA4 上。 我正在使用 Guzzle 提出请求:

// Create a Guzzle HTTP client
$client = new Client();

$payload = [
     'client_id' => '12345_XXX',
     'events' => [
          [
               'name' => 'custom_purchase_event',
               'params' => [
                    'value' => $value,
                    'discount' => $discount,
                    'currency' => $currency,
                    'items' => [
                         "item": "1",
                         "item_id": "1_123456XXX",
                         "item_name": "Chair",
                    ]
               ]
          ]
      ]
];

// Send POST request to GA4 Measurement Protocol API using Guzzle
$response = $client->post("https://www.google-analytics.com/mp/collect", [
     'query' => [
          'api_secret' => $this->api_secret,
          'measurement_id' => $this->measurement_id
     ],
     'json' => json_encode($payload),
     'headers' => [
          'Content-Type' => 'application/json',
     ]
]);

有没有办法通过 PHP 在 GA4 中触发事件?

php google-tag-manager google-analytics-4 google-tag-manager-server-side

评论

1赞 CBroe 11/10/2023
有一个显式选项的意义在于,Guzzle 本身会将您通过它传递的数据编码为 JSON。因此,您目前正在将发送为 JSON 的内容编码两次,我怀疑接收端是否会正确处理它。json
0赞 Bruno 11/10/2023
谢谢你的提醒,@CBroe!我已经删除了 ,但我仍然没有看到在 GA4 中触发的事件。json_encode
0赞 CBroe 11/10/2023
developers.google.com/analytics/devguides/collection/protocol/...:“Google Analytics(分析)4 的 Google Analytics(分析)衡量协议不会返回 HTTP 错误代码,即使事件格式不正确或缺少必需参数也是如此。为确保您的事件有效,您应该在将事件部署到生产环境之前,针对测量协议验证服务器对其进行测试。- 所以我现在首先尝试一下。

答: 暂无答案