How-To Guide · Ecommerce Integration

Best Way to Upload Product Catalog Facebook

Learn the three ways to upload a product catalog to Facebook: manual upload, scheduled feed, and the Catalog Batch API. Includes required fields and best practices.

TL;DR Three methods exist for uploading a Facebook product catalog: manual upload via Commerce Manager, a scheduled feed from a hosted URL, and the Catalog Batch API for real-time updates. Manual is fastest to test. Scheduled feeds automate ongoing refreshes. The Batch API handles high-volume or time-sensitive inventory changes. Every product needs seven required fields to be ingested correctly.

6 min read By Updated 0 steps

Originally published .

Key Takeaways
  • Facebook product catalogs live in Commerce Manager inside Meta Business Manager.
  • Manual upload suits small catalogs. Scheduled feeds automate hourly, daily, or weekly refreshes.
  • The Catalog Batch API handles real-time inventory updates faster than scheduled feeds allow.
  • Every product needs id, title, description, price, inventory, link, and image_link to pass ingestion.
  • Use Replace Schedule for full daily refreshes and Update Schedule for incremental changes.
  • Coinis Image Ads turns any product URL into ready-to-launch Facebook ad creatives.

Facebook needs structured product data before it can show your items to shoppers. The faster you get your catalog right, the sooner your dynamic ads, Shop listings, and retargeting campaigns go live.

Why Product Catalogs Matter for Facebook Commerce

A product catalog is the database behind every Facebook shopping feature. Get it right and you unlock dynamic retargeting, Facebook Shop, Instagram Shopping, and catalog-based ad campaigns all from one source of truth.

Dynamic retargeting with product data

Dynamic ads pull product images, prices, and names directly from your catalog. Shoppers who viewed a product on your site see that exact item in their Facebook feed. No manual creative work per product required.

Feed-based inventory management

Your catalog is a living feed, not a one-time upload. Update it and Facebook reflects the change across ads, Shop, and Checkout automatically. Stale data means stale prices and out-of-stock items showing in ads.

Support for multiple sales channels

One catalog powers Facebook Shop, Instagram Shopping, dynamic ads, and Advantage+ Shopping campaigns. Per Meta's developer documentation, a catalog is the single source of truth for all of these channels. Setting it up correctly once pays dividends across every channel you run.

Prerequisites & Planning

Set these up before you upload a single product.

Create a Meta Business Manager account

Go to business.facebook.com and create a Business Manager account. Attach your Facebook Page and your ad account. Both need to be linked before Commerce Manager becomes accessible.

Set up Commerce Manager

Open Commerce Manager from the Business Manager menu. This is where you create, manage, and monitor all product catalogs. If you manage multiple stores, each can have its own catalog inside the same Business Manager.

Prepare your product data and feed format

Facebook accepts CSV, TSV, RSS XML, ATOM XML, and Google Sheets. CSV is the easiest starting point for most merchants. Whichever format you choose, your column headers need to match Meta's required field names exactly.

Decide on upload method: manual, scheduled, or API

Three options exist. Manual works for small catalogs and initial testing. Scheduled feeds handle ongoing syncing without developer effort. The Catalog Batch API handles high-volume uploads and real-time inventory accuracy. Pick based on your catalog size and how often your inventory changes.

Method 1: Manual Upload via Commerce Manager

This is the fastest way to get started. It works best for catalogs under a few hundred items, or for a one-time test before committing to an automated pipeline.

Create a new catalog in Commerce Manager

In Commerce Manager, click Add catalog. Choose Ecommerce as the catalog type. Name it and assign it to your Business Manager. The catalog ID you receive here is important. Store it. You will need it for any API work later.

Upload CSV, TSV, or Google Sheets file

Inside your new catalog, go to Data Sources and click Add items. Choose Upload file or Connect Google Sheets. Upload your prepared file directly from your computer or paste a shareable Google Sheets link.

Map product columns to required fields

Commerce Manager walks you through column mapping. Match your spreadsheet headers to Meta's required fields. If your headers already match the Meta field names, mapping is automatic. Mismatches get flagged so you can correct them before the upload completes.

Review upload status and errors in Diagnostics

All uploads are asynchronous. The upload queues, processes, and then reports results. Check the Diagnostics tab for errors and warnings. Fatal errors block product ingestion entirely. Warnings may skip individual fields but still process the rest of the product data. Fix fatal errors first, then address warnings.

Method 2: Scheduled Feed Upload

Scheduled feeds automate catalog refreshes without manual re-uploads. This is the right method for most growing stores that update inventory daily or weekly.

Set up recurring fetch from hosted URL

Host your feed file at a stable, publicly accessible URL. Your own server, a Google Sheet with sharing enabled, or a third-party feed tool all work. In Commerce Manager, choose Scheduled feed as your data source and paste the URL. Meta fetches from that URL on your chosen schedule.

Configure interval (hourly, daily, weekly)

Meta supports hourly, daily, and weekly fetch intervals. Per Meta's developer documentation, scheduled feeds do not support intervals shorter than one hour. If you need faster updates than hourly, the Catalog Batch API is the right tool, not scheduled feeds.

Choose Replace or Update schedule strategy

Two strategies exist. Replace Schedule performs a full catalog refresh and removes any items not present in the latest feed file. Update Schedule applies only the changes you send, leaving existing products untouched. Meta recommends pairing both: set a Replace Schedule daily to keep the catalog clean and an Update Schedule more frequently to push incremental price or stock changes.

Monitor feed errors and warnings regularly

Check the Diagnostics tab after each fetch run. A feed that uploads cleanly on day one can start failing silently if your hosting URL changes, your server goes down, or your file format drifts. Build a habit of checking Diagnostics weekly at minimum.

Method 3: Programmatic Upload (Feed API & Batch API)

The API methods give you the most control over timing, scale, and error handling. Use them when you manage a large catalog, run a custom backend, or need real-time accuracy.

Use Feed API for large bulk uploads

The Feed API lets you create and schedule product feeds programmatically. It is the right tool for merchants managing multiple catalogs, running automated feed generation from a backend system, or syncing product data from an ERP or PIM platform.

Use Catalog Batch API for real-time inventory updates

The Catalog Batch API updates individual products in real time. Per Meta's developer documentation, if you need faster-than-hourly inventory updates, use the Catalog Batch API instead of scheduled feeds. This is the correct tool for flash sales, limited-quantity drops, and live pricing changes. Each API call updates only the products you specify.

Authenticate with access tokens and permissions

You need a System User access token with the `catalog_management` permission. Set this up in Meta Business Manager under System Users. Assign the token the minimum permissions needed. Store it securely and rotate it on a schedule.

Query upload status and error reports

After each batch, query the upload session ID to check processing status. Errors return per item, not per batch. That means you can retry only the failed products without re-uploading your full catalog. Build retry logic into your pipeline from day one.

Required Product Fields & Best Practices

Meta's developer documentation identifies a clear set of required and recommended fields. Missing required fields cause fatal ingestion errors. Weak optional fields reduce product discoverability in ads and search.

Universal fields: id, title, description, price, inventory, link, image_link

Every product must include all seven of these fields. The `link` field must respond with an HTTP 200 OK status. Redirects are acceptable. Dead links and 404 responses cause fatal errors that block the product from being ingested.

Category fields: Google Product Category (GPC) or Facebook Product Category (FPC)

Per Meta's developer documentation, Google Product Category (GPC) is the recommended taxonomy. Use at least two levels of depth. For example, "Apparel & Accessories > Clothing > Shirts & Tops" performs better than the single top-level "Apparel & Accessories" alone. Deeper categories improve product matching in catalog-based ads.

Variant handling: item_group_id for products with multiple options

Products with size or color variants must share a common `item_group_id`. Each variant gets its own row in the feed with a unique `id`. This structure tells Facebook which products are related and enables variant-aware dynamic ads.

Data quality: format prices correctly, ensure links respond with HTTP 200

Prices must include currency code in the format "29.99 USD". Do not use currency symbols alone. Inconsistent price formatting is one of the most common causes of warnings and rejected products. Run a validation pass on your feed file before uploading.

How Coinis Accelerates Your Workflow

Getting your catalog into Facebook is step one. Turning catalog data into high-performing ad creatives is step two. That is where most merchants lose time.

Use Image Ads to auto-generate product-specific creative from URLs

Coinis Image Ads takes a product URL and generates ad-ready images using premium AI models. Paste your product link, get polished creatives back. No design team, no manual resizing for each placement. One URL input produces multiple creative outputs ready for Facebook and Instagram.

Leverage Brand Profile to maintain voice across all product listings

Brand Profile learns your brand's visual style and copy tone. Every ad generated from your catalog stays on-brand automatically. You do not need to manually enforce a style guide across hundreds of product ads.

Use Campaign Launcher to connect your catalog to paid ads

Once your catalog is live and your creatives are ready, Campaign Launcher publishes directly to Meta. Audience targeting, budget setup, and placement selection all happen in one workflow. No switching between Commerce Manager, Ads Manager, and a design tool.

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.

Start free →

15 AI tokens a month. No credit card.

Frequently Asked Questions

What file format is best for uploading a Facebook product catalog?

CSV is the easiest starting point for most merchants. Facebook also accepts TSV, RSS XML, ATOM XML, and Google Sheets. Whichever format you choose, your column headers must match Meta's required field names exactly.

How often should I refresh my Facebook product catalog feed?

It depends on how often your inventory and prices change. Meta supports hourly, daily, and weekly scheduled fetches. For most stores, a daily Replace Schedule plus a more frequent Update Schedule covers both accuracy and catalog hygiene. If you need faster-than-hourly updates, use the Catalog Batch API.

What happens if my product feed has errors?

Fatal errors block the affected product from being ingested entirely. Warning-level errors may skip individual fields but still process the rest of the product data. Check the Diagnostics tab in Commerce Manager after every upload or feed fetch to catch and fix both types.

Do I need a developer to use the Catalog Batch API?

Yes. The Catalog Batch API requires API authentication with a System User access token and coding to build the request and retry logic. If you do not have developer resources, scheduled feeds via Commerce Manager achieve similar outcomes for most store sizes with no code required.

Stop hustling

You just read the manual way. Coinis does it all.

Every step above takes hours of manual work. Coinis automates it. Free to start. No credit card. Pay only when you need more volume.

Steps 1–2

Goal + Audience

AI analyzes your brand from a URL. Targets the right buyers automatically.

Steps 3–4

Channels + Budget

One-click launch to Meta. Smart budget allocation out of the box.

Step 5

Ad Creatives

Paste a link. Get dozens of professional ads in minutes.

Steps 6–7

Launch + Track

Live dashboard. Real ROAS. AI suggests what to optimize next.

15 credits day one
No credit card
Free forever tier
Pay only for volume
Start free

You just learned the hard way. Here's the easy way.

Coinis generates ad creatives, launches campaigns, and tracks results. One platform. One click. No ad expertise required.

Try Coinis free