Angular.js和谷歌分析内容实验
Angular.js and Google Analytics Content Experiment
所以我试图在一个网站上实现谷歌分析内容实验,这个网站是有角度的单页网站。
我设置了我主页的两个版本,/
和/?v=2
,按照指示粘贴在<head>
标签的最顶部的谷歌代码中,效果很好,谷歌将30%的流量发送给了第一个版本,将70%的流量发送到了第二个版本。
当我试图访问/contact
时,问题出现了,谷歌显然会认为我仍在访问/
,并会将我发送到/v=2
(如果我是30%的一部分)。
我甚至不确定为什么会发生这种情况,但确实如此,我想如果谷歌的功能不是在加载后立即运行,而是在主页的角度controller
加载后才运行,会有所帮助。。但我可以让谷歌代码在上述控制器中工作。。
以前有人处理过这个问题吗?
您可以使用APIhttps://developers.google.com/analytics/devguides/collection/gajs/experiments#cxjs
然后你所要做的就是在你的路线/状态定义中做这样的事情
{
templateUrl: function() {
if(cxApi.chooseVariation() == 0) {
return "version1.html";
} else {
return "version2.html";
}
}
}
使用AngularJS,您将选择并提供Angular代码中的变体。谷歌仅调用此浏览器实现。因此,您不使用Google Analytics Web界面提供的标准实验代码片段。相反,您将使用内容实验JavaScript API。所以你要加载的脚本是:
<script src="//www.google-analytics.com/cx/api.js?experiment=EXPERIMENT_ID"></script>
如果您使用的是ui路由器:
正如foxx已经写过的那样,每次用户接触到要运行测试的$state
时,您只需调用cxApi.chooseVariation()
来确定变体。您可以在$stateProvider.state()
调用中选择不同的模板(如foxx所示),也可以简单地解析变体编号并将其注入控制器,在模板中使用变体类:ng-class="{original: isVariation(0), variation-one: isVariation(1)}"
谷歌提供了一个在客户端实现实验的好指南。
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- Angular.js和谷歌分析内容实验