Things to Check
There are a number of reasons why the StartTracking pipeline might not work, which are heavily documented on Sitecore Stack Exchange. That being said, I would start with working backward and ensuring that the processor configurations are showing up as shown below.
- Check Log Files for Errors about Tracker not Initialized or Running
- Check ShowConfig.aspx to ensure that ProcessItem processor in
<startTracking>
hasn't been removed or overridden.
Background Info
In Sitecore 7.5 Rev 141003, PatternLabel
and PatternId
are updated via the method Profile.UpdatePattern()
public void UpdatePattern()
{
ProfileItem profile = Tracker.DefinitionItems.Profiles[this.ProfileName];
if (profile == null)
return;
PatternCardItem patternCardItem = (PatternCardItem) null;
try
{
patternCardItem = profile.MatchPattern((IProfileData) this);
}
catch (Exception ex)
{
Log.Error("Failed to update profile pattern", ex, (object) this);
}
if (patternCardItem == null)
return;
this.PatternId = new Guid?(patternCardItem.ID.Guid);
this.PatternLabel = patternCardItem.Name;
}
This method is called via either Profile.OnScore()
or Profile.OnRollBack()
.
The method Profile.OnScore()
is called by Profile.Score()
.
The method Profile.Score()
is called by the TrackingFieldProcessor.ProcessProfiles()
method which is called during the <processItem>
pipeline execution.
This is called from the <startTracking>
pipeline execution, which is handled at the beginning of requests, and is from the Sitecore.Analytics.Pipelines.StartTracking.ProcessItem
processor.
<startTracking>
<processor type="Sitecore.Analytics.Pipelines.StartTracking.RaiseStartTracking, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.InitializeTracker, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.TrackerInitialized, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.UpdateGeoIpData, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.PageLevelTestItemResolver, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.ProcessQueryStringCampaign, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.ProcessQueryStringPageEvent, Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.ProcessQueryStringTriggers, Sitecore.Analytics">
<triggers hint="raw:AddTrigger">
<trigger querystring="sc_rss" eventname="RSS"/>
</triggers>
</processor>
<processor type="Sitecore.Analytics.Pipelines.StartTracking.ProcessItem, Sitecore.Analytics"/>
</startTracking>
Changes in Sitecore 8.2
There are additional changes in 8.2 where PatternLabel and PatternId are updated from various other processes via the BehaviorProfileConverter
.