我有一个简单的Google Analytics度量协议实现,可以记录销售何时发生。我的服务器端脚本向此地址发送HTTP Post请求:
http://www.google-analytics.com/v=1&tid=UA-12345678-1&t=transaction&ti=80691&ta=Martins+Shop&tr=0.01&ts=1.00&tt=0.002&cu=GBP
使用此代码:
$gaURL = 'http://www.google-analytics.com/';
$URIdata = array(
'v'=>'1', // Version.
'tid'=>'UA-12345678-1', // Tracking ID / Web property / Property ID.
't'=>'transaction', // Transaction hit type.
'ti'=>$basket_id, // transaction ID. Required.
'ta'=>'Martins Shop', // Transaction affiliation.
'tr'=>$settle_amount, // Transaction revenue.
'ts'=>'0.00', // Transaction shipping.
'tt'=>$transaction_tax, // Transaction tax.
'cu'=>'GBP'); // Currency code.
$strQuery = http_build_query( $URIdata );
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => $strQuery,
),
);
$context = stream_context_create($options);
$result = file_get_contents($gaURL, false, $context);
print '<p>' . $strQuery . '</p>';
var_dump($result);
然而,来自请求的页面响应始终是您重定向到的GA主页。如果您尝试访问浏览器中的地址,则重定向非常明显。然而,参考指南明确指出有效负载已发送至http://www.google-analytics.com https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters,并且不包含任何有关测试的部分。我该如何测试?
P.S。我的GA帐户已升级为Universal Analytics,而“查看”确实启用了电子商务跟踪
答案 0 :(得分:4)
如果您被重定向到Google Analytics主页,则说明错误。预期的响应是1x1 gif,具有200 HTTP响应。
您的实施中有一些错误。
首先你的端点是错误的。它应该是:
$gaURL = 'http://www.google-analytics.com/collect';
您还应该使用text / plain或application / json作为内容类型。
测试此功能的最佳方法是等待几个小时,看看数据是否在GA界面中正确显示。
答案 1 :(得分:3)
$ gaURL应该是&#39; http://www.google-analytics.com/collect&#39 ;; 但不是&#39; http://www.google-analytics.com/collect/&#39;注意&#39; /&#39;最后。
答案 2 :(得分:1)