3

我有一个简单的 Google Analytics Measurement Protocol 实现来记录销售发生的时间。我的服务器端脚本向这个地址发送一个 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并且不包含任何关于测试。我该如何测试?

PS 我的 GA 帐户已升级到 Universal Analytics,并且“视图”确实启用了电子商务跟踪

4

3 回答 3

5

如果您被重定向到 Google Analytics 主页,则出现问题。预期的响应是一个 1x1 的 gif,带有 200 个 HTTP 响应。

您的实施中有一些错误。

首先你的端点是错误的。它应该是:

$gaURL = 'http://www.google-analytics.com/collect';

您还应该使用 text/plain 或 application/json 作为内容类型。

最好的测试方法是等待几个小时,看看数据是否在 GA 界面中正确显示。

于 2013-11-08T13:36:57.667 回答
4

$gaURL 应该是“ http://www.google-analytics.com/collect ”;但不是“ http://www.google-analytics.com/collect/ ”,请注意末尾的“/”。

于 2014-11-18T06:50:05.597 回答
1

您必须先启用电子商务。

在此处输入图像描述

于 2016-11-07T17:45:58.957 回答