What is the Facebook Ads Product Feed?
The Facebook Ads product feed is a data file that syncs your product inventory with Facebook's advertising and commerce systems. When you connect a product feed to Facebook Ads, you enable dynamic product ads, catalogue-based targeting, and inventory synchronisation across Facebook, Instagram, Audience Network, and Messenger.
Merchants use this feed to automate ad creation at scale. Rather than building individual ads for each product, you upload product data once, and Facebook generates ads dynamically based on user behaviour and catalogue rules. This approach reduces manual work, improves inventory accuracy, and helps you reach customers with relevant products.
Facebook reviews your feed data during catalogue creation and ongoing sync. Products that fail data validation or violate policies are excluded from ads, reducing your available inventory for targeting and retargeting campaigns.
Core Required Fields
These fields are mandatory for every product in your feed.
id
A unique identifier for each product SKU or variant. This field must be consistent across every sync and cannot change without breaking product history and performance data. Use your internal SKU or a stable product identifier that survives inventory updates.
If you have product variants (colour, size, material), create a separate row for each combination with a unique id. Do not use the parent product id for all variants; Facebook treats each id as a distinct product.
title
The product name displayed in ads. Keep it under 100 characters and include key attributes that buyers search for: brand, product type, and primary colour or size if relevant.
Titles that are vague ('Item'), all caps, or stuffed with keywords are rejected or de-ranked by Facebook's review system. Use natural language: 'Blue Cotton T-Shirt' instead of 'BLUE TSHIRT COTTON CHEAP SALE'.
description
A short product summary (up to 5,000 characters). Include material, care instructions, fit notes, or key features. This text appears in some ad formats and helps Facebook understand what you sell.
Descriptions must be accurate and honest. Misleading claims, false scarcity language ('Only 2 left'), or promotional text ('Sale ends today') often trigger policy violations and cause product rejection.
price
The current selling price in your store's currency. Use the numeric value without currency symbols: '29.99' not '£29.99'.
Facebook compares price against availability and sale_price to detect inconsistencies. If price is significantly higher than sale_price or if price changes daily without a matching sale_price_effective_date, your products may be flagged as unreliable.
link
The full URL to the product page on your website. This must be a direct link to the specific product, not a category page or homepage.
If your link returns a 404 error, redirects to a different product, or is blocked to Facebook's crawler, the product is marked as 'link unavailable' and excluded from ads. Test links regularly, especially after site migrations or restructuring.
image_link
A direct URL to the product's main image. Use a high-quality image (at least 300 x 300 pixels, ideally 1200 x 1200 pixels or larger) that shows the product clearly against a simple background.
Images that are blurry, watermarked, or show only packaging are rejected. Facebook's system also rejects images with text overlays, price tags, or promotional badges. Ensure the image URL is publicly accessible and does not require authentication.
availability
Product stock status: 'in stock', 'out of stock', or 'preorder'. This field controls whether the product appears in ads and whether users can add it to cart.
If availability is 'out of stock' but link points to a page where the product is buyable, Facebook flags this as a mismatch and may suspend the product from ads until the discrepancy is resolved.
condition
Product state: 'new', 'refurbished', or 'used'. Most consumer products use 'new'. Used or refurbished items must be clearly labelled to comply with consumer protection rules.
If condition is 'used' or 'refurbished' but your product page does not disclose this, your catalogue may be rejected or suspended.
Identification and Classification Fields
These fields help Facebook and users identify and categorise your products.
brand
The manufacturer or brand name. Use the official brand name, not your store name or a generic term.
Brand is used for filtering in ads, catalogue management, and policy enforcement. Misrepresenting the brand (selling counterfeit products under a real brand name) is a serious violation and results in catalogue suspension.
gtin
Global Trade Item Number: EAN, UPC, or ISBN. This is a standardised barcode used worldwide to identify products.
Facebook uses gtin to detect duplicate products across multiple feeds and to verify product authenticity. If you provide a gtin that belongs to a different product, Facebook may merge or suppress your listing. If you do not have a gtin, leave this field empty; do not invent one.
mpn
Manufacturer Part Number: the product code assigned by the maker. This is often found on product packaging or the manufacturer's website.
mpn is less standardised than gtin but helps Facebook match your product to the real item. Like gtin, an incorrect mpn can cause product suppression or merging with competitors' listings.
google_product_category
Facebook uses Google's product taxonomy to classify items. Provide the full category path as a number, for example '3034' for 'Apparel & Accessories > Clothing > Shirts & Tops'.
Incorrect categorisation limits ad reach because your product may not appear in relevant audience segments or dynamic ad rules. Mismatched categories (labelling a shoe as 'Books', for example) trigger policy reviews.
product_type
Your own product categorisation. Use your internal taxonomy or store category structure.
This field is optional but useful for internal reporting and segmentation within your Facebook catalogue. It does not affect ad eligibility but helps you organise custom labels and rules.
Pricing and Promotion Fields
sale_price
A temporary or discounted price, lower than price. Include this only if the product is genuinely on sale.
Facebook compares sale_price against price and sale_price_effective_date to validate promotions. If sale_price is higher than price, or if sale_price is active without a valid effective date, the product may be flagged for policy review.
sale_price_effective_date
The date range during which sale_price is valid, formatted as 'YYYY-MM-DDTHH:MM:SS/YYYY-MM-DDTHH:MM:SS'.
If you include sale_price but omit this field, Facebook assumes the sale is permanent and may suppress the product after a few weeks, treating it as a pricing error. Always pair sale_price with an explicit end date.
Inventory and Availability Fields
inventory
The number of units in stock. Provide an integer (no decimals or commas).
Facebook uses this to show stock indicators in ads and to prevent overselling in commerce integrations. If inventory is 0, set availability to 'out of stock' as well. Mismatches between inventory and availability cause product suppression.
Grouping and Variant Fields
item_group_id
A shared identifier for product variants (different colours, sizes, or materials of the same base item). All variants of one product should have the same item_group_id but unique id values.
Facebook uses item_group_id to group variants in dynamic ads, showing users a single carousel ad with multiple colour or size options. Without item_group_id, each variant appears as a separate product, cluttering ads and reducing relevance.
color
The primary colour of the product. Use a single, simple colour name: 'Red', 'Blue', 'Black', not 'Crimson' or 'Navy Blue'.
This field enables colour-based filtering and variant grouping in ads. If you sell the same item in multiple colours, use colour to differentiate variants within the same item_group_id.
size
The product size. Use standard sizing: 'S', 'M', 'L', 'XL' for clothing, or numeric dimensions like '10 cm' or '42 inches'.
Size is used for dynamic ad personalisation and inventory management. Inconsistent or unclear sizes (mixing 'Medium' and 'M', or omitting units) reduce ad performance.
gender
The intended audience: 'Male', 'Female', or 'Unisex'. Use only if the product is explicitly designed for one gender.
Misusing this field (labelling a unisex item as 'Female' to target women) may trigger policy violations. Leave blank if the product is not gender-specific.
age_group
Intended age range: 'Newborn', 'Infant', 'Toddler', 'Kids', 'Adult', or 'Senior'. Use only if relevant.
Facebook enforces age-appropriate advertising rules. Labelling an adult product as 'Kids' violates policy and results in catalogue suspension.
material
The primary material: 'Cotton', 'Polyester', 'Leather', 'Wood', etc.
This helps users filter by material preference in dynamic ads and supports product discovery for buyers with allergies or preferences.
pattern
The design pattern: 'Solid', 'Striped', 'Floral', 'Geometric', etc.
Like material and colour, pattern enables variant differentiation and user filtering.
Media and Additional Content Fields
additional_image_link
URLs to extra product images beyond the main image_link. Provide up to 10 additional images as a comma-separated list.
Multiple images improve ad performance and reduce return rates. Ensure all images meet the same quality and accessibility standards as the main image_link.
Shipping and Logistics Fields
shipping
Shipping cost and destination, formatted as 'country:region:cost:currency' (for example, 'US:CA:5.99:USD'). Provide multiple rows if shipping varies by region.
Facebook displays shipping costs in ads and checkout. Omitting shipping or providing inaccurate costs causes checkout friction and may trigger policy review if customers encounter unexpected fees.
shipping_weight
Product weight used for shipping calculations, formatted as 'value unit' (for example, '2.5 kg' or '5 lb').
Use consistent units across all products. Incorrect weight leads to shipping cost miscalculations and customer complaints.
Expiration and Lifecycle Fields
expiration_date
The date after which the product should no longer appear in ads, formatted as 'YYYY-MM-DD'. Use this for seasonal items, limited editions, or products being discontinued.
After the expiration_date, Facebook automatically removes the product from ads and catalogues. Omitting this field for seasonal items means old inventory remains in ads after the season ends.
Custom Labels and Segmentation
custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4
Five optional fields for your own product attributes or business logic. Use these to segment products for reporting, rule-based ads, or internal analysis.
Examples: custom_label_0 for 'High Margin', custom_label_1 for 'Clearance', custom_label_2 for 'Bestseller'. You can then create ad rules in Facebook that target only products with specific custom_label values.
Practical Feed Optimisation Guidance
Data Quality and Validation
Before uploading, validate your feed against Facebook's requirements. Check that every product has a valid id, title, description, price, link, image_link, availability, and condition. Missing or malformed data in these fields causes products to be rejected during catalogue creation or sync.
Test your links and images. Open each link in a browser and confirm it points to the correct product page. Download each image and verify it displays correctly. Broken links and inaccessible images are the most common reasons for product suppression after upload.
Use consistent formatting for all fields. Currency symbols, whitespace, and special characters must be uniform across the entire feed. Inconsistent formatting can cause parsing errors or policy violations.
Matching Products to Real-World Items
Provide accurate gtin and mpn values. If you source products from multiple suppliers, verify that the gtin and mpn match the physical product you are selling. Mismatched identifiers confuse Facebook's matching system and can result in product suppression or merging with competitors' listings.
If you do not have a gtin, leave it blank rather than inventing one. Facebook prefers no gtin to an incorrect one.
Pricing Consistency
Ensure price matches the price shown on your website. If your website price changes hourly or varies by region, sync your feed at least daily and use a price that is valid at the time of sync.
If you offer sale prices, always include sale_price_effective_date. Without it, Facebook treats the sale as permanent and may suppress the product after a few weeks.
Variant Management
If you sell products in multiple colours, sizes, or materials, create a separate row for each variant with a unique id. Use item_group_id to group all variants of the same base product. Include colour, size, material, and pattern fields to help Facebook and users distinguish variants.
Do not create a single 'parent' product row without variants. Facebook expects each row to represent a distinct, purchasable item.
Image Optimisation
Use high-quality images that clearly show the product. Avoid watermarks, text overlays, price tags, or promotional badges. Ensure the background is simple and the product is well-lit.
Provide multiple images via additional_image_link. Products with 3 or more images have higher click-through rates and lower return rates.
Category and Classification Accuracy
Research the correct google_product_category for each product. Use Google's official taxonomy, not a guess. Miscategorised products have lower ad reach and may be flagged for policy review.
Use product_type to reflect your internal taxonomy, but keep it consistent across the feed. Do not use product_type as a marketing field; use it for segmentation and reporting.
Compliance and Policy
Ensure your product descriptions are accurate and honest. Do not use false scarcity language, misleading claims, or promotional text that belongs in ad copy, not product data.
If you sell used or refurbished items, clearly label condition as 'used' or 'refurbished' and ensure your product page discloses the condition. Mislabelling used items as 'new' violates consumer protection laws and Facebook policy.
Verify that you have the right to sell products under the brand names you provide. Selling counterfeit or unauthorised products results in catalogue suspension and account penalties.
Monitoring and Maintenance
After upload, review Facebook's catalogue diagnostics. Look for products with 'Limited Distribution' or 'Disapproved' status and check the provided error messages.
Sync your feed regularly (at least weekly, ideally daily) to keep inventory and prices current. Stale inventory data causes overselling and customer dissatisfaction.
Summary
The Facebook Ads product feed is the foundation of dynamic advertising and commerce on Facebook's platforms. Accurate, complete, and compliant product data directly affects your ad reach, approval status, and campaign performance.
Focus on the core required fields first: id, title, description, price, link, image_link, availability, and condition. These fields are mandatory and must be accurate to pass catalogue review.
Then add identification fields like brand, gtin, and google_product_category to help Facebook match and classify your products correctly.
For products with variants, use item_group_id, colour, size, material, and pattern to group and differentiate options within a single carousel ad.
Validate your feed before upload, test links and images, and monitor catalogue diagnostics after sync. Regular maintenance and compliance with Facebook's policies ensure your products remain active in ads and commerce features.