Facebook Product Feed

You can specify whether to include products on a site when you configure the Facebook product feed.

Before you configure your Facebook feed, make sure your products are eligible. Products that meet the following criteria are eligible for Facebook feed.
  • Product is not:
    • A base product
    • A product bundle
    • A product set
    • An option product
  • Base product or variation is not disabled at the site level
  • Product is accessible from the storefront

To include or exclude a product from the product feed:

  1. Select site > Merchant Tools > Products and Catalogs > Products.
  2. Search for and select the product.
  3. To change the default for this product, click All Site Values.
  4. Specify the default value for this product for all sites.
  5. To change the default for this product on an individual site, unselect Use Default and select the value to use for that site.
  6. Click Apply.

The following fields can be included in the product feed for any item for sale on Facebook. The values in the Commerce Cloud Value column represent what is copied into your feed by default without custom code.

Note: Salesforce B2C Commerce doesn't upload an empty Facebook catalog feed export file. The Facebook export logs indicate when the catalog feed export job resulted in an empty file. An empty file can occur when no products are enabled for Facebook. Data from the catalog feed that is known to be invalid, for example, products missing a title, description, or images, are now included in the feed export file. The Facebook Business Manager product shows what data is missing from which products in the feed. The B2C Commerce export logs for the Facebook feed contain warnings about products missing data required by Facebook.
Note: To consistently import products, Facebook requires the quote (") characters in feed content, such as product names and descriptions, be doubled ("") and surrounded by single quotes. B2C Commerce automatically makes these changes for Facebook catalog feed exports.
Table 1. Catalog Feed
Facebook Column Commerce Cloud Value Description Required
id Product.getSKU() Unique identifier for this item Not customizable. Yes
availability

FacebookProduct.AVAILABILITY_PREORDER

FacebookProduct.AVAILABILITY_IN_STOCK

FacebookProduct.AVAILABILITY_IN_STOCK

Whether the item is in stock. Acceptable values are: in stock, out of stock, preorder, available for order, and discontinued. Yes
condition FacebookProduct.CONDITION_NEW Accepted values are new, refurbished, or used. Yes
description Product.getShortDescription() Falls back to base product value for variation product with null value. Line breaks, tab characters, and HTML tags are removed. Yes
image_link Product.getImageModel().getImages(viewType).get(0)

null

viewType is the configured product_image_view_type in the Facebook configuration. If there is no image_link, the product is excluded from the catalog feed. Yes
additional_image_link Product.getImageModel().getImages(viewType)

null

viewType is the configured product_image_view_type in the Facebook configuration. No
link Absolute URL to __SYSTEM__Facebook-ProductRedirect pipeline with parameter pid=Product.getSKU() Customer can customize the r parameter value, not the rest of the URL. Because an r parameter isn't provided by default, the redirect is to Cart-Show. Yes
title Product.getName() Falls back to base product value for variation product with null value. Yes
price Product.getPriceModel().getPrice().getValue()

null

The cost of the item and currency. Specify currency as the ISO 4217 currency code, for example, 9.99 USD. If the price is null, the product is excluded from the catalog feed. Yes
gtin Product.getUPC() The Global Trade Item Number (GTINs) can include UPC, EAN, JAN, and ISBN.

gtin, mpn, or brand is required.

Yes
mpn Product.getManufacturerSKU() The number which uniquely identifies the product to its manufacturer.

gtin, mpn, or brand is required.

Yes
brand Product.getBrand() The name of the brand.

gtin, mpn, or brand is required.

Yes
color Product.getVariationModel().getVariationValue(product, variationAttribute).getDisplayValue()

null

variationAttribute is the attribute with ID color_variation_attribute_id in the Facebook configuration. If color is null, the value is blank in the feed. No
size Product.getVariationModel().getVariationValue(product, variationAttribute).getDisplayValue()

null

variationAttribute is the attribute with ID size_variation_attribute_id in the Facebook configuration. If size is null, the value is blank in the feed. No
expiration_date Product.getValidTo() Expiration date of the product in the catalog. No
gender null Acceptable values are male, female, and unisex. No
item_group_id Product.getMasterProduct().getSKU()

null

If this item is a variation product, all items in a group should share an item_group_id. If null, the value is blank in the feed. No
google_product_category null Predefined values from Google's product taxonomy. For example, Apparel & Accessories > Clothing > Dresses. If null, the value is blank in feed. No
material Product.getVariationModel().getVariationValue(product, variationAttribute).getDisplayValue()

null

The material or fabric that a product is made out of. If null, the value is blank in the feed. No
pattern Product.getVariationModel().getVariationValue(product, variationAttribute).getDisplayValue()

null

The pattern or graphic print featured on a product. If null, the value is blank in the feed. No
product_type  

Category path from child of root to product category:

Mens>Clothing>Shorts

If product is assigned to root category, its name alone is used:

Apparel

No
sale_price null    
sale_price_effective_date null    
shipping null    
shipping_weight null    
shipping_size null    
custom_label_0 null    
custom_label_1 null    
custom_label_2 null    
custom_label_3 null    
custom_label_4 null