使用vanity进行A / B测试。该测试依赖于有条件地向某些用户显示的模态。模式包含不同的激励,基于您看到的测试的哪一方。
模态的代码部分加载到我们的应用程序的多个页面上。
示例:
<%= render partial: 'modals/example' %>
该部分包含将要显示的内容的条件:
<% if ab_test(:whatever) == "something" %>
<p>Stuff to show</p>
<% else %>
<p>Different stuff to show</p>
<% end %>
我正在跟踪相关位置的相关指标。
测试本身在显示内容和转换方面按预期工作。我遇到的问题是因为即使没有显示模态,部分也被加载...每个登陆引用此部分的页面的人都被添加为“参与者”而我想只计算实际上已经将模态视为参与者的人。
我们也使用mixpanel,我可以转而使用它来运行测试。我喜欢虚荣,如果有一个合理的解决方案不会显着增加实施所需的时间,我宁愿使用它。希望有人能指出我所缺少的东西,以及如何解决问题。
答案 0 :(得分:1)
我会尝试通过ajax发送帖子,其中包含在显示模态后将参与者添加到/vanity/add_participant
所需的数据。
$('#myModal').on('shown', function(){
$.ajax({
type: "POST",
url: '/vanity/add_participant',
data: {
participant_data: participantData
},
success: function(data) {}
})
});
将以下内容添加到application.rb:
Vanity.configure do |config|
config.use_js = true
# Optionally configure the add_participant route that is added with Vanity::Rails::Dashboard,
# make sure that this action does not require authentication
# config.add_participant_route = '/vanity/add_participant'
end
然后添加&lt;%= vanity_js%&gt;到之后调用A / B测试的任何页面 叫ab_test。在你打电话之后需要包括vanity_js ab_test,以便它知道实验的哪个版本 参与者是。的成员。如果是的话,助手将不会呈现任何内容 当前页面上没有运行ab_tests,因此添加了vanity_js 在布局的底部是一个很好的选择。请记住,如果 你设置了use_js并且在你的视图中没有包含vanity_js 参与者将被录制。
不确定这有助于哈哈。