Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
In short: I think visitors that are not in the control group can fall into it every time a variant is displayed, which means that if you're not in a control group, you just have to refresh the page until you fall into it (except if the traffic allocation for the control group is 0%)
Steps to reproduce
- Create a content personalization with variant A (fallback, no condition) and variant b (page views > 2)
- Set control group to 25%, save & publish
- Open anonymous browser, refresh, refresh, refresh, refresh - close browser
- Open anonymous browser, refresh, refresh, refresh, refresh - close browser
- Open anonymous browser, refresh, refresh, refresh, refresh - close browser
Observed behavior
After a 5-10 refresh, the visitor will always see the default variant. If you look in network, you'll see that the visitor is in the control group, always.
It looks like the control group calculation is done for every variant decisioning and that we dont store the fact that a visitor is NOT in a control group.
Expected behaviours
- Visitors profiles that are in the control group for the personalization should stay in the control group - OK
- Visitor profiles that are NOT in the control group for the personalization should stay out of it - KO
Looking at the class
https://github.com/apache/unomi/blob/master/services/src/main/java/org/apache/unomi/services/impl/personalization/PersonalizationServiceImpl.java the problem can easily be seen: the code just checks if the control group exists and the control group is never assigned to "false".
Attachments
Issue Links
- relates to
-
UNOMI-696 Store personalizationResolutions on profile and sessions
- Closed