gpt4 book ai didi

php - Google Analytics PHP(发送信息)

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

主要思想

我正在做一个项目,我需要使用 Google Analytics 服务器端。我不需要检索信息,但我需要发送信息。我最终可以在客户端发送 js 脚本,但在这种情况下它不是一个选项。

以下大部分链接都非常旧。 2012~

检索 - 不是我需要的

我已经阅读了多篇 StackOverflow 帖子,但它们只提到了检索信息的方法。

PHP API for Google Analytics(SO)

发送——我需要的

有一篇关于发送信息的帖子,但 GitHub 已被弃用。

Google Analytics PHP API Redirect URI (SO)

Google api php client(GOOGLE)

问题

如何使用 PHP 将信息发送到我的 Google Analytics(分析)帐户?谢谢

最佳答案

要非常小心......谷歌能够使用 cookie 和浏览器功能检索大量用户信息,如用户代理、位置、ip、事件、语言等。因此,所有命令通常都使用客户端 js 脚本发送。如果您想在服务器端工作,您必须在发送 HIT 之前处理所有需要在统计信息中收集的必要信息。例如,如果你没有正确处理 UUID,谷歌会将每个 HIT 视为“新访客”。如果你想知道用户的地理位置,而你的服务器在爱尔兰,那么用户的每一次点击都将被视为爱尔兰人所为。每个 ip 都与您的服务器相同,依此类推。我使用 php 制作了一个自定义库,考虑了所有这些问题。基本上你可以使用 curl:

function SendGoogleEvent($userid,$category,$action, $label='',$eventvalue=0,$campaign_name='direct',$campaign_source='organic',$campaign_medium='organic'){
$strCookie='';
foreach ($_COOKIE as $key => $value) {
$strCookie.=$key.'='.$value.'; ';
}
$fields_string='';
$fields = array (
'v' => 1,
'tid' => "YOUR GA ID",
'cid' => $userid,
'uip' => $_SERVER['REMOTE_ADDR'],
'dh' => "your site address",
'ul' => 'it-it', // In this case i dont care the user language
't' => 'event',
'ec' => urlencode($category),
'ea' => urlencode($action),
'el' => urlencode($label),
'ev' => $eventvalue
);
if ($campaign_name!='direct') {
$fields["cn"]=$campaign_name;
}
if ($campaign_source!='organic') {
$fields["cs"]=$campaign_source;
}
if ($campaign_medium!='organic') {
$fields["cm"]=$campaign_medium;
}
if (!(substr($_SERVER['HTTP_REFERER'], 0, strlen("your site url")) === "your site url")&&$campaign_name=='direct') {
$fields["dr"]=$_SERVER['HTTP_REFERER'];
}
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, utf8_encode($fields_string));
curl_setopt($ch,CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_URL,"https://ssl.google-analytics.com/collect");
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-type: application/x-www-form-urlencoded'));
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie );
curl_exec( $ch );
curl_close($ch);

关于php - Google Analytics PHP(发送信息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806944/

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