2013-10-16 109 views
0

我正在尝试创建一个迷你分析页面,如下图所示。这是一个市场,每个用户的分析页面都有一个图表。我已经能够得到意见和推荐人,但我的问题是如何去做转换部分。
enter image description here
在我的项目show动作我有这样的事情:获取引荐来源和跟踪转化

def show 
    @item = Item.find_by_rand_no params[:number] 
    if current_user && current_user.id != @item.owner_id 
     @item.views.create(item_id: @item.id, ip_address: request.remote_ip, owner_id: @item.owner_id, referrer: request.env["HTTP_REFERER"]) 
    end 
end 

如何跟踪,实际上买的东西,所以我可以得到一个转化率的呢? Ps:用户可以登陆页面,然后点击另一个项目,然后购买。我也希望能够解释这种情况。 谢谢

+0

您是否尝试在用户会话中存储信息? – phoet

+0

噢,你的意思是将推荐人存储在用户的会话中?例如 – Skyalchemist

+1

。古典用户跟踪系统在跟踪cookie中存储一些标识符http://en.wikipedia.org/wiki/HTTP_cookie#Tracking – phoet

回答

2

在您的应用程序控制器中创建一个before过滤器,例如, before_filter :save_referrer

def save_referrer 
    unless session['referrer'] 
     session['referrer'] = request.env["HTTP_REFERER"] || 'none' 
    end 
end 

当用户购买一个项目,你可以保存引荐在一个领域无论是在顺序表或创建推荐一个单独的表,我认为是更好的选择,你可以存储视图每个引荐通过计数器缓存该列。如果您不想按引荐来源栏进行分组等,则也可以使用first_or_create,这取决于您。无论如何,你得到像这样的转换;

Conversion = (Sales/Number of unique views for a referrer) * 100 
+0

谢谢,正是我需要的! – Skyalchemist