我们有一个包含多种布局的页面。这些布局及其生成方式之间的差异非常重要,以至于它们需要在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,我们需要自行决定要使用哪种变体,但是仍然需要{{ 1}}或clientId
来标识客户端,并且仅在首次加载后通过称为userId
的cookie传递。
这种方法的问题是无法识别首次访问该页面的用户,因此会弄乱结果。
在这种情况下,服务器需要事先知道要提供哪种布局的最佳方法是什么?