Channel determining logic
The settings for setting the channel are located in the following configuration file:
determineInteractionChannel pipeline is used to set the channel of the current interaction. It contains four out-of-the-box processors:
DefaultChannel—uses the "Direct" channel by default.
ReferringSite—uses the channel associated with the referring site of the interaction.
SearchKeywords—uses the "Organic non-branded search" channel if there are any search keywords associated with the interaction. Keywords are taken from the URL of the first request coming from a search engine, e.g.
OrganicBranded—uses the "Organic branded search" channel in case any of the search keywords associated with the interaction are present in the
Keywords field of the item
/sitecore/system/Settings/Analytics/Organic Branded Keywords.
Additionally, there's the
SetChannel processor registered in the
triggerCampaign pipeline. This processor will set the interaction's channel to the channel associated with the campaign being triggered.
Answers to your questions
What is the algorithm or keywords to differentiate Social channels (Social community, Social mentions, social sponsored posts)?. Is this content managed?
These channels will not be set out of the box. To use them, you have two options:
- Associate a campaign with each of the keywords and trigger it when a user comes from social sites.
- Create a new
determineInteractionChannel processor that will set the channel according to your custom logic.
Does Sitecore maintain a dictionary item for this - Tracker.Dictionaries.ReferringSites or is this from the Marketing Control Panel -> Taxonomy -> Online -> Social?
This dictionary contains known referring sites that have been used before. The referring sites are stored in MongoDB.
If the site visitor is referred to Sitecore from a channel that is not available, how does Sitecore handle this? Is this record also classified or is it rejected?
It doesn't work this way. When a visitor comes to the site, the associated channel is determined based on the logic I described above. If the logic cannot infer any channel, it will default to the "Direct" channel.