我按照本教程在 AMP 网站上实施了一个小型实验:https ://developers.google.com/optimize/devguides/amp-experiments
这是我所做的:
1. amp-analytics 和 amp-experiment 组件
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<script async custom-element="amp-experiment" src="https://cdn.ampproject.org/v0/amp-experiment-0.1.js"></script>
2. 实验代码
<amp-experiment>
<script type="application/json">
{
"AMP_Product_Page": {
"sticky": true,
"variants": {
"Original": 50,
"Variant_1": 50
}
}
}
</script>
</amp-experiment>
3. 分析代码
<amp-analytics id='analytics1' type='googleanalytics'>
<script type='application/json'>
{
"vars": {
"account": "UA-105350-7"
},
"requests": {
"experiment": "${pageview}&xid=${xid}&xvar=${xvar}"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "experiment",
"vars": {
"xid": "fB2hAs9HS2WgWqe332c6Ow",
"xvar": "VARIANT(AMP_Product_Page)"
}
}
}
}
</script>
</amp-analytics>
4. 在 Google Optimize 中创建了一个实验
我在 Google Optimize 中创建了一个实验,并在上面的代码中使用了 ID。我也可以在 Google Analytics 中看到这个实验,不过它有 0 个会话。
我还添加了一些基本的 CSS 规则,它们运行良好。
上面的代码是实时的,我可以看到网站上正在运行的实验,<body>
标签也有一个属性amp-x-amp_product_page="Variant_1"
。
谷歌分析请求
我有一个使用 GTM AMP 容器部署的 Google Analytics 集成,它工作正常。
现在,当我查看 Google Analytics 提出的请求时,我看到的是:
- 浏览量请求(确定)
- 包含实验数据的第二次网页浏览请求(状态 302)
第二个请求似乎没有提交给 GA。
我尝试发送带有事件的实验数据,但在 amp-analytics 中似乎xid
并且xvar
不允许使用事件变量。