Method: UTM.build_params

Defined in:
lib/utm.rb

.build_params(utm = {}) ⇒ Object

Campaign Name (utm_campaign) Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign.

  • Example: utm_campaign=spring_sale

Raises:



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/utm.rb', line 37

def self.build_params(utm = {})
 new = {}
 new[:utm_source]   = utm[:utm_source]   || conf.utm_source
 new[:utm_term]     = utm[:utm_term]     || conf.utm_term
 new[:utm_medium]   = utm[:utm_medium]   || conf.utm_medium
 new[:utm_content]  = utm[:utm_content]  || conf.utm_content
 new[:utm_campaign] = utm[:utm_campaign] || conf.utm_campaign
 new.select! {|field, content| content != nil}

 raise UTMError, "Missing mandatory fields" if new.values_at(*MANDATORY_FIELDS).include?(nil)

 parameters = new.map { |field, content| "#{field}=#{CGI.escape(content.to_s)}" unless content.nil?  }
 parameters.sort.join("&")

end