6

I'm trying to show personalized banners on an external site using Sitecore FXM. The ext. site has 3 pages - Home, Services & Feedback. The banner is to be shown on Home page.

Conditions:
If user has visited Home page for the first time - Show banner1
If user has visited Services and Feedback pages - Show banner2

Things I have performed in sitecore:
Created 2 page filters - services & feedback.
Created 2 respective goals - visited services & visited feedback. These do not have any rules. Just plain goals.
Assigned goal to respective page filter using Manage FXM functions.

Personalization rules for the banner rendering:

Rule 1: (show banner2 if true)
where visited services is triggered in past or current interaction and the elapsed days is less than or equal to 30 and the interactions is greater than or equal to 0.

and where visited feedback is triggered in past or current interaction and the elapsed days is less than or equal to 30 and the interactions is greater than or equal to 0.

Default: (show banner1 if Rule1 is false)

Output:
In the ext. site, it always renders banner1. But if for rule 1 , if I just apply one condition (visited services), and then from home page, visit services page and back to home, it shows banner 2.

Where am i going wrong. Will multiple goals in a condition not work. Is there any other way.
It would be much easier writing a code in a controller rendering, but did not find any helpful information about how we can track if a user has achieved a goal, using code. I'm a beginner and like to stay away from decompiling yet.

Using Sitecore 8.2

1
  • 1
    Hi Qwerty... Looks like rules are not working so its showing default banner, Can you Check Sitecore.FXM.config file located inside "Include/FXM" and see if setting name="FXM.ShareSessionsWhenPossible" is marked with "true". Commented Dec 5, 2016 at 14:52

1 Answer 1

2

The combination you described should be entirely possible.

I encountered the same problem when implementing an FXM solution that triggered goals in Sitecore 8.2.

Essentially there is a bug with the Rule OutcomeWasRegisteredDuringPastOrCurrentInteractionCondition

The solution in this ticket mentions the fix in details for Sitecore 8.1 through to initial release of Sitecore 9.

You can find a github C# example here. Once you implement the rule (with the fix) in C# you must edit the Sitecore item to point to the C# class you implemented.

/sitecore/system/Settings/Rules/Definitions/Elements/Visit/Goal was triggered during a past or current interaction

My solution also made an additional fix so that when the rule is executed if the Sitecore.Current.Session.Interaction is null it will use Tracker.Current.Contact instead to execute the rule. It does this via LoadHistorycalData and KeyBehaviourCache.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.