gpt4 book ai didi

php - 谷歌分析服务器端跟踪

转载 作者:行者123 更新时间:2023-12-03 16:22:20 25 4
gpt4 key购买 nike

Google Analytics 只需将其源代码放在我的网站上,即可自动跟踪我过去需要的一切(综合浏览量、唯一身份访问者)。

但是现在,我需要跟踪事件,唯一的方法是在服务器端进行。每次任何用户执行我需要跟踪的特定操作时,服务器都会将数据发布到谷歌以跟踪信息,如下所述:

https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#event

它确实非常完美,但是,自从我意识到,我现在收到了很多来自西类牙的访问,来自美国的访问增加了一倍。在我实现事件跟踪之前,西类牙甚至不在前 10 个国家/地区之列。

今天我意识到我的服务器在西类牙,这可能是导致问题的原因。

如何在不将其计为综合浏览量的情况下跟踪事件?

$url = 'http://www.google-analytics.com/collect';
$data = array('v' => '1', 'tid' => 'UA-HIDDEN-1', 'cid' => $_SERVER["REMOTE_ADDR"], 'ni' => '1', 't' => 'event', 'ec' => '', 'ea' => 'JUMP', 'el' => '');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

非常感谢!!

最佳答案

您将 IP 地址作为客户端 ID 发送,这是错误的。首先,客户端 ID 应该是 to be an UUID .其次,Analytics 不会识别这些事件属于现有用户。

您需要获取网页上现有用户的现有客户端 ID:

ga(function(tracker) {
var clientId = tracker.get('clientId');
});

然后将其发送回服务器并在您的请求中使用它 (1)。目前 GA 无法分配正确的地理信息,因为事件不属于发起事件的用户的 session (这也很可能影响其他一些指标)。

(1) 您不妨阅读 PHP 中的 GA cookie,但 Google 不建议这样做,因为 cookie 格式可能会更改,恕不另行通知。即使 cookie 格式发生变化,上面的脚本也会始终返回正确的客户端 ID。

更新:我已经阅读了更多的文档,虽然我的回答似乎仍然有些相关,但对于实际用例来说可能是错误的 - Geo 由 IP 确定,服务器端脚本仍将发送服务器 IP。所以很可能(还没有做科学)这看起来像一个访客有两个设备而不是一个访客。

更新 2:显然现在可以将用户 IP 地址作为参数包含在内,因此这个答案可能不再相关。

Here is a techopad presentation about mixing UA client- and serverside ,也许这有帮助。

关于php - 谷歌分析服务器端跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com