如何使用Google Analytics中的Measurement Protocol测试记录交易

时间:2013-11-08 12:45:58

标签: google-analytics

我有一个简单的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,而“查看”确实启用了电子商务跟踪

3 个答案:

答案 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)

您必须先启用电子商务。

enter image description here