clippings / php-gacx
服务器端 GA 内容实验
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. 的注册商标。