Regardless of your product set language filter, personalization determines which language to use for products based on the following order:
Language of (last) event → Language of product in event → HTML language → Store default language
This is how its works:
- Language of (last) event → If personalization is triggered based on an event, such as addToCart, and this event is sent with a language, the personalization selects products in that specific language. It uses the language of the last(previous) event, not the current one.
- Language of product in event → If personalization is triggered based on an event with product data, such as viewContent. The personalization will use the language of the item in that event.
- HTML language → Uses the language of the lang attribute in the HTML tag in your source code. Note: the "Use HTML language for personalizations" has to be activated in the merchant settings.
- Store default language → Uses the default language of the merchant.