We've implemented Einstein Email Recommendations for a client of ours, everything works well except for the localization. We set up our product catalog with the attributes for each country (Product name, price, product link etc.). An example of one of our localized columns is this column, which contains the product url for Sweden:


We set each column up this way for each countrycode we have. According to the documentation (https://help.salesforce.com/articleView?id=mc_pb_localized_recommendations.htm&type=5), we should add a "locale=" parameter to the end of the Einstein URL in the HTML and we should see the localized attributes in the Email Recommendation based on the countrycode we place after "locale=". However, this is not working for us. It still shows the 'default' attributes and seems to completely ignore the "locale=" parameter.

Does anyone here have any experience with localized Einstein recommendations and can see what we might be doing wrong? Thanks in advance.

  • if you goto reporting > admin tools and search for a product what does your JSON look like for localized, specifically does it have pu : "value". I want to say your catalog field needs to be locale_sv-se_ProductLink
    – EazyE
    Jul 17, 2019 at 15:24
  • Hi EazyE, we see the JSON with the localized fields in the admin tools. They all have labels consisting of one or a few letters. Does Einstein know that "b" => corresponds to Brand for instance? Where do these labels get defined? There may be a mismatch happening there
    – Rutger
    Jul 29, 2019 at 13:08
  • I believe your issue is,since this is a systemfield I'm pretty sure you need to match the system field name exactly, as opposed to custom fields which should just match between them
    – EazyE
    Jul 29, 2019 at 15:18

2 Answers 2


It is important to verify the localized fields have been identified as such. To do so, go to "Personalization Builder > Email Recommendations > Admin > Catalogs > Gear Icon (Settings) > Mapping" and check the "Locale fields" section:

Catalog Mapping - Locale fields

If that is correct, make sure you only use the general name of the field in your recommendation display's personalization, so in your example that would be %%product_url%%, which should be available via the "Add an Identifier"-dropdown:

Add an Identifier

Then in the email where you add the HTML code, you copied from the logic that uses your display, you need to add ?locale=sv-se at the end of the Link-URL as well as the Image-URL:

<a href=https://MID.recs.igodigital.com/rr/v2/hash/1/l/EMAIL?locale=fr-fr”>
   <img src=https://MID.recs.igodigital.com/rr/v2/hash/i/1/EMAIL?locale=fr-fr” />

The documentation also states, that the parameter should be all lowercase:

TIP Use all lowercase for locale= values in email recommendations.

Sometimes there is a problem with updating a display, so it might be a good idea to create a new display, paste your current code and start image creation. Then use the new display in your logic.

EDIT: In a recent implementation I figured out that even tough there is a mapping which can be defined and the documentation isn't clear about this, localization only reliably works if the exact same names (case sensitive) as in the documentation are used. So for example locale_en-uk_Productname doesn't work, but locale_en-uk_ProductName works fine.

Here you can find the names for all the standard fields:


(Source: Localized Recommendations)

Related documentation:

  • Hi Markus, thanks for your reply! Our locale parameter has the last 2 character in caps, so that might be the cause of the problem. We'll try correcting this in our Catalog, and hopefully it will work then.
    – Rutger
    Jul 18, 2019 at 7:52
  • Hi Markus, we've converted the countrycodes to lowercase, but without success unfortunately. In your screenshot I see you use the RegularPriceDisplay and SalePriceDisplay attribute names in your catalog. We use our own names for the columns in the product catalog, but we've mapped them to the Einstein attributes (Product URL, Image URL, Regular Price etc.) Is is necessary to use the Einstein attribute names as your column names in the product catalog? Or should Einstein be able to figure it out because we mapped the attributes?
    – Rutger
    Jul 29, 2019 at 13:04

Update; We fixed it by copying the exact Einstein attribute names as our column names in the productfeed. Also you need both the Display prices in String datatype and the non-Display prices in float datatype.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .