[英]Few metrics not working in Google Analytics Measurement Protocol
我正在尝试使用此 PHP 片段跟踪用户访问服务器端。
$url = strtolower($_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/') + 1) . $alias);
preg_match('~^[A-z]*~', isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '', $languages);
$post = [
'v' => 1,
'uip' => $_SERVER['REMOTE_ADDR'],
'tid' => GOOGLE_ANALYTICS_CODE,
'cid' => hash('sha256', $_SERVER['REMOTE_ADDR']),
't' => 'pageview',
'dl' => $url,
'ua' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '',
'dr' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
'ul' => $languages[0],
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.google-analytics.com/collect",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"User-Agent" => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '',
"Referer" => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
"Accept-Language" => isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '',
),
CURLOPT_POSTFIELDS => http_build_query($post),
));
$response = curl_exec($curl);
它似乎部分起作用。
我可以跟踪的内容:
URL 的页面访问量。
用户位置
浏览器
我无法追踪的内容:
用户语言(始终“无设置”)
收购(每个人都是“直接”的)
跟踪“收购”对我来说是最重要的。 如何修复代码以跟踪这两个或至少是 Acquisition。
听起来可能很奇怪,但将 POST 数据转换为 GET 数据似乎最终完成了这项工作。
if (!empty(GOOGLE_ANALYTICS_CODE)) {
$url = strtolower($_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/') + 1) . $alias);
preg_match('~^[A-z]*~', isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '', $languages);
$post = [
'v' => 1,
'uip' => $_SERVER['REMOTE_ADDR'],
'tid' => GOOGLE_ANALYTICS_CODE,
'cid' => hash('sha256', $_SERVER['REMOTE_ADDR']),
't' => 'pageview',
'dl' => $url,
'ua' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '',
'dr' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
'ul' => $languages[0],
];
$headers = [
"User-Agent" => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '',
"Referer" => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
"Accept-Language" => isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '',
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => "https://www.google-analytics.com/collect?" . http_build_query($post),
CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($curl);
//var_dump($response, $post, "https://www.google-analytics.com/collect?" . http_build_query($post),$headers);die;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.