module ServerSideGa

Constants

VERSION

Public Class Methods

event(tracking_code, client_id, category, action, label = nil, value = nil, time = Time.now ) click to toggle source
# File lib/server_side_ga.rb, line 14
 def self.event(tracking_code, client_id, category, action, label = nil, value = nil, time = Time.now )

  queue_time = (Time.now - time ) * 1000

  params = {
    :v => @@version,
    :tid => tracking_code,
    :cid => client_id,
    :t => "event",
    :ec => category,
    :ea => action,
    :el => label,
    :ev => value,
    :qt => queue_time
  }

  self.hit( params )

end
transaction( tracking_code, client_id, id, name, revenue, shipping = 0, tax = 0, currency = "USD", time = Time.now) click to toggle source
# File lib/server_side_ga.rb, line 36
def self.transaction( tracking_code, client_id, id, name, revenue, shipping = 0, tax = 0, currency = "USD", time = Time.now)
  # report the time differene in miliseconds between event creation time and now
  queue_time = (Time.now - time) * 1000
  params = {
    :v => @@version,
    :tid => tracking_code,
    :cid => client_id,
    :t => "transaction",
    :qt => queue_time.to_s,
    :ti => id,
    :ta => name,
    :tr => revenue,
    :ts => shipping,
    :tt => tax,
    :cu => currency


  }

  self.hit( params )
end

Private Class Methods

hit( params ) click to toggle source
# File lib/server_side_ga.rb, line 61
def self.hit( params )
  begin
    response = RestClient.post(@@endpoint, params )
    return response.code == 200
  rescue  RestClient::Exception => rex
    return false
  end
end