Destinations

Facebook Shops product feed setup and field mapping guide

Complete technical reference for configuring product feeds in Facebook Shops, covering all required and optional fields, data requirements, and practical optimisation strategies.

11 min read Updated 5 Jul 2026

No results found

Try different keywords or browse all help articles.

    What is Facebook Shops and why use a product feed?

    Facebook Shops is a storefront feature that allows merchants to sell products directly through Facebook and Instagram. Instead of sending customers to an external website, you can display a catalogue of items within the social platform itself. A product feed is the mechanism that powers this catalogue. You upload structured product data, and Facebook uses it to populate your shop, enable search and discovery, and support checkout features.

    Merchants use Facebook Shops to increase sales within the social ecosystem where customers already spend time. The feed is essential because it determines what products appear, how they display, and whether they're eligible for various advertising and discovery features. Without a properly configured feed, your products may not appear at all, or they may be rejected during approval.

    Core product identification fields

    These fields establish what a product is and how Facebook identifies it uniquely in your catalogue.

    id: A unique identifier for each product variant. This must be distinct for every SKU or variation you sell. Facebook uses this to track inventory, prevent duplicate listings, and match products across multiple data sources. If two rows have the same id, Facebook treats them as the same product and overwrites the earlier record. Use alphanumeric codes that don't change between feed updates. If your id values shift, Facebook may lose sales history and customer reviews attached to those products.

    title: The product name displayed in search results and on product cards. Keep titles between 50 and 100 characters for optimal display on mobile devices. Include the main product name and primary variant (for example, 'Wool Blend Winter Coat - Navy Blue' rather than just 'Coat'). Titles that are too vague or truncated hurt discoverability. Avoid keyword stuffing or special characters that don't belong in natural product names.

    description: A longer narrative of the product. This field supports up to 5,000 characters and appears on the product detail page. Use it to explain features, materials, fit, care instructions, and any other information that helps customers make a purchase decision. Well-written descriptions reduce return rates and cart abandonment. Include relevant keywords naturally, but prioritise clarity over search optimisation.

    product_type: Your internal categorisation of the product. This can be a multi-level taxonomy (for example, 'Clothing > Outerwear > Coats'). Facebook does not enforce a specific format here, so use whatever structure makes sense for your business. This field helps you organise your catalogue and can be used in custom reporting.

    item_group_id: Groups related product variants under a single logical product. For example, if you sell a shirt in multiple colours and sizes, each variant gets its own id and row in the feed, but all rows share the same item_group_id. This allows customers to select colour and size on a single product page rather than viewing each combination as a separate item. Omitting this field when you have variants causes Facebook to display each combination as a standalone product, cluttering the shop and fragmenting customer reviews.

    Essential product attributes

    These fields describe what the product is and what condition it is in.

    brand: The manufacturer or brand name. This field is optional but strongly recommended. Customers often filter by brand, and including it improves searchability. Use the official brand name as it appears on packaging or marketing materials.

    condition: The state of the product: new, refurbished, or used. Facebook requires this field for all products. If you omit it, Facebook assumes 'new', which may result in rejection if your product is actually used or refurbished. Misrepresenting condition violates Facebook's policies and can lead to account suspension.

    gtin: The Global Trade Item Number (barcode number). This 8, 12, 13, or 14 digit code uniquely identifies a product at the global level. Include this if your product has one. Facebook uses GTIN to match your products against its own product database, enabling automatic enrichment of product data (such as images or reviews from other sellers). If you provide a GTIN, Facebook can also detect duplicate listings across your catalogue and flag data quality issues.

    mpn: The manufacturer part number. Use this if your product does not have a GTIN or if the MPN is more specific to your product variant. Facebook uses MPN alongside GTIN to identify products. Providing either GTIN or MPN (ideally both) significantly improves Facebook's ability to match your products to its internal database and surface them in relevant searches.

    Pricing and availability

    These fields control whether a product is buyable and at what price.

    price: The current selling price. Express this as a decimal number without currency symbols (for example, '29.99'). Facebook infers the currency from your shop settings. This is a required field. If omitted, the product is rejected. Price must be greater than zero and should match what you actually charge customers. Mismatched prices confuse customers and harm trust.

    sale_price: A temporary discounted price. Use this when running a promotion. If you provide sale_price, you must also provide sale_price_effective_date to specify when the promotion runs. Sale price must be lower than the regular price. Facebook displays both the original and sale price, allowing customers to see the discount. Omit this field if there is no active promotion.

    sale_price_effective_date: The date range during which the sale_price applies. Format this as 'YYYY-MM-DDTHH:MM:SS/YYYY-MM-DDTHH:MM:SS' (for example, '2024-01-15T00:00:00/2024-01-31T23:59:59'). Facebook removes the sale price from your listing once this period ends. If you provide sale_price without this field, Facebook may reject the product or apply the sale price indefinitely.

    availability: Whether the product is in stock. Accepted values are 'in stock', 'out of stock', and 'preorder'. This field is required. If a product is out of stock, customers cannot purchase it through Facebook Shops, but it remains visible in search results (marked as unavailable). Keeping your feed availability in sync with your actual inventory is crucial. If you mark items as in stock when they are not, customers experience checkout errors and frustration.

    Visual and descriptive attributes

    These fields help customers understand what the product looks like and whether it suits their needs.

    image_link: The URL of the primary product image. This is a required field. The image must be at least 100 x 100 pixels, though 800 x 800 pixels or larger is recommended for a sharp appearance on mobile devices. The URL must be publicly accessible and must not require authentication. Broken or slow-loading image links cause products to be rejected or appear without images. Use HTTPS URLs only. Test every image_link URL before uploading your feed.

    additional_image_link: Extra product images beyond the primary one. Provide up to 10 additional images as a comma-separated list of URLs. Multiple images help customers see the product from different angles and in different contexts, reducing purchase hesitation. If you have lifestyle images, flat-lay photos, or detail shots, include them here.

    color: The primary colour of the product. Use common colour names ('red', 'blue', 'navy', 'burgundy'). Avoid vague terms like 'multi' unless the product is genuinely multi-coloured. Customers often filter by colour, so being specific improves discoverability.

    size: The product size. Format depends on your product type. For clothing, use standard sizes ('XS', 'S', 'M', 'L', 'XL'). For shoes, use shoe sizes ('7', '8', '9'). For other products, use whatever unit makes sense ('small', 'medium', 'large' or specific dimensions). If you have multiple sizes, use item_group_id to group them under one product.

    size_type: Clarifies what kind of size you are using. Values include 'regular', 'petite', 'plus', 'big and tall', and 'maternity'. This helps customers find sizes appropriate to their body type.

    size_system: The standardisation system for your size. Common values are 'US', 'EU', 'UK', 'JP', 'AU', 'CN', 'IT', 'BR', 'MEX'. This is particularly important for clothing and shoes, where sizing varies by region. If you sell internationally, include this field to avoid confusion.

    shoe_width: For footwear, specify the width. Values include 'standard', 'narrow', 'medium', 'wide', and 'x-wide'. Include this if your shoes come in multiple widths.

    age_group: The intended age group for the product. Accepted values are 'newborn', 'infant', 'toddler', 'kids', 'teen', and 'adult'. This helps Facebook apply age-appropriate restrictions and show products to relevant audiences.

    gender: The gender the product is marketed toward. Values are 'male', 'female', 'unisex'. Use 'unisex' if the product is not gender-specific.

    material: What the product is made from. Examples include 'cotton', 'polyester', 'leather', 'wool', 'silk'. If your product uses multiple materials, list the primary one or use a comma-separated list.

    pattern: The surface pattern or design. Examples include 'solid', 'striped', 'floral', 'plaid', 'abstract'. This helps customers search for specific visual styles.

    style: The aesthetic category. Examples include 'casual', 'formal', 'sporty', 'bohemian', 'minimalist'. Use terms that reflect how your product is marketed.

    additional_features: Any other distinguishing characteristics not covered by other fields. Examples include 'waterproof', 'machine washable', 'adjustable strap', 'wireless'. Use a comma-separated list if there are multiple features.

    Shipping and logistics

    These fields provide information about delivery.

    link: The URL to the product page on your website. This is a required field. When customers click 'View on Website' in your shop, they are sent here. The link must be publicly accessible and must lead to the specific product (not a category page or homepage). If the link is broken or goes to the wrong page, customers cannot complete purchases and may leave negative reviews.

    shipping: Shipping costs and delivery details. Format this as 'country:region:service:price:currency' (for example, 'US::Standard:5.00:USD'). You can provide multiple shipping options as a comma-separated list. If you do not provide shipping information, Facebook uses your shop's default shipping settings. Including detailed shipping information reduces cart abandonment because customers know costs upfront.

    shipping_weight: The weight of the product. Format as a decimal followed by a unit abbreviation (for example, '2.5 kg' or '5.5 lbs'). Shipping carriers use this to calculate costs. If omitted, your shipping cost estimates may be inaccurate.

    Product categorisation and organisation

    fb_product_category: Facebook's own product category taxonomy. Use Facebook's predefined categories (for example, 'Apparel & Accessories > Clothing > Coats & Jackets'). Facebook provides a complete list of valid categories. Using the correct category helps Facebook surface your products in relevant searches and filter options. If you use an invalid or vague category, your products may not appear in category-based searches.

    Custom fields and metadata

    Facebook allows up to five custom label fields for your own internal use.

    custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4: Use these to tag products with your own metadata. Examples include profit margin tier ('high', 'medium', 'low'), seasonal classification ('summer', 'winter'), supplier, or internal product family. These fields are not visible to customers but can be used in Facebook's reporting and filtering tools. They are optional but useful for managing large catalogues.

    Expiration and time-based controls

    expiration_date: The date after which the product should no longer be available. Format this as 'YYYY-MM-DD' (for example, '2024-12-31'). Use this for limited-edition items, seasonal products, or items with a shelf life. Once this date passes, Facebook automatically removes the product from your shop. If omitted, the product remains available indefinitely.

    Practical feed setup and optimisation

    When creating your feed, start by mapping your internal product database to Facebook's field requirements. Every product must have id, title, description, availability, condition, price, link, and image_link. These eight fields are non-negotiable. Without them, Facebook rejects the entire product.

    Next, add as many optional fields as possible. GTIN and MPN are especially valuable because they enable Facebook to match your products to its internal database, automatically enriching your listings with additional data and reviews. Brand, condition, and colour are important for customer filtering and search. Size and size_system are essential if you sell apparel or footwear.

    Test your feed before going live. Use Facebook's feed validation tool to check for syntax errors, broken image links, and missing required fields. Download a sample of your feed and manually verify that a few products look correct in your shop. Check that prices are accurate, images load quickly, and links go to the right pages.

    Keep your feed up to date. If you change prices, add new products, or run out of stock, update your feed and re-upload it to Facebook. Stale data frustrates customers and damages your shop's credibility. Set up automated feed updates if possible, ideally daily or weekly depending on how often your inventory changes.

    Monitor your feed quality score in Facebook Business Manager. Facebook assigns a quality score based on data completeness, errors, and customer feedback. Products with missing images, broken links, or mismatched prices receive lower scores. Over time, low-quality products are deprioritised in search results. Use the quality score dashboard to identify problematic products and fix them.

    Use custom labels strategically. If you have a large catalogue, tag products by margin, supplier, or product line. This allows you to run targeted promotions, adjust prices by category, or analyse performance by segment without having to edit individual products.

    Consider your category taxonomy carefully. If you sell a diverse range of products, use fb_product_category to organise them logically. Customers browse categories, so clear categorisation improves navigation and discoverability.

    Summary

    Facebook Shops product feeds require careful attention to data quality and completeness. The eight core required fields (id, title, description, availability, condition, price, link, image_link) must be present and accurate for any product to appear in your shop. Beyond these, optional fields like GTIN, MPN, brand, size, and colour significantly improve searchability and customer experience. Use item_group_id to group variants, provide multiple images, and keep your feed updated regularly. Test your feed before going live, monitor quality scores, and use custom labels to manage large catalogues efficiently. A well-structured feed is the foundation of a successful Facebook Shop.