有没有人在单页应用程序上成功设置了内容实验 api?
我有一个单页应用程序,我想在其中运行 a/b 测试。所以我决定尝试整合谷歌实验。
它是如何设置的
对于我想测试的每个页面,我都有几个视图。
在这些路线的 ViewModel 中,我有一个数组中的视图:
const variations = ['login/original-login.html', 'v1-login.html'];
在呈现视图之前,我使用适当的 src 创建一个新的脚本标记并将其写入文档。
//www.google-analytics.com/cx/api.js?experiment=${experimentId}
加载脚本后,我通过调用
cxApi.chooseVariation()
并根据返回的值呈现视图来选择变体。
variations[cxApi.chooseVariation()];
此时,我正在向 GA 发送事件命中(根据文档)。因为pageview
事件是在 cxApi 加载之前发送的。
问题
由于这是一个单页应用程序,因此在我从一条路线导航到另一条路线后,窗口不会刷新。这意味着最后加载的实验数据会发送到每个 GA 命中。
你们有什么解决这个问题的办法吗?如果您能提出另一种在单页应用程序中运行实验的方法或技术,我将不胜感激。