Customization: Sitecore Channelizer
In my previous post Refactored: How Sitecore assigns the channel to interaction, I explained the internals of Sitecore for setting the channel to the interaction.
While working on the Sitecore 9.3 project, the client put the requirements that they want to see that which channel is performing better based on the referring sites from where they are driving the traffic to the Sitecore website. When we started looking into the Experience Analytics, we only see three channels, Direct, Organic non-branded search, and Organic branded search, but no other channel.
After some research I found that, Sitecore has discontinued the Sitecore.Analytics.OmniChannel.Pipelines.DetermineInteractionChannel.ReferringSite processor starting from Sitecore 9.0 Update-1 release.
This means, any traffic coming from the referral site will fall under the Direct channel instead of the Other Referrals channel. And removal of the above said processor make a big difference for the analytics team if they expect to see the traffic driven from any referral sites.
After digging inside the Sitecore code and thinking how to make this work again, I developed a custom module which provide you ease of use to setup any custom channel to the interaction based on the referral domain as well as incoming query parameters as well.
Using this module you can create the rules to have different channel assigned to the contact interaction based on the referral website, incoming query parameters or both.
Please get the project code from Github.com, and see how that work.