Issue
- When creating a segmentation using the IP Geocoder Country property in combination with another condition (e.g. a user property), the personalized experience configured for this segment is not displayed for a user that meets all criteria
- Example Steps to Reproduce:
When in a site, go to the Site menu -> People -> Segments and create a new segment
-
In the Session section on the right, add 2 IP Geocoder Country properties and configure them as:
Country Equals [Current Location]
Country Equals [Random alternate Location]
Set the condition connector between the countries to OR
Add another property under User -> Email address, and set it to "contains" and enter the email of the user being used to test this
Set the overall conjunction between the groups of properties to AND and save
Go to Site Builder -> Pages and create a new page
Add a calendar widget to the page
Create a new Experience set to the newly created segment and add a blog widget to the page
Set the experience to active by selecting the up arrow next to it in the experience drop down
Publish the page
Go to the page and verify that an Administrator user can see both experiences (i.e. can switch between the experiences and see both the calendar and blog widget)
Log out and log back in as the test user and visit the new page
The user cannot see the personalized experience of the blog on the page
Environment
- Liferay DXP 2025.Q1.x
Resolution
- This issue only occurs in a local environment, and not in a live environment
- There is a condition in the code that sets the country code to blank when the IP address is considered a local IP
- When testing in a live environment, the IP Geocoder Country property will function as expected