ruby-on-rails – 如何在rails控制器操作上激活Facebook像素
发布时间:2020-12-17 01:36:50 所属栏目:百科 来源:网络整理
导读:我在rails应用程序上有一个 ruby.我按照facebook的说明添加了一个像素. 但是,要跟踪转化,Facebook要求您将页面放入到达所需结果时显示的转换中.即如果我想展示一个客户已经注册,我会在注册后将你去的页面作为跟踪的成功对象. 我的问题是,在我的应用程序中,当
我在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 --> 但是我需要它在控制器中点火…… 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 解决方法
更清洁的解决方案可能是使用此处的机架跟踪器宝石:
https://github.com/railslove/rack-tracker 主分支还没有新的facebook像素,所以请使用此分支: 将其添加到您的gemfile: gem 'rack-tracker',git: 'https://github.com/jolim/rack-tracker.git',ref: 'c2b1b30' 在你的application.rb中: config.middleware.use(Rack::Tracker) do handler :facebook,{ id: 'PIXEL_ID' } end 在哪里用您的facebook像素ID替换PIXEL_ID. 然后在你的控制器中: def create ... # PIXEL FIRES HERE IN THE PROCESS tracker do |t| t.facebook :track,{ type: 'Purchase',options: { value: 100,currency: 'USD' } } end ... end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |