Localized Catalog Setup

Use this guide to set up your catalog for localization. See also how to Set Up a Catalog for Multiple Languages and Countries, Ads Help Center.

Requirements

Recommendations

As you plan your catalog setup, we recommend that you follow these recommendations:

  • Create your country feeds and/or language feeds (separately).
  • To add localized information for both country and language, create 2 secondary data feeds: one for language and one for country. You can include multiple languages in the language feed and multiple countries in the country feed. If you have a large catalog (over 100k items) and want to localize for multiple countries or languages, create one data feed per language or country.
  • If you're creating a language feed and a country feed, you must add each field to one feed or the other, not both.
  • For products (ecommerce), we recommend that you include title and description in your language feed and include price, sale_price, sale_price_effective_date, availability, and link in your country feed. If you want, you can use our secondary language CSV template or secondary country CSV template.

See also

Step 1: Create Language and Country Feeds

Feed Types

You can provide localized properties for your catalog items, using additional types of feeds.

Feed TypeDescriptionExample

Country Feed

Contains overrides for specified countries. You can create and upload country feeds using the Commerce Manager or via the API. See supported feed format.

An item can have different prices in different countries.

Language Feed

Contains translations for specific fields. You can create and upload language feeds using the Commerce Manager or via the API. See supported feed format.

An item can have different descriptions in different languages.

Language and Country Feed

Intended for advanced use cases where a country feed or language feed is not enough to describe the localization of your items. A language and country feed should only be used for fields that are absolutely necessary.


You can only create a language and country feed via the API, but you can modify and upload the feed from the Commerce Manager or via the API. The Commerce Manager provides details about each country and language setup.


Note: To localize a field for both language and country, the value in the override column should be a supported ISO language codeand a supported ISO country code, separated by a '|' character.'

Example 1 - Your product URLs may depend on both the viewer language and country.

Example 2 - You might define prices in a country feed, product names in a language feed, and URLs in a 'language and country' feed. You can define localized fields for a limit of 350 language and country pairs, per catalog item.

Feed Formats

Country Feed

Example CSV — This feed contains country localizations for the United Kingdom (GB) and Italy (IT).

      
id; override; price; link; delete
FB_product_1234; GB; 9.00 GBP; http://www.example.com/en_GB/FB_product_1234; false
FB_product_1234; IT; 10.49 EUR; http://www.example.com/it_IT/FB_product_1234; false
    

Language Feed

Example CSV — This feed contains language localizations for French (fr_XX) and English (en_XX).

      
id; override; description; title; delete
FB_product_1234; fr_XX; Le t-shirt American Apparel préféré de tous. Le t-shirt comporte une encolure ajustée de 3/4 pouce au cou, une bande épaule à épaule et un ourlet de 1 pouce sur les manches.; T-shirt Unisexe d'American Apparel; false
FB_product_1234; en_XX ; Everyone's favorite American Apparel T-shirt. The t-shirt features 3/4 inches set-in neck, shoulder to shoulder tape and 1 inch hem on sleeves.; American Apparel Unisex T-Shirt; false
    

Language and Country Feed

Example - This feed contains 'language and country' localizations for French speakers in the U.S. (fr_XX|US) and French speakers in Canada (fr_XX|CA).

id; override; url; delete
FB_product_1234; fr_XX|US; http://us.example.com/fr/product_1234; false
FB_product_1234; fr_XX|CA; http://ca.example.com/fr/product_1234; false

Step 2: Check Your Feed - Order of Precedence

When selecting which localized information to show to a user, we check the feed contents in this order:

  1. Language and country feed values for the user's spoken languages and home country
  2. Country feed values for user's home country
  3. Language feed values for the user's spoken languages

Step 3: Upload Language and Country Feeds

Once you created your feeds, you can choose to upload them manually via Commerce Manager or via the API, as shown below.

Upload the Feeds via the API

  1. Make your feeds available on your server.
  2. Link the feeds to your catalog, using an additional override_type parameter.

Language Feed

Example - Upload a Language Feed

curl \
  -F 'name=Language feed' \
  -F 'schedule={
    "interval": "DAILY",
    "url": "http:\/\/www.example.com\/sample_language_feed.tsv",
    "hour": 22
  }' \
	-F 'override_type=language'
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

Country Feed

Example — Upload a Country Feed

curl \
  -F 'name=Country Feed' \
  -F 'schedule={
    "interval": "DAILY",
    "url": "http:\/\/www.example.com\/sample_country_feed.tsv",
    "hour": 22
  }' \
	-F 'override_type=country'
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

Language and Country Feed

Example - Upload the language and country feed

curl \
  -F 'name=language and country Feed' \
  -F 'schedule={
        "interval": "DAILY",
        "url": "http:\/\/www.example.com\/sample_language_and_country_feed.tsv",
        "hour": 22
      }' \
  -F 'override_type=language_and_country'
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

Parameters

Parameter Value

url

Location where we can retrieve the feed file from

interval

Frequency at which we fetch the feed file

hour

Hour of the day (based on a 24-hr clock) when we fetch the feed

Step 4: Remove Country or Language Information for a Product (Optional)

To remove localized information from an item: 1. Specify a delete column in your country or language feed. 2. Set the value to true.

The localization for that product is then removed.

Step 5: Verify Your Setup in Commerce Manager

The Commerce Manager provides details about country and language fields information for each product in the Product > Details page.



You can also access the international coverage of your entire catalog in the Products tab > International Coverage. From here, you can see the number of products that have been updated with information per language and country.