7

我想知道是否可以使用 Google Optimize 和 Google Tag Manager 设置多个服务器端实验。我们关注了https://stackoverflow.com/a/52157837/12936081,它似乎与从数据层发送的值一起工作得很好,但考虑到 Analytics 变量名称(expId 和 expVar),感觉我们只能这样做在任何给定时间进行一次实验。

4

1 回答 1

2

而不是发送一个单独的expIdexpVar与谷歌分析 - 通用分析Pageviewexp而是设置为包含两者,并通过 分开多个实验!

将其与引用的 SO 问题和官方文档中的信息相结合,我们必须.分离实验 ID 和实验变体,并-在多变量测试中分离任何变体。

例如,如果您提交实验 ID A(在现实生活中更长),变体索引为 1(第一个非对照变体),实验 ID B 在第一部分提交变体 0(对照),变体 2 (第二个非控制变体)对于第二部分,您设置expA.1!B.0-2.

设置数据层

如果您正在创建测试服务器端,则无需求助于 GTM 中的任何 JavaScript。只需dataLayer使用exp变量集设置 ,然后创建一个引用dataLayerGTM 中的变量的变量。我发现即使 GTM 和 Google Analytics(分析)网页浏览命中异步运行,我也必须尽早设置数据,以便 GA 接收它。您可以在任何地方为此添加单独的脚本标记,或者如果易于修改,则将其添加到 GTM 片段本身。<head>就我而言,我只是使用 Cloudflare Worker 将其注入到末尾HTMLRewriter,因为我的测试是在边缘实现的。

<script>var dataLayer=dataLayer||[];dataLayer.push({"exp":"A.1!B.0-2"})</script>

我是如何确定的

我通过临时添加客户端 Google Optimize JavaScript,并启动两个并发实验,然后查看正在发送的网络请求,找到了这种格式。我已经在开发实例上对此进行了简要测试,并且数据似乎进来了。

于 2020-05-26T14:40:48.450 回答