I'm trying to show a component dependent on a Sitecore outcome. I've confirmed that this outcome is being triggered and given to the contact.
Now I have a rule set up to either show or hide a component dependent on this outcome.
The rule never passes. If I change the rule to something like a specific page being viewed it works fine. Changing it back to the outcome rule causes it to always fail.
Am I doing something wrong? I have the full Experience Platform.
EDIT: I'm using Sitecore 8.0
Code for registration:
if (Tracker.Current == null)
return false;
ID group = GroupOutcomes[groupId]; //array of item ids for the outcomes
if (Tracker.Current.HasOutcome(group))
return false;
ID id = ID.NewID;
ID interactionId = ID.Parse(Tracker.Current.Interaction.InteractionId);
ID contactId = ID.Parse(Tracker.Current.Contact.ContactId);
var finalGroup = new ContactOutcome(id, group, contactId)
{
DateTime = DateTime.UtcNow.Date,
MonetaryValue = 0,
InteractionId = interactionId
};
Tracker.Current.RegisterContactOutcome(finalGroup);
I see the outcome being given to the contacts and I actually display a contacts outcomes on the page load to see if the definition Ids match and they do.