Sup*_*meA 5 ruby facebook ruby-on-rails mongoid
我在rails应用程序上有一个ruby.我按照facebook的说明添加了一个像素.
但是,要跟踪转化,Facebook要求您将页面放入到达所需结果时显示的转换中.即如果我想展示一个客户已经注册,我会在注册后将你去的页面作为跟踪的成功对象.
我的问题是,在我的应用程序中,当客户注册时,没有登录页面.该应用程序将用户带回主页.它在主页上显示一条消息,因此我试图查看是否有办法跟踪控制器操作而不是实际页面的转换.
我需要计算的动作没有页面,它们是控制器动作.有没有人知道如何做到这一点的宝石,文档或最佳实践?
这是进入布局文件的像素......
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '18027724*****', {
em: 'insert_email_variable,'
});
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=180277241*****&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
Run Code Online (Sandbox Code Playgroud)
但是我需要它在控制器中点火......
def create
@reportapproval = current_user.reportapprovals.create(authorization_params)
if @reportapproval.valid?
if @reportapproval.manager_paying_report == true
flash[:notice] = "Please make payment before proceeding"
redirect_to new_managers_charge_path(id: @reportapproval.id)
else
flash[:notice] = "You have requested a report from #{@reportapproval.tenant_last_name}."
redirect_to managers_dashboard_path
@reportapproval.save
end
<----PIXEL FIRES HERE IN THE PROCESS ----->
else
flash[:error] = @reportapproval.errors.full_messages.to_sentence
redirect_to managers_dashboard_path
end
end
Run Code Online (Sandbox Code Playgroud)
更清洁的解决方案可能是使用此处的机架跟踪器宝石:https: //github.com/railslove/rack-tracker
主分支还没有新的facebook像素,所以请改用这个分支:https: //github.com/jolim/rack-tracker
将此添加到您的gemfile:
gem 'rack-tracker', git: 'https://github.com/jolim/rack-tracker.git', ref: 'c2b1b30'
Run Code Online (Sandbox Code Playgroud)
在你的application.rb:
config.middleware.use(Rack::Tracker) do
handler :facebook, { id: 'PIXEL_ID' }
end
Run Code Online (Sandbox Code Playgroud)
在哪里替换PIXEL_ID你的facebook像素id.
然后在你的controller:
def create
...
# PIXEL FIRES HERE IN THE PROCESS
tracker do |t|
t.facebook :track, { type: 'Purchase', options: { value: 100, currency: 'USD' } }
end
...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2001 次 |
| 最近记录: |