All information has been written with reference to Sitecore 8 (rev 141212)
The pupose of the ParseReferrer pipeline is to extract useful information from the referring URL. It's called from the ParseReferrer processor in the CreateVisit pipeline and contains a single processor by default.
Namespace: Sitecore.Analytics.Pipelines.ParseReferrerAssembly: Sitecore.Analytics
The ParseGenericSearchEngine processor is responsible for recording the term that resulted in a search engine referring a visitor to your site. The Sitecore Configuration Factory preloads the processor class with the hostnames and querystring parameter names of known search engines. They are added to a private dictionary object.
The processor loops through each of the items in the dictionary, and for each iteration it checks that:
- The key of the current dictionary item is contained within the value of args.UrlReferrer.DnsSafeHost,
- args.UrlReferrer.Query is not null or empty.
- The query string from args.UrlReferrer.Query contains the parameter name associated with the current dictionary item.
If these criteria are met, then args.Interaction.Keywords is set to the identified query string parameter value and aborts the pipeline. Otherwise, the method moves to the next iteration of the loop.
Additional InformationJohn West discusses the ParseReferrer pipeline in the following blog posts:
- Identifying Search Engines and Search Terms With The Sitecore Customer Engagement Platform.
- Simulate Search Engines Using The Sitecore Customer Engagement Platform