Class: TrafficChannelizer::Visit

Inherits:
Object
  • Object
show all
Defined in:
lib/traffic_channelizer/visit.rb

Instance Method Summary collapse

Constructor Details

#initialize(referrer_url:, landing_page_url:) ⇒ Visit

Returns a new instance of Visit.



3
4
5
6
# File 'lib/traffic_channelizer/visit.rb', line 3

def initialize(referrer_url:, landing_page_url:)
  @referrer_url = referrer_url
  @landing_page_url = landing_page_url
end

Instance Method Details

#attribution_dataObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/traffic_channelizer/visit.rb', line 8

def attribution_data
  {
    referrer_domain: referrer.domain,
    landing_page_domain: landing_page.domain,
    medium: medium,
    source: source,
    term: term,
    campaign: landing_page.utm_campaign,
    content: landing_page.utm_content,
    channel_group: channel_group
  }
end

#channel_groupObject



37
38
39
# File 'lib/traffic_channelizer/visit.rb', line 37

def channel_group
  ChannelGroup.identify(medium: medium, source: source)
end

#mediumObject



21
22
23
# File 'lib/traffic_channelizer/visit.rb', line 21

def medium
  landing_page.utm_medium || referrer.medium || '(none)'
end

#sourceObject



25
26
27
28
29
30
31
# File 'lib/traffic_channelizer/visit.rb', line 25

def source
  s = landing_page.utm_source
  s ||= '(internal)' if internal?
  s ||= referrer.source
  s ||= '(direct)'
  s
end

#termObject



33
34
35
# File 'lib/traffic_channelizer/visit.rb', line 33

def term
  landing_page.utm_term || referrer.term
end