【问题标题】:Server-sided redirection with Google Optimize A/B testing使用 Google Optimize A/B 测试进行服务器端重定向
【发布时间】:2020-11-19 12:10:09
【问题描述】:

我们有一个包含多种布局的页面。这些布局之间的差异以及它们的生成方式非常重要,以至于它们需要在服务器端使用 PHP 来完成。

为了对这些布局进行 A/B 测试,我们通过 Google Optimize 创建了一个页面重定向实验,该实验将在 URL https://website.test/page?layout_id=123 中添加一个自定义变量。这很好用,但问题是页面加载和 DOM 准备就绪之间的延迟,迫使客户端在重定向之前查看原始布局。

然后我们决定将重定向移动到 PHP 中的服务器端脚本。

一种方法是使用https://github.com/theiconic/php-ga-measurement-protocol/(基于Google 的Measurement Protocol),根据https://developers.google.com/optimize/devguides/experiments#implement-experiment,我们需要自行决定提供哪个变体,但是,它仍然需要clientId 或@987654325 @ 来识别客户端,这仅在第一次加载后通过名为 _ga 的 cookie 传递。

这种方法的问题是无法识别第一次访问该页面的用户,因此会弄乱结果。

对于这种情况,服务器需要提前知道要交付什么布局的最佳方法是什么?

【问题讨论】:

  • 如果找不到_ga cookie,您能否刷新页面?所以第二次它会显示cookie。
  • @jagad89 这将导致与让 Google Optimize 执行刷新相同的行为。唯一的另一种选择是将 A/B 测试留给服务器进行,​​因此即使没有客户端 ID,我们也会决定一个变体并显示该布局,将决定保存在会话中,每当找到 _ga cookie 时,我们会通知 Google Analytics。但是没有更好的方法吗?大公司是做什么的?

标签: php optimization analytics measurement-protocol


【解决方案1】:

不确定这个问题是否仍然相关,但我们实现了自己的机制(PHP 中的一个简单 A/B 测试引擎),它决定了要显示的页面/代码。 Optimize 仅用于设置变体和跟踪结果。

以下是来自 google 的文档对其进行了解释: https://developers.google.com/optimize/devguides/experiments

【讨论】:

  • 这是一个替代版本,它没有充分利用 Google Analytics / 优化识别和跟踪单个用户(因为您必须决定变体并且无法确定哪些用户应该在重复访问时看到哪些变体),但它有效。
  • 非常正确,但是就像您发现的那样,与在页面加载后必须双刷新或更改内容相比,它仍然是更好的用户体验。恐怕任何“开箱即用”的 JavaScript 解决方案都会有这个问题,这就是我更喜欢服务器端解决方案的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多