Learn the required fields, format specifications, and optimization strategies for Facebook/Meta Catalog feeds.
A Facebook Catalog (also known as a Meta Catalog) is a structured data container that holds information about your products for use across the Meta ecosystem, including Facebook Shop, Instagram Shopping, Marketplace, dynamic ads, and Advantage+ catalog campaigns. The catalog is managed through Meta Commerce Manager and serves as the single source of truth for all product information displayed on Meta platforms. Each product in your catalog is defined by a set of attributes such as title, description, price, availability, image URL, and a unique content ID. Meta uses this data to automatically generate personalized product ads and shopping experiences for users across Facebook, Instagram, Messenger, and the Audience Network.
Optimizing your Facebook Catalog is essential for maximizing the performance of your shopping campaigns and dynamic retargeting ads. Meta's ad delivery system relies heavily on the quality of your product data to match the right products with the right audiences. Products with compelling images, accurate titles, detailed descriptions, and complete attribute coverage consistently achieve higher click-through rates and lower cost per acquisition. The catalog also powers your Facebook Shop and Instagram Shop storefronts, making product data quality directly visible to potential customers browsing your brand's social commerce presence. A well-maintained catalog improves your eligibility for features like product tagging in posts, shopping in Reels, and live shopping events.
Meta Commerce Manager supports multiple methods for populating your catalog: manual CSV or TSV file uploads, scheduled feed fetches from a hosted URL, direct integration via the Meta Catalog Batch API, and partner platform integrations with Shopify, WooCommerce, and other e-commerce platforms. For most mid-to-large retailers, a scheduled CSV feed fetch provides the best balance of simplicity and control. Your feed should be updated at least once every 24 hours, though Meta allows hourly fetches for stores with frequently changing inventory. Maintaining accurate pricing and availability data is critical, as Meta enforces strict commerce policies and may disable your shop or reject ads if significant mismatches are detected between your catalog data and your website.
Required and optional fields for your product feed
Key structural rules and formatting requirements for this feed type
Your feed must be a valid CSV file with the first row containing column headers that match Meta's supported attribute names. Each subsequent row represents one product. Fields containing commas, quotes, or newlines must be enclosed in double quotes. The file encoding must be UTF-8 to support special characters and international text. TSV (tab-separated values) and XML (RSS/Atom) formats are also accepted as alternatives.
The availability field only accepts the following values: in stock, out of stock, available for order, discontinued, and preorder. The condition field accepts: new, refurbished, and used. Note that Meta uses spaces in availability values (in stock) while Google uses underscores (in_stock). Submitting incorrect values will cause products to be rejected from your catalog.
All price fields (price, sale_price) must include the ISO 4217 currency code. The format should be the numeric value followed by a space and the three-letter currency code. The currency must be supported in the country where your Commerce Manager account is registered. Alternatively, you can use the format with the currency code first (EUR 149.95), though the trailing format is more commonly used.
Each product in your catalog must have a unique id that remains consistent across feed updates. The id is used by Meta to track product performance, build retargeting audiences, and maintain catalog history. Changing product IDs causes Meta to treat them as new products, losing all associated performance data, pixel events, and dynamic ad optimization history. Use your internal SKU or a stable product identifier.
When selling products in multiple sizes, colors, or styles, each variant must have a unique id but share the same item_group_id. This enables Meta to group variants together in your Facebook and Instagram Shops, displaying them as a single product with selectable options. Each variant should have its own specific image, price, and variant attributes. The item_group_id is essential for proper catalog structure and enables variant-level reporting in Commerce Manager.
Proven strategies to improve your feed performance and product visibility
Meta's dynamic ads and Advantage+ catalog campaigns perform significantly better with engaging visual content. While your primary image should be a clean product shot, use the additional_image_link attribute to include lifestyle images showing the product in use. Instagram Shopping in particular benefits from lifestyle imagery that matches the aesthetic of organic content. Include up to 10 additional images per product, mixing product angles with in-context lifestyle shots.
Unlike Google Shopping where keyword-stuffed titles perform well, Meta platforms favor natural, readable titles that work in a social context. Keep titles concise and descriptive, leading with the brand and product name. Include key differentiators like color and size, but avoid excessive keyword repetition. Titles appear in dynamic ads, product tags, and shop listings, so they should read naturally when a user encounters them in their feed.
Create product sets in Commerce Manager to segment your catalog for different ad campaigns and audiences. Use filters based on product_type, custom_label, price range, brand, or availability to create dynamic product sets that automatically update as your catalog changes. This allows you to run targeted campaigns for specific product categories, price tiers, or promotional items without maintaining separate feeds.
The effectiveness of your catalog in dynamic ads depends on matching pixel events (ViewContent, AddToCart, Purchase) with your catalog product IDs. Ensure the content_id parameter in your pixel events exactly matches the id values in your catalog feed. Implement the Conversions API alongside the pixel for server-side event tracking, which improves match rates and is more resilient to browser restrictions on third-party cookies.
Schedule your feed to be fetched at least once daily, or more frequently if your inventory and pricing change often. Meta penalizes catalogs with stale data by reducing product visibility in dynamic ads and shopping surfaces. Use the catalog diagnostics in Commerce Manager to monitor data freshness. For real-time updates, consider using the Catalog Batch API to push changes immediately when prices or stock levels change.
Fill in as many optional attributes as possible, especially gender, age_group, color, size, material, and pattern. Meta uses these attributes to improve ad targeting and product discovery. Products with complete attribute data are more likely to be shown to relevant audiences and appear in category-based browsing in Facebook and Instagram Shops. Rich attributes also enable automatic product filters in your shop storefront.
Frequent feed issues and how to resolve them
Content ID mismatch between catalog and pixel events
Ensure the id values in your catalog feed exactly match the content_ids sent in your Meta Pixel and Conversions API events. This mismatch is the most common cause of poor dynamic ad performance. Audit your pixel implementation to verify that ViewContent, AddToCart, and Purchase events pass the same product identifiers used in your feed. Use the Events Manager Test Events tool and the Catalog Diagnostics to identify mismatches.
Product rejected due to missing or invalid image
Product images must be at least 500x500 pixels and accessible via a public HTTPS URL. Images cannot contain promotional text, watermarks, or placeholder graphics. Ensure your image URLs return a 200 HTTP status code and load within a reasonable time. If images are hosted behind a CDN with geographic restrictions, verify that Meta's crawlers can access them. Use the Commerce Manager diagnostics to identify specific image issues per product.
Price or availability mismatch with landing page
Meta actively crawls your product landing pages and compares the displayed price and availability against your catalog data. Significant mismatches can result in product rejection, ad disapproval, or even shop deactivation. Ensure your feed is updated frequently and that prices include any applicable taxes as displayed on your website. For products with regional pricing, use the override fields or ensure your landing page shows the correct price for the catalog's target country.
Feed upload fails due to formatting errors
Common CSV formatting issues include inconsistent column counts across rows, unescaped quotes within quoted fields, mixed line endings, and incorrect encoding. Validate your CSV file before upload using a CSV linter or by opening it in a spreadsheet application. Ensure the file is saved with UTF-8 encoding (with or without BOM). If fields contain HTML or special characters, properly escape them according to CSV conventions. Check the Data Sources error report in Commerce Manager for specific row and column error details.
Products not appearing in Facebook or Instagram Shop
Products may not appear in your shop if they violate Meta's commerce policies, are missing required attributes, or have not been reviewed yet. New catalogs and products undergo an initial review that can take up to 48 hours. Check the Commerce Manager Issues tab for specific policy violations. Ensure your shop is properly set up with a verified domain, active payment method (for checkout-enabled shops), and approved business verification. Products in the out of stock state are automatically hidden from shop listings.
Key metrics that indicate how well your product feed is performing
The percentage of pixel events (ViewContent, AddToCart, Purchase) that successfully match a product in your catalog. A healthy match rate is above 90%. Low match rates indicate a mismatch between your pixel content_ids and catalog product IDs, which severely impacts dynamic ad performance. Check the Events Manager and Catalog Diagnostics for match rate data.
Revenue generated per euro spent on catalog-based campaigns including Advantage+ catalog ads and dynamic retargeting. Typical ROAS for well-optimized Facebook catalog campaigns ranges from 300% to 700%, depending on industry and audience quality. Use product sets and custom labels to segment performance and allocate budget to the highest-performing product groups.
The average cost to generate one purchase through catalog-based campaigns. Monitor CPP at the product set level to identify which product categories deliver the best efficiency. Compare CPP across prospecting and retargeting campaigns to understand where your catalog data drives the most value. Lower CPP typically correlates with higher catalog data quality and better pixel match rates.
The percentage of products in your catalog that pass Meta's commerce policy review and are eligible to appear in ads and shops. Aim for an approval rate above 95%. Check the Commerce Manager Issues tab regularly to identify and resolve policy violations. Common rejection reasons include prohibited products, misleading descriptions, and landing page issues.
The percentage of ad impressions that result in clicks. For Advantage+ catalog campaigns, a healthy CTR ranges from 0.8% to 2.5%. Low CTR often indicates poor image quality, uncompetitive pricing, or irrelevant targeting. Test different creative formats (single image, carousel, collection) and optimize product images to improve CTR.
Step-by-step guide to creating and optimizing your product feed
Navigate to Meta Commerce Manager at business.facebook.com/commerce. Create a new catalog by selecting the E-commerce product type. Connect your Facebook Business Page and Instagram account to the catalog. Configure your business settings including shipping options, return policy, and customer service contact information. If you plan to use Facebook or Instagram Checkout, set up your payment provider and verify your business identity through Meta Business Verification.
Create a CSV file with all required columns: id, title, description, availability, condition, price, link, image_link, and brand. Ensure all product URLs use HTTPS and are publicly accessible. Format prices with the ISO 4217 currency code (e.g., 149.95 EUR). Use the accepted values for availability (in stock, out of stock, available for order) and condition (new, refurbished, used). Add optional attributes like color, size, gender, google_product_category, and additional_image_link to improve product discoverability. Upload the feed in Commerce Manager under Data Sources or provide a hosted URL for scheduled fetches.
Once your catalog is populated and products are approved, set up your Facebook and Instagram Shops through Commerce Manager. Organize products into collections for easy browsing. Install the Meta Pixel on your website and implement the Conversions API to track product views, add-to-cart events, and purchases with matching content_ids. Create an Advantage+ catalog campaign in Ads Manager, selecting your catalog and defining your audience. Use product sets to segment your catalog for different campaign objectives such as retargeting recent visitors or prospecting new customers with your best-selling products.
Download our comprehensive checklist to maximize your Facebook and Instagram Shopping performance. This guide covers every aspect of catalog optimization, from feed formatting and image requirements to dynamic ad setup and pixel integration strategies used by top-performing social commerce brands.
Common questions about Facebook/Meta Catalog product feeds
WisePIM automatically generates optimized product feeds for all major channels from your central product catalog.