cha*_*der 6 php mobile analytics google-analytics mxit
我正在开发Mxit平台,并希望创建并捕获一些自定义变量以存储在Google Analytics中.
使用Mxit门户,它不是浏览器和Web服务器之间的通常通信.这是手机应用程序,mxit服务器,Web服务器.Mxit位于中间位置,这意味着我们无法直接捕获用户特定信息.
但是,Mxit会使用其他用户信息设置自定义标头,可以通过自定义变量为Google Analytics捕获这些信息.
我们无法使用javascript,因此我安装了Analytics for mobile php脚本,该脚本会创建数据并将其附加到gif图像.
我已经通过javascript在普通网站上设置自定义变量并使用GA调试我复制了utme参数并将其添加到GA for mobile php代码以附加到gif查询字符串.
这是一个快速,简化的例子:
我想设置的自定义值.
$id = $headers['mxitID'];
$country = $headers['country'];
$gender = $headers['gender'];
$age = $headers['age'];
Run Code Online (Sandbox Code Playgroud)
在这里我附加到gif查询字符串
&utme=8(MxitID*Country*Gender*Age)9($id*$country*$gender*$age)11(1*1*1*1)
Run Code Online (Sandbox Code Playgroud)
我理解它的方式,8()表示自定义变量名称,9()表示自定义变量值,11()表示范围.
现在已经过了2天,Google Analytics中仍然没有自定义变量信息.
我正在检查访客>自定义变量
任何帮助,将不胜感激.
Google 针对这个问题有一个服务器端解决方案。您可以在这里找到代码: https: //developers.google.com/analytics/devguides/collection/other/mobileWebsites
这是该库的实现
<?php
class GoogleAnalytics {
const ACCOUNT = "ACCOUNT ID GOES HERE";
const PIXEL = "/ga.php";
public static function getImageUrl() {
$url .= self::PIXEL . '?';
$url .= 'utmac=' . self::ACCOUNT;
$url .= '&utmn=' . rand(0, 0x7fffffff);
$referer = !empty($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '-';
$url .= '&utmr=' . urlencode($referer);
if (!empty($_SERVER["REQUEST_URI"])) {
$url .= "&utmp=" . urlencode($_SERVER["REQUEST_URI"]);
}
$url .= '&guid=ON';
return str_replace('&', '&', $url);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
然后在你看来你会:
<img src="<?php echo GoogleAnalytics::getImageUrl() ?>" />
Run Code Online (Sandbox Code Playgroud)