Localized Catalog Setup

Overview

Use this guide to set up your localized catalog.

See also Localized Catalog for Instagram Shopping and Localized Catalog for Dynamic Ads.

How it Works

Your catalog is an object (or container) of information about your products and where you can upload your inventory.

Facebook provides localized catalog functionality, enabling you to set up your product catalog to sell ads or do Instagram Shopping in different countries. Localizing the currency, price, translated name, and description are common cases. You can also use this to navigate the customer to your country-specific website location.

Set Up Your Localized Catalog

Before You Start

We strongly recommend that you create your country feeds and/or language feeds (separately).

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

If you have a large catalog (over 100k items) and override in many countries/languages, we recommend that you create a feed per language/country; otherwise, join all countries data in one feed and all language information in second feed. We don't support override for all fields of a product item. You can override only specific fields.

We recommend the following fields to override for an ecommerce catalog:

  • Language feed: title, description
  • Country feed: price, sale_price, sale_price_start_date, sale_price_start_end, link

Step 1: Create Language and Country Feeds

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

  • A country feed contains overrides for specified countries. Example: An item may have different prices in different countries.
  • A language feed contains translations for specific fields. Example: An item may have different descriptions in different languages.
  • A 'language and country' feed is intended for advanced use cases where a country feed or language feed is not enough to describe the localization of your items. Example: Your product URLs may depend on both the viewer language and country (http://us.example.com/en/). A language and country feed should only be used for fields that are absolutely necessary. Example: 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.

See the list of supported languages and countries.

Feed Check - Order of Precedence

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

  • 'Language and country' feed values for the user's spoken languages and home country
  • Country feed values for user's home country
  • Language feed values for the user's spoken languages

Country Feed

A country feed contains overrides for specified countries. Example: An item can have different prices in different countries. Supported fields include price, sale_price, link. See Supported Fields, Reference.

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.exmaple.com/en_GB/FB_product_1234; false
FB_product_1234; IT; 10.49 EUR; http://www.exmaple.com/it_IT/FB_product_1234; false
    

Language Feed

A language feed overrides the translations for specific fields. Example: An item can have different descriptions in different languages. Supported fields include title, description. See Supported Fields, Reference.

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

A country-specific language feed is intended for advanced use cases where a country feed or language feed is not enough to describe the localization of your items. Example: Your product URLs may depend on both the viewer language and country (http://us.example.com/en/).

A country-specific language feed should only be used for fields that are absolutely necessary. Example: 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. See Supported Fields, Reference.

The value in the override column should be a supported language code, and a supported country code, separated by a '|' character.

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: Upload Language and Country Feeds

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

To upload the feeds via the API, you need to make your feeds available on your server. Then, 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

See the list of supported languages and countries. For options about scheduling fetches, see Set Up Feed, Schedule.

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

To remove localized information from an item, you will need to specify a delete column in your country or language feed, and set the value to true. The localization for that product is then removed.

Verify Your Setup in Catalog Manager

The Catalog 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.

Best Practices

  • Make sure that product images satisfy catalog requirements.
  • Make sure that product titles satisfy catalog requirements.
  • Make sure that product descriptions satisfy catalog requirements.