Eventos do lado do servidor com Segment.io gratuitamente

O problema com Segment.io Analytics.js é que a vinculação a um envio de formulário não significa que a ação foi bem-sucedida. Eu encontrei uma pequena solução para que eu possa disparar eventos do servidor

Primeiro adicione um track_eventmétodo ao seu controlador de aplicativo

class ApplicationController < ActionController::Base
def track_event(*args)
json_array
= args.to_json.stripe
json_args
= json_array.slice(1, json_array.length - 2)

flash
[:events] ||= Array.new
flash
[:events] << json_args
end
end

Então, criamos uma maneira de exibir esses “eventos flash” em nosso modelo. Então crie um ajudante

module LayoutHelper
def analytics_events
Array(flash[:events]).map do |event|
"analytics.track(#{event})"
end.join("n")
end
end

Por último, adicione o seguinte ao seu modelo:

script == analytics_events

Agora, os eventos analíticos do lado do servidor são tão fáceis quanto

track_event('Created account', plan: 'Free')