如何从技术角度优化进行A / B测试?

时间:2013-10-11 09:22:47

标签: javascript html css google-analytics-api ab-testing

我正在尝试使用Google Analytics和内容实验在我的网站上设置A / B测试,但我无法让它无缝显示。

要使用Google API,需要执行一些操作。首先,我添加一个脚本标记,从Google加载cxApi,指定实验ID。加载谷歌文档后,建议在“加载”事件的窗口上放置一个监听器,之后您应该向谷歌询问您希望显示的内容的变体并给它回调。一旦选择了变体,您就可以使用javascript来显示/隐藏相关内容。

问题是我在页面加载时获得内容闪存;例如,如果我是A / B测试H2,我不希望先看到原来的那个然后快速更换它。有人有任何提示吗?

我到目前为止提出的最佳解决方案是添加样式标记以隐藏相关内容(例如,通过将文本颜色设置为透明,因此内容仍占用屏幕上相同的空间量并且不会引起回流)但是我正在寻求一个更好的解决方案,并且如果有人可能对如何优化这样做有任何见解会感兴趣吗?

干杯

2 个答案:

答案 0 :(得分:2)

优化提供来自CDN的静态脚本,该CDN使用jQuery更改页面上的元素。

Optimizely解决方案与Google内容实验的不同之处在于Optimizely指示用户在synchronous manner中设置代码段,而典型的Google Analytics JS则异步加载。这意味着将在页面呈现之前下载并执行Optimizely脚本,特别是如果他们建议您将代码段放在<head>的高位。如果您遵循典型的Google Analytics setup,则会在页面的其余部分加载后异步加载GA脚本。

Optmizely的文档进一步解释:

  

我们鼓励这种特定展示位置的原因是因为Optimizely通过在加载时对网页进行更改来工作。如果将代码段添加到块的顶部,则脚本在加载页面所需的持续时间内可用,并且可以实时进行更改。

     

如果在页面上的任何其他位置添加了代码段,它仍然有效。问题是,如果页面已经加载了用户在优化脚本执行之前看到的大量内容,那么您可能会遇到一个案例,其中加载了页面的原始版本,然后由脚本转换为看起来像预期的变体。在大多数情况下,代码执行速度太快而无法显示,但为了避免任何潜在的问题,我们建议您尽可能早地在执行路径中添加代码段。

来自:https://help.optimizely.com/hc/en-us/articles/200040285

答案 1 :(得分:1)

下面的文章(从中截取屏幕)解释了Optimizely如何与DOM交互: https://help.optimizely.com/hc/en-us/articles/200040335

enter image description here