如何在Google AMP中跟踪多个Google Optimize实验?

时间:2018-08-16 15:16:53

标签: google-analytics amp-html google-optimize

amp-experiment docs演示了如何在AMP中跟踪多个实验。但是,如何正确配置amp-analytics

在文档的reporting部分中,它提到了VARIANTS占位符,该占位符将替换为实验和变体名称的序列化列表。来自Google Optimize团队的This answer似乎表明它可以像这样被添加到<amp-analytics>中的请求中:

<amp-analytics type="googleanalytics">
  <script type="application/json">
    {
      "vars": {
        "account": "..."
      },
      "requests": {
        "experiment": "${pageview}&exp=VARIANTS"
      },
      "triggers": {
        "pageview": {
          "on": "visible",
          "request": "experiment"
        }
      }
    }
  </script>
</amp-analytics>

但是,当我尝试此操作时,Google Optimize不会注册任何访问。似乎要求experiment请求包含xid / xvar(用于实验ID /变量)代替:

<amp-analytics type="googleanalytics">
  <script type="application/json">
    {
      ...
      "requests": {
        "experiment": "${pageview}&xid=${xid}&xvar=${xvar}"  <-- modified
      },
      "triggers": {
        "pageview": {
          "on": "visible",
          "request": "experiment",
          "vars": {                                          <-- added
            "xid": "skdjEjia23_1ksjd",                       <-- 
            "xvar": "VARIANT(my-experiment-name)"            <-- 
          }                                                  <-- 
        }
      }
    }
  </script>
</amp-analytics>

这很好,但是由于xid / xvar被硬编码为特定的实验,因此我一次只能运行一个实验。

有什么想法可以进行多个实验吗?

1 个答案:

答案 0 :(得分:1)

好的,我知道了。我从Google Optimize forum的Google Optimize团队那里得到了答案。

VARIANTS变量已替换为序列化的实验名称和变体,但是Google Analytics(分析)显然需要的是实验 ID 和变体。因此,正确的解决方案是通过以下方式配置<amp-analytics>

<amp-analytics type="googleanalytics">
  <script type="application/json">
    {
      "vars": {
        "account": "..."
      },
      "requests": {
        "experiment": "${pageview}&exp=a1b2c3.VARIANT(my-first-experiment)!d4e5f6.VARIANT(my-second-experiment)"
      },
      "triggers": {
        "pageview": {
          "on": "visible",
          "request": "experiment",
        }
      }
    }
  </script>
</amp-analytics>

请注意,a1b2c3d4e5f6是实验ID,而不是名称。其后的.VARIANT(...)部分表示为那些实验选择的变体的索引。不知道为什么要首先使用ID和VARIANT()回调‍️

中的名称