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



使用虚荣进行A/B测试。该测试依赖于有条件地向某些用户显示的模态。模态包含基于你看到的测试的哪一边的不同激励。

模态的代码在一个部分中,该部分加载在我们应用程序的几个页面上。

示例:

<%= render partial: 'modals/example' %>

该部分包含将显示的内容的条件:

<% if ab_test(:whatever) == "something" %>
   <p>Stuff to show</p>
<% else %>
   <p>Different stuff to show</p>
<% end %>

我正在相关位置跟踪相关度量。

测试本身在显示内容和转换方面如预期的那样工作。我遇到的问题是,因为即使模态没有显示,分部也会加载。。。所有登录到引用这个分部的页面的人都被添加为"参与者",我只想把真正看过模态的人算作参与者。

我们也使用了mixtpanel,我可以使用它来运行测试。不过,我喜欢虚荣,如果有一个合理的解决方案不会显著增加实施时间,我更愿意使用它。希望SO能指出我遗漏了什么以及如何解决问题。

我会尝试通过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

然后添加<%=vanity_js%>到在之后调用A/B测试的任何页面调用ab_test。vanity_js需要在您呼叫后包含ab_test,以便它知道实验的哪个版本参与者是的成员。如果当前页面上没有运行ab_test,因此添加vanity_js到布局的底部是一个不错的选择。请记住,如果你设置了use_js,但在你的视图中不包括vanity_js参与者将被记录下来。

不确定这是否有帮助哈哈。

最新更新