javascript - 防止 Google Optimize 中的 2 个实验重叠?

标签 javascript cookies google-analytics google-tag-manager google-optimize

您能否帮助我制定一条规则,以排除已经参与过 Google 优化工具中其他实验之一的用户?

最好的方法是什么?

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

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

我也不明白如何防止两个实验同时运行。这样,看到实验 A 的用户将看不到实验 B 或 C(免费版本仅限 3 个实验)。是否有任何规则或配置可以帮助解决这个问题?

最佳答案

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

当 Optimize 评估是否应选择新用户加入实验列表时,它会创建 _gaexp cookie 对所有选择加入一次,它不会创建它,然后在选择加入之间更新它。

所以它会寻找 _gaexp cookie,评估 Exp A ( does not contain <expBId> ) 的选择加入,并选择用户加入 Exp A。然后评估 Exp B ( does not contain <expAId> ) 的选择加入,并选择用户加入Exp B。然后它创建一个 cookie,内容类似于 GAX1.3.<expAId>.<expDate>.<value>.<expBId>.<expDate>.<value> .

现在的问题是,在第二次访问时,用户将被排除,无法看到任一实验的变化,因为他们现在不符合受众群体定位条件。他们的 cookie 现在包含 <expAId><expBId> !

我在尝试定位 _gaexp 时遇到了类似的问题cookie 与正则表达式,因为 cookie 是在决定选择加入后立即为两个实验创建的。

我当前的工作解决方案是创建一个名为 rand100 的自定义 JavaScript 规则。 。对于首次使用的用户,它会生成一个 0-100 的随机数。如果该数字低于 50,则会对 Exp A 进行评估,并存储一个包含 rand100 的 cookie。值(value)。如果等于或大于 50,则对 Exp B 进行评估。对于返回的用户,将检索 cookie 以及 rand100 的先前值。返回而不是新的,因此它们仍然符合他们所选择的实验的定位条件。

一个 cookie 在选择加入评估之间共享,因为它在 Exp A 评估期间运行自定义 JavaScript,因此该 cookie 可用于 Exp B 评估。 Cookie 设置为 90 天后过期,这是 Optimize 跟踪的默认过期时间。

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

关于javascript - 防止 Google Optimize 中的 2 个实验重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230749/

相关文章:

javascript - Ajax 调用 URL 在 Spring 服务器上找不到 @RequestMapping 值

javascript - HTML5 音频,测试是否使用 javascript 播放

Android Google Analytics 不报告未捕获的崩溃和异常

google-analytics - 无法在GA-v4 API资源管理器上查询

javascript - javascript用于动态生成下拉列表?

javascript - netlify 构建失败 : npm ERR! 路径/opt/build/repo/package.json

web-applications - 在不同服务器上的 Web 应用程序之间传递用户数据

Python请求,如何登录网站

python - Pandas/Google Analytics API 身份验证尝试引发了一个奇怪的 python 错误

javascript - 捕获关闭浏览器事件