关于a / bingo基础知识的问题(a / b测试)

时间:2009-12-09 03:32:05

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

自: http://www.bingocardcreator.com/abingo/usage

#A view example with a block passed to ab_test:
<% ab_test("call_to_action", %w{button1.jpg button2.jpg}) do |button| >
  <%= image_tag(button, :alt => "Call to action!" %>
<% end %>

块中传递的“选择”是否必须是某种链接? a / bingo如何知道何时转换了不同的选择?

1 个答案:

答案 0 :(得分:3)

Abingo的工作方式是以一致的方式向不同的“身份”发出不同的选项,以便以后可以将结果再次聚合在一起。有几种方法可以做到这一点,例如通过IP地址,通过session_id或通过注册帐户,所有这些方法都是有效的,可以结合使用。实际上,特定身份将始终获得相同的随机选择。

有关分配标识的文档中的示例是ApplicationController中的处理程序:

before_filter :set_abingo_identity

def set_abingo_identity
  if @user
    # Assign identity based on user
    Abingo.identity = @user.abingo_identity
  else
    # Assign identity for anonymous user
    session[:abingo_identity] ||= rand(10 ** 10).to_i.to_s
    Abingo.identity = session[:abingo_identity]
  end
end

如果要根据使用的A / B选项跟踪操作,则需要在控制器中注入呼叫。另一个例子:

def show
  # Track conversion for active Abingo identity
  bingo!("show_info_page")
end

用户导航到该特定页面的机制完全是任意的,可以通过链接,表单提交,JavaScript重定向或单击电子邮件。唯一重要的是,A / B选项的显示和跟踪活动的后续控制器操作都具有相同的Abingo身份。