Facebook Shop Catalog Setup & Product Feed: 2026 Guide
Before your Facebook / Instagram Shop can sell anything, you need one thing in place: a product catalog with your items loaded into it. The catalog is the foundation of Meta's commerce stack — your Shop, your Advantage+ catalog ads (dynamic product ads), and Instagram product tags all read from the same catalog. This guide walks through how to build one in Commerce Manager in 2026, which of the four data sources to choose, what fields your feed needs, how to fix the errors that show up, and how to keep it all synced.
Important caveat: Meta's interface, field requirements, and policies change often. This article gives direction and mental models only — treat any specific field name, value, or threshold as guidance and confirm against the live prompts in your own Commerce Manager and the official docs. If you have not even set up Commerce Manager yet, start with the Meta Commerce Manager setup guide; if you have no Shop yet, see how to set up a Facebook Shop.
Step 1: create a catalog in Commerce Manager
Go to commerce.facebook.com (or reach Commerce Manager from Meta Business Suite under All Tools), choose to create a catalog, and pick the ecommerce / products type. Attach the catalog to your Business Manager rather than a personal account — that makes assigning permissions and linking ad accounts far smoother later. A business can hold several catalogs, but aim for one main catalog per store to avoid duplicate items and data that fights itself.
The four data sources: how items get into the catalog
A fresh catalog is an empty shell. You choose a data source to load products in. Meta offers roughly four routes, each with trade-offs:
| Method | Best for | Upside | Cost |
|---|---|---|---|
| Manual add | A handful of items that rarely change | Zero friction, live instantly | All by hand — editing price or stock item by item does not scale |
| Data feed (upload or scheduled fetch) | Hundreds to thousands of items, no direct connector | Controllable, bulk, can auto-fetch on a schedule | You maintain and host the CSV / XML file yourself |
| Partner platform (e.g. Shopify) | Sellers on a mainstream store platform | Least effort — formatting, scheduling, sync handled for you | Depends on the plugin; occasional field-mapping slips |
| Pixel (structured data) | Sites with clean Schema.org markup | Lets Meta read items straight off product pages | Advanced; misses items if page structured data is weak |
The right answer for most sellers: if you are on Shopify, WooCommerce, or a similar platform, use the partner connection (Data Sources > Connect ecommerce platform) — see connect Shopify to your Facebook / Instagram Shop for the steps. If you are on a custom site or a platform with no connector, use a scheduled data feed: host the feed file at a fixed URL and Meta fetches it on the cadence you set (daily, every few hours, or hourly).
Required product feed fields
Whether you build the feed by hand or generate it, each row is one product and the first row holds the column headers, which must match the attribute names Meta recognizes. Here are the core fields commonly required (confirm against the official docs):
| Field | Purpose | Common trap |
|---|---|---|
| id | Unique product identifier used to match on updates | Set it once and do not change it, or it reads as a new item |
| title | Product title | Do not stuff keywords — write it like a real product name |
| description | Product description | Do not leave it blank or drop in HTML tags |
| availability | Stock status | Only fixed values are accepted, e.g. in stock / out of stock |
| condition | Item condition | One of new / used / refurbished |
| price | Price | Must include the ISO currency code, e.g. 19.99 USD |
| link | Product detail page URL | Must be a live, reachable page, not a dead link |
| image_link | Main image URL | JPEG / PNG, at least 500x500 recommended |
| brand | Brand | Add it for multi-brand sellers; some categories need brand / GTIN / MPN |
Always include the three-letter currency code on price — Google can omit it, Facebook cannot — and it is the single most commonly missed item. Images do best square (1:1), at least 500x500, and under 8 MB each.
Common feed errors and how to fix them
After upload, check the catalog's Diagnostics / Issues tab. Red flags are severe and stop items from listing:
| Error | What it means | Fix |
|---|---|---|
| Missing required field | A column is empty | Fill from the required list, especially image / price / description |
| Invalid price format | No currency code or bad format | Use number + space + currency code, e.g. 25.00 USD |
| Image too small / not fetchable | Too small or a broken link | Swap in a reachable image URL of at least 500x500 |
| Unrecognized availability value | A non-standard value was used | Use only the official enum, e.g. in stock |
| Missing unique identifier | No brand / GTIN / MPN | Add at least one of them |
Download the full error report to work through it line by line rather than trusting the summary. A price mismatch between your product page and your feed also triggers issues, so keep the two aligned.
Keeping the catalog synced
Setting it up once is not the end. Ads that keep pushing a sold-out item, or a price that no longer matches the product page, burn budget and hurt the experience. In practice:
- Partner connections usually sync near real time — adding, editing, or removing items on Shopify carries over automatically, and sold-out items stop showing fairly quickly. Least effort.
- Scheduled feeds: match the sync frequency to your price and inventory cadence — frequent promos or volatile stock want a higher frequency; stable prices can run less often.
- Sweep the Diagnostics tab regularly. Do not wait until ad performance drops to discover half the catalog fell out.
Frequently asked
Manual, feed, or partner connection — which should a beginner pick?
On Shopify, WooCommerce, or a similar platform, use the partner connection — it is the least work. On a custom site or a platform with no connector, use a scheduled feed. Only choose manual for a tiny set of items that almost never change.
What file formats does the feed support?
Typically CSV, TSV, and RSS / ATOM XML, with Google Sheets supported in some cases. Confirm against the prompts in your upload screen.
Why must price include a currency code?
Facebook requires the three-letter ISO code on price (e.g. 19.99 USD). Omitting it triggers an invalid-price-format error, and it is one of the most common oversights.
How often should the feed sync?
It depends on your cadence: frequent promos or volatile stock favor a higher frequency such as hourly; stable prices are usually fine with a daily sync. Confirm the available options in your dashboard.
My catalog has errors but ads are still running — does it matter?
Yes. Red errors pull the affected items or make them unservable, which wastes budget. Check Diagnostics regularly and fix from the full report.
The catalog is only step one — getting items into Meta. To actually sell them, get your overall Commerce Manager setup right first, and if your Shop gets rejected, work through the Facebook Shop rejection fix guide.
Leads EshopPick's operations and compliance desk. Covers TikTok Shop onboarding, eligibility, fulfillment, violation points and account health, appeals and payouts. Tracks policy changes closely and turns official rules into steps sellers can actually follow.
