Javascript 防止谷歌优化中两个实验之间的重叠?

Javascript 防止谷歌优化中两个实验之间的重叠?,javascript,cookies,google-analytics,google-tag-manager,google-optimize,Javascript,Cookies,Google Analytics,Google Tag Manager,Google Optimize,你能帮我制定一条规则,排除那些已经接触过谷歌优化中其他实验的用户吗 最好的方法是什么 我正在考虑使用第1方cookie变量或其他一些自定义变量,将用户标记为“暴露”,以便另一个实验不会影响他 此外,我可以在Optimize的可视化编辑器中使用“运行自定义”JavaScript来创建这样一个cookie。这能解决问题吗 另外,我不明白如何防止两个实验同时运行。这样,看到实验A的用户就看不到实验B或C(免费版仅限于3个实验)。是否有任何规则或配置可以帮助实现这一点?这是我仍在使用谷歌实验的原因之一。

你能帮我制定一条规则,排除那些已经接触过谷歌优化中其他实验的用户吗

最好的方法是什么

我正在考虑使用第1方cookie变量或其他一些自定义变量,将用户标记为“暴露”,以便另一个实验不会影响他

此外,我可以在Optimize的可视化编辑器中使用“运行自定义”JavaScript来创建这样一个cookie。这能解决问题吗


另外,我不明白如何防止两个实验同时运行。这样,看到实验A的用户就看不到实验B或C(免费版仅限于3个实验)。是否有任何规则或配置可以帮助实现这一点?

这是我仍在使用谷歌实验的原因之一。它通过其api提供了更多的控制。尽管如此,您应该能够通过在用户浏览器中设置cookie来实现所需的结果。以下是我对它的看法:

  • 所有实验cookie都具有相同的名称但值不同,以避免创建多个cookie
  • 在新会话中,检查cookie是否存在
    • Exists-启动标签以初始化适当的实验
    • 不存在-确定将用户放入哪个实验桶中,并启动标签以初始化适当的实验

我知道Optimizely有一个算法可以将实验用户分为多个实验,每个用户都可以参与多个实验,但我不相信Google Optimize有这样的功能。

当我们创建任何实验时,Google会创建一个实验id,我们可以在详细信息部分找到。同样,当一个实验被触发时对于用户,它设置一个
\u gaexp
cookie,其中包含该实验id(除了其他标识符)

因此,如果您想要运行两个互斥实验,那么您只需在
\u gaexp
包含其他用户的id时将用户排除在实验之外。以下是步骤:

  • 在受众定位中,添加规则并选择第一方cookie
  • 创建一个变量并将其值设置为
    \u gaexp
  • 选择
    不包含
    选项,并在值中添加其他实验的id
  • 拯救

对另一个实验重复同样的步骤

必须解决这个问题。@swapnil jain的方法似乎在表面上有效,但不幸的是有一些问题

当Optimize评估新用户是否应被选入实验列表时,它会为所有选择加入创建一次
\u gaexp
cookie,而不会创建cookie,然后在选择加入之间进行更新

因此,它寻找
\u gaexp
cookie,评估Exp A的opt-in(
不包含
)并选择用户加入Exp A。然后评估Exp B的opt-in(
不包含
),并选择用户加入Exp B。然后它创建一个cookie,读取类似
GAX1.3……

现在的问题是,在第二次访问时,用户将被排除在任何一个实验的变化之外,因为他们现在无法满足受众目标条件。他们的cookie现在同时包含

我在尝试使用regex来定位
\u gaexp
cookie时遇到了类似的问题,因为在决定选择加入后,两个实验都会同时创建cookie

我目前的工作解决方案是创建一个名为
rand100
的自定义JavaScript规则。对于第一次使用该规则的用户,它会生成一个随机数0-100。如果该数字低于50,则对其进行Exp a评估,并存储一个包含
rand100
值的cookie。如果等于或高于50,则对其进行Exp B评估。用于返回用户,将检索cookie,并返回以前的值
rand100
,而不是新值,因此他们仍然满足所选实验的目标条件

一个cookie在opt-in求值之间共享,因为它在Exp A eval期间运行自定义JavaScript,因此cookie可用于Exp B eval。cookie设置为在90天后过期,这是优化跟踪的默认过期时间


我以100%的流量运行这些实验,但从技术上讲,他们只看到50%的流量,因为
rand100
。流量在control/v1/control/v1之间被分割为25%/25%/25%/25%。

谢谢!我已经设法使用谷歌实验设置了实验。你解决了一个闪烁的问题吗?我正在尝试调整Optimize的页面ding snippet。通常我用两种方法之一解决闪烁问题。1)将测试逻辑放在服务器端,以便在模板级别控制前端变化。2)默认情况下,使用css隐藏元素,然后在页面加载时使用javascript修改元素的样式,使其显示为页面加载。这可能意味着rol被报告给GA作为变量,并且该变量被报告为控件,但在评估结果时,您只需要记住这一点。您是否尝试过改编Google Optimize的页面隐藏片段?抱歉,我没有。我的许多测试用例都是独一无二的,最终需要更多的工作来利用Optimize的一刀切-所有方法都比使用自定义js从头开始将测试放在一起更有效。您的测试试图完成什么?这可能有助于确定适合您的场景的最佳方法。非常感谢您的帮助和时间!我熟悉多元实验背后的统计信息,我的目标是找到一个生成数据的技术解决方案A/B/n变体(超过15个)。解决方案必须灵活、低成本和通用,以便我可以将其用于不同的站点、客户。experime的因素