控制参与者何时添加虚荣a / b测试

时间:2016-03-22 18:25:16

标签: ruby-on-rails ruby ab-testing vanity

使用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,我可以转而使用它来运行测试。我喜欢虚荣,如果有一个合理的解决方案不会显着增加实施所需的时间,我宁愿使用它。希望有人能指出我所缺少的东西,以及如何解决问题。

1 个答案:

答案 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   参与者将被录制。

不确定这有助于哈哈。