clippings/php-gacx

此包已被放弃且不再维护。未建议替代包。

服务器端 GA 内容实验

1.1.0 2016-01-06 11:44 UTC

This package is auto-updated.

Last update: 2020-01-21 10:53:27 UTC


README

虽然这是一个独立的库,但你可能还对通用服务器端 Google Analytics 跟踪的配套项目感兴趣: php-ga

关于

php-gacx基本上是Google的 cx/api.js 在PHP中的实现:一种服务器端实现,允许你完全在服务器上控制和实现 内容实验

这是通过解析实验数据以利用 GA 的多臂老虎机算法以及程序化修改 "__utmx" 和 "__utmxx" cookie 来实现的。

但这依赖于浏览器中使用 Google Analytics,请参阅下面的“使用方法”。

当 Google 将内容实验集成到他们的 测量协议 中时,这个库可能会变得过时。

要求

需要 PHP 5.3+,因为使用了命名空间和闭包。没有其他依赖项,并且可以独立于任何框架或环境使用。

使用示例

所有方法都与 JS API 中的方法相匹配,因此如果你有使用 cx/api.js 的经验,使用 php-gacx 会非常简单。

use UnitedPrototype\GoogleAnalytics;

$experiment = new GoogleAnalytics\Experiment('reBreiK2QpOws-pJlkla1o');

$variation = $experiment->chooseVariation();

为了将实验数据传输到 Google Analytics,你需要在客户端使用 Google Analytics,无论是通过传统的 ga.js 还是 Google 的新 analytics.js(通用分析)。

ga.js 可以直接使用,因为它在向 Google Analytics 发送跟踪数据时简单地考虑并包含 "__utmx" cookie 的值。

遗憾的是,analytics.js 已不再考虑 "__utmx" cookie。因此,你必须通过 JavaScript 告诉它已选择的实验变体,并且它限于每个页面一个实验。示例

// Hand over experiment data to analytics.js, as it ignores the "__utmx" cookie
window.gaData = {
	expId:  '<?= $experiment->getId(); ?>',
	expVar: '<?= $experiment->getChosenVariation(); ?>'
};

使用 php-gacx 的优势仍然在于,你可以在服务器端选择变体,同时仍然利用考虑不同权重的变体的多臂老虎机算法。

免责声明

Google Analytics 是 Google Inc. 的注册商标。