您能否帮我解决一条规则,该规则可以排除那些已经在Google Optimize中接触过其他实验的用户?
最好的方法是什么?
我正在考虑使用第一方cookie变量或其他一些自定义变量来标记用户"暴露"所以另一个实验不会影响他。
此外,我可以使用"运行自定义" JavaScript"在Optimize的可视化编辑器中,它将创建这样一个cookie。这会解决问题吗?
此外,我无法理解如何防止2个实验同时运行。因此,看到实验A的用户将看不到实验B或C(免费版仅限于3次实验)。是否有任何规则或配置可以帮助解决这个问题?
答案 0 :(得分:1)
我们创建任何实验时,Google都会创建一个实验ID,我们可以在详细信息部分中找到该ID。同样,当为用户触发实验时,它会设置一个_gaexp
Cookie,其中包含该实验ID(除其他标识符外)。
因此,如果您要运行两个互斥的实验,则只要_gaexp
包含other的ID,您需要做的就是从该用户中排除该用户。步骤如下:
First-party cookie
_gaexp
does not contain
选项并在值中添加其他实验的ID 对其他实验重复相同的步骤
答案 1 :(得分:1)
只需要解决这个问题! @ swapnil-jain的方法似乎在表面上可行,但不幸的是存在一些问题。
Optimize评估是否应选择一个新用户加入实验列表时,会对所有选择加入一次创建_gaexp
cookie,但不创建它,而是在选择之间进行更新。 ins。
因此它查找_gaexp
cookie,评估Exp A的选择加入(does not contain
<expBId>
)并选择用户加入ExpA。然后,它评估针对Exp A的选择加入Exp B(does not contain
<expAId>
),并选择一个用户加入ExpB。然后,它会创建一个读取GAX1.3.<expAId>.<expDate>.<value>.<expBId>.<expDate>.<value>
之类的Cookie。
现在的问题是,第二次访问时,用户将被排除,因为他们现在失败目标受众定位条件,因此无法看到任何一个实验的变体。他们的Cookie现在同时包含<expAId>
和<expBId>
!
在尝试使用正则表达式定位_gaexp
cookie时,我遇到了类似的问题,因为在决定选择启用后,两个实验都一次创建了cookie。
我当前的工作解决方案是创建一个名为rand100
的自定义JavaScript规则。对于初次使用的用户,它将生成一个随机数0-100。如果该数字小于50,则会对它们进行Exp A评估,并存储包含rand100
值的cookie。如果等于或大于50,则会对它们进行Exp B评估。对于回头用户,将检索cookie,并返回先前的rand100
值(而不是新值),因此它们仍然满足以下条件:他们选择参加的实验。
一个cookie在参与评估之间共享,因为它在Exp A评估期间运行自定义JavaScript,因此该cookie可用于Exp B评估。 Cookie设置为在90天后过期,这是Optimize跟踪的默认过期时间。
我以100%的流量运行这些实验,但是从技术上讲,由于rand100
,它们只能看到50%的流量。流量在control / v1 / control / v1之间分配为25%/ 25%/ 25%/ 25%。
答案 2 :(得分:0)
这是我仍在使用Google实验的原因之一。它通过api提供了更多的控制。话虽如此,您应该能够通过在用户的浏览器中设置cookie来实现您正在寻找的结果。以下是我看到它的表现:
我知道Optimizely有一个算法可以让每个用户都参与多个实验,但是我认为Google Optimize还没有这种功能。