Module: ChannelGrouping
- Defined in:
- lib/channel_grouping.rb,
lib/channel_grouping/source.rb,
lib/channel_grouping/version.rb,
lib/channel_grouping/destination.rb
Defined Under Namespace
Classes: Destination, Source
Constant Summary collapse
- VERSION =
"0.5.1"
Class Method Summary collapse
Class Method Details
.identify(source_url:, destination_url:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/channel_grouping.rb', line 6 def self.identify(source_url: , destination_url:) destination = Destination.new(destination_url) medium = destination.medium return 'Email' if medium =~ /^email$/i return 'Affiliates' if medium =~ /^affiliate$/i return 'Referral' if medium =~ /^referral$/i return 'Organic Search' if medium =~ /^organic$/i return 'Paid Search' if medium =~ /^(cpc|ppc|paidsearch)$/i return 'Other Advertising' if medium =~ /^(cpv|cpa|cpp)$/i return 'Display' if medium =~ /^(display|cpm|banner)$/i return 'Social' if medium =~ /^(social|social-network|social-media|sm|social network|social media)$/i source = Source.new(source_url) return 'Organic Search' if source.search_engine? return 'Social' if source. return 'Direct' if source.direct? && (medium == 'none' || medium.nil?) return 'Direct' if source.host == destination.host return 'Referral' if source.host && (medium == 'none' || medium.nil?) 'Other' end |