- A product catalog connects your inventory to Facebook's ad system and powers Dynamic Ads, Collection Ads, and Instagram Shopping.
- Every product needs seven required fields: id, title, description, price, link, image_link, and inventory.
- Facebook accepts CSV, TSV, RSS XML, ATOM XML, and Google Sheets as feed formats.
- Choose between a replace schedule (full refresh) and an update schedule (additions only) based on your inventory needs.
- After each upload, check Commerce Manager Diagnostics to catch fatal errors before they affect live campaigns.
- Coinis Image Ads auto-generates product creatives from a product URL, so your catalog goes from live to running ads fast.
Running Dynamic Ads without a product catalog is not possible. This guide walks you through every step, from structuring your data feed to validating products in Commerce Manager.
What is a Product Catalog and Why You Need One
Definition and purpose
A product catalog is a structured container of product information. You upload it to Facebook through Commerce Manager. It tells Facebook what you sell, how much each item costs, and where to send buyers.
Where catalogs are used
Per Meta's developer documentation, catalogs power four key surfaces: Dynamic Ads, Collection Ads, Instagram Shopping, and WhatsApp commerce. Dynamic Ads pull product data in real time and show the right item to the right person. No catalog means no dynamic retargeting.
Benefits for ecommerce advertisers
With a catalog, one creative template runs across thousands of products automatically. You don't build a separate ad per SKU. Facebook matches each product to each user based on browsing and purchase behavior.
---
Prerequisites Before You Start
Business Manager setup
You need an active Meta Business Manager account. Go to business.facebook.com and confirm your business details are complete. Unverified accounts have limited catalog access.
Commerce Manager access
Commerce Manager is where catalogs live. Access it at business.facebook.com/commerce. You need admin or catalog manager permissions on your Business Manager to create a new catalog.
Required permissions and policies
Your products must comply with Facebook Commerce Policies before upload. Policy violations cause items to be rejected and removed from Shopping surfaces and Dynamic Ads. Review the policies before you build your feed.
---
Step 1: Prepare Your Product Data Feed
Supported file formats
Meta's catalog accepts CSV, TSV, RSS XML, ATOM XML, and Google Sheets. CSV and TSV are the most common for ecommerce stores. In CSV files, any field containing commas or whitespace must be wrapped in double quotes.
Essential fields
Every product row needs these seven fields. Miss any one and Facebook rejects the item entirely.
- id — a unique identifier per SKU
- title — the product name
- description — plain text only, no HTML tags or character entities
- price — include currency directly (e.g., "29.99 USD")
- link — the product page URL, which must return an HTTP 200 response
- image_link — a direct URL to the main product image
- inventory — current stock count
Recommended fields
Per Meta's best practices documentation, these fields are not required but improve ad performance and catalog matching:
- GTIN or MPN + brand — product identifiers that help Meta match and verify items
- availability — in stock, out of stock, or preorder
- sale_price — the promotional price when items are discounted
- google_product_category — at minimum two levels deep
Product variants and item_group_id
Variants such as different sizes or colors of the same product need a shared `item_group_id`. Every SKU in the group gets its own row in the feed, including out-of-stock sizes. This keeps your catalog accurate and prevents duplicate product cards in Dynamic Ads.
---
Step 2: Choose Your Product Categories
Google Product Category vs Facebook Product Category
Facebook supports two category systems. Google Product Category (GPC) uses Google's taxonomy. Facebook Product Category (FPC) uses Facebook's own system. Use GPC as your primary choice. It is more widely recognized across Meta's ad infrastructure.
Why categories matter for discoverability and tax
Per Meta's product categories documentation, categories affect more than just organization. They influence tax calculations, size requirements for apparel in the US, and product discoverability across ad surfaces. Choosing a vague top-level category reduces those benefits significantly.
How to assign categories to products
Add the `google_product_category` field to every row in your feed. Go at minimum two levels deep. "Apparel" alone is not enough. "Apparel & Accessories > Clothing > Shirts" gives Meta far more context to place and optimize your ads.
---
Step 3: Upload Your Catalog in Commerce Manager
Creating a new E-Commerce catalog
Open Commerce Manager. Click "Add Catalog." Choose "E-Commerce" as your catalog type. Name it clearly, ideally matching your store or product line. Connect it to your Business Manager before proceeding.
Uploading your feed file (manual or scheduled)
You have two options. Manual upload: load your file directly. This works well for testing or small, infrequently changing catalogs. Scheduled fetch: give Facebook a public URL to your feed file. Facebook fetches it on the schedule you set. Most stores use scheduled fetching for ongoing accuracy.
Setting up replace vs update schedules
Facebook supports two strategies. A replace schedule removes all items not present in the new feed upload, giving you a clean full refresh. An update schedule adds and updates items without deleting anything. Most businesses run a daily replace schedule for full accuracy, with more frequent update schedules to catch inventory changes between full refreshes.
When to use Batch API for real-time updates
Scheduled feeds support a minimum frequency of once per hour. For real-time inventory changes (flash sales, items selling out fast), the Catalog Batch API handles near-instant updates. If you're not a developer, coordinate with your tech team to set this up. For most stores, a daily replace schedule with an hourly update schedule is enough.
---
Step 4: Validate and Monitor Your Catalog
Check for upload errors and warnings
After every feed upload, Facebook generates a report inside Commerce Manager. It separates issues into errors (fatal) and warnings (non-fatal). Fatal errors mean the product was rejected and will not appear in any ad surface. Warnings flag missing recommended fields.
Use Diagnostics to identify issues
The Diagnostics tab in Commerce Manager shows exactly which items failed and the specific reason for each rejection. Check it after every upload. Do not launch catalog-based campaigns until you have resolved fatal errors.
Fix fatal errors and address warnings
Fatal errors must be resolved before your products go live. Broken product links, missing required fields, and incorrectly formatted prices all result in rejections. Warnings are optional but worth addressing. Missing GTINs, for example, limit catalog matching accuracy and can reduce Dynamic Ad reach.
Verify product compliance with Facebook policies
Products that violate Facebook Commerce Policies are marked as rejected and removed from Shopping, Dynamic Ads, and Instagram Shopping. Review your product descriptions (plain text only), images, and categories against Meta's current policies before each upload cycle.
---
Best Practices for Catalog Success
Ensure field visibility and data accuracy
Incomplete or stale data hurts ad delivery. Every product should have all required and recommended fields populated. Pricing and availability must reflect what's on your site at all times.
Use up to 10 product images per item
Facebook's catalog supports multiple images per product. Use additional image fields to show different angles, colors, or product contexts. More images give Dynamic Ads more creative variety to test against audiences.
Schedule feeds daily for inventory updates
A once-daily replace schedule keeps your catalog in sync with your store. If you run frequent promotions or experience high stock turnover, run update schedules more often or lean on the Batch API for critical inventory fields.
Regularly audit for policy violations
Commerce Policies change over time. Run periodic checks of your Diagnostics tab. Catch rejected items early so they don't quietly disappear from active campaigns.
---
How Coinis Helps You Create Product Ads Faster
Your catalog is live. Now you need creatives that match your products and stop the scroll.
Image Ads: Auto-generate creatives from your catalog products
Coinis Image Ads generates product ad creatives from a product URL in seconds. Paste a URL. The AI reads your product data and builds an ad image sized and formatted for Meta placements. No design work. No waiting on an agency.
Brand Profile: Maintain consistent messaging across all product ads
Brand Profile learns your brand voice, color palette, and tone. Every ad Coinis generates stays on-brand automatically. One setup. Consistent messaging across every product in your catalog, at scale.
Campaign Launcher: Set up campaigns with your catalog data
Once your creatives are ready, Campaign Launcher connects them to a Meta campaign. Set your audience, budget, and placements. Publish directly to Facebook and Instagram without leaving the platform.
---
Or let Coinis do it.
From a product URL to a live Meta campaign. AI-generated creatives. On-brand copy. Direct publish to Facebook and Instagram. Real performance reporting. All in one platform.
Start free. Upgrade when you're ready.
15 AI tokens a month. No credit card.
Frequently Asked Questions
What are the required fields for a Facebook product catalog?
Every product needs seven required fields: id (unique SKU identifier), title, description (plain text only), price (with currency code, e.g., '29.99 USD'), link (must return HTTP 200), image_link, and inventory. Missing any of these causes Facebook to reject the item entirely.
What is the difference between a replace schedule and an update schedule?
A replace schedule removes any product not included in the new feed upload, giving you a full catalog refresh. An update schedule only adds or updates items without deleting anything. Most stores use a daily replace schedule for accuracy and more frequent update schedules to capture inventory changes between full refreshes.
How often can I schedule my Facebook product catalog feed to update?
Scheduled feeds support a minimum frequency of once per hour. For near-real-time updates (such as fast-selling inventory or flash sale prices), Meta's Catalog Batch API and Direct Upload API support faster changes outside the scheduled fetch cycle.
Why are my catalog products being rejected by Facebook?
Rejections most commonly come from policy violations, missing required fields, broken product page links (not returning HTTP 200), incorrectly formatted prices, or HTML tags in product descriptions. Check the Diagnostics tab in Commerce Manager after each upload to see the specific rejection reason for each product.