The Feedance AI features is rolling out.
Check it out!

What is Meta Ads (Commerce Manager catalog feed)?

Meta Ads, in the context of e-commerce, runs on top of Commerce Manager — Meta's catalog and shop-management tool for Facebook and Instagram. Instead of designing an ad creative for every product one at a time, you upload a product catalog feed once, and Meta pulls item data (title, price, image, availability) directly from it to build dynamic ads, Advantage+ catalog ads, and shoppable posts and tags automatically. The catalog is also the product database behind Facebook and Instagram Shops, so the same feed that powers your ads can power on-platform storefronts and checkout.

Why connect your product feed to Meta Ads?

Connecting a feed unlocks catalog-based ad formats that a single static ad cannot replicate at scale: dynamic ads that automatically show a shopper the exact products they viewed or added to cart, Advantage+ catalog campaigns that let Meta's delivery system pick the best-performing items from your whole inventory, and shoppable tags on Instagram and Facebook posts. Because every one of these formats reads live from the catalog, feed accuracy has a direct line to ad performance — a stale price or an out-of-stock item still marked "in stock" gets served to a shopper who then bounces, and repeated mismatches between your feed and your landing pages is a documented cause of items being flagged or disapproved in Commerce Manager.

How does Meta match your catalog to the right shopper?

Dynamic ads work by connecting two data sources: your product catalog (which supplies images, titles, prices, and stock status) and the Meta Pixel or Conversions API (which reports what a visitor did on your site — viewed a product, added it to cart, started checkout). The link between the two is the id field: Meta matches the content_id reported by the Pixel/CAPI event to the id of the corresponding item in your catalog. If these values don't match exactly, Meta cannot connect a shopper's on-site behavior back to a specific product, and dynamic retargeting for that item simply won't fire — which is why the id field should be a stable identifier (Meta recommends using your own SKU) that never changes between feed updates.

What feed format does Meta Ads require?

Commerce Manager accepts a product feed in CSV, TSV, RSS XML, ATOM XML, or a Google Sheets link; for programmatic updates, Meta also offers the Catalog Batch API and Direct Upload API. You can add a feed to Commerce Manager three ways: paste a feed URL for Meta to fetch on a schedule, upload a file manually from your computer, or link a Google Sheet that Meta re-fetches at scheduled times. CSV and XML feeds must be UTF-8 encoded, and all field names (plus certain supported values) must be in US English regardless of your store's market. If you use XML, it should follow the RSS 2.0 format with the Google product namespace declared as xmlns:g="http://base.google.com/ns/1.0", and special characters such as &, <, and > must be entity-encoded (&amp;, &lt;, &gt;) since they aren't otherwise valid inside XML tag content.

Which product attributes does Meta Ads require?

The table below uses Meta's own catalog field names exactly as documented, so they map one-to-one onto the columns or XML tags Commerce Manager expects. For ecommerce items, at least one of brand, gtin, or mpn must be present in addition to the fields marked required below — Meta treats a missing product identifier as its own error class, separate from a missing required field.

FieldRequiredFormatExampleNotes
idYesstring, max 100 chars404718SKUUnique content ID per item; use your SKU. Must match the Pixel/CAPI content_id for dynamic ads to work
titleYesstring, max 200 chars (65 recommended)Women's Floral Midi DressSpecific, relevant product name
descriptionYesplain text, max 9,999 chars100% cotton midi dress with floral print...No HTML and no all-caps text
availabilityYesenumin stockOnly in stock or out of stock are supported values
conditionYesenumnewSupported values: new, refurbished, used
priceYesnumber + space + ISO 4217 currency code29.99 USDUse a period for decimals; must match the price shown on your landing page
linkYesURLhttps://example.com/product/404718Must begin with http:// or https:// and point to that exact product's page
image_linkYesURL, JPEG or PNGhttps://example.com/images/404718.jpgMinimum 500x500 pixels, up to 8 MB
brandConditionalstring, max 100 charsAcmeRequired unless gtin or mpn is provided instead
gtinConditional8-14 digit UPC/EAN/JAN/ISBN/ITF-14, no dashes or spaces0012345678905Required unless brand or mpn is provided instead

How to connect Meta Ads with Feedance

  1. Add your existing product source to Feedance — your current CSV, XML, Google Sheet, or platform export — as a data source.
  2. Feedance maps your store's fields onto Meta's exact field names and formats: your price becomes price in the required "number + ISO 4217 code" format (e.g. 29.99 USD), your stock flag becomes the in stock/out of stock enum availability expects, and your category values get translated into the Google or Facebook product category taxonomy Meta requires for onsite checkout eligibility.
  3. Feedance generates the feed in the format Commerce Manager needs — RSS 2.0 XML with the xmlns:g namespace and entity-encoded special characters, or CSV/TSV — so you don't have to hand-encode ampersands or manage the Google product namespace yourself.
  4. Copy the generated feed URL into Commerce Manager under Catalog > Data Sources > Add > Data Feed, and set your scheduled fetch interval (hourly, daily, or weekly) so Meta keeps re-pulling the latest version automatically.

How often should your Meta Ads feed update?

Commerce Manager lets you schedule a feed URL to be re-fetched hourly, daily, or weekly, and scheduled feeds cannot run more often than once per hour — for faster updates you need the Catalog Batch API or Direct Upload API instead of a scheduled URL fetch. How often you should actually update depends on how fast your inventory and pricing move: a daily fetch is usually enough for slow-moving catalogs, while stores with frequent price changes, flash sales, or fast-turning stock benefit from hourly updates so that price and availability shown in ads stay aligned with what's actually on the landing page — a persistent mismatch between feed data and the live page is a documented cause of items being flagged as showing incorrect or outdated information.

Common Meta Ads feed errors and how to fix them

ErrorLikely causeFix
Missing required fieldA required attribute like price, image_link, or availability is empty or absent for one or more itemsCheck every required field is populated for every item, not just a sample, before re-uploading
Missing product identifierNone of brand, gtin, or mpn is present for an ecommerce itemAdd at least one of the three identifier fields to every product
Duplicate itemThe same content ID (id) appears in more than one data feed feeding the same catalogMake sure each id is unique across all data sources attached to that catalog
Item not approved / disapprovedThe item is missing required information, or it violates Meta's advertising or commerce policiesReview the specific reason in the catalog's Issues tab, correct the feed data, and request a review if you believe the disapproval is incorrect
Incorrect or outdated product information in ads or ShopMeta's crawler compares your landing page to your feed data, and the feed (price, title, or availability) is stale relative to the live pageIncrease your feed's fetch frequency so price/availability changes on your site are reflected before the next crawl
Landing page unreachableThe link URL returns an error, redirects away from the product, or is blocked from crawling (e.g. by robots.txt)Confirm each product's link loads directly to that product and is not blocked to crawlers

Meta Ads feed optimization tips

These are grounded directly in Meta's documented field behavior rather than general marketing advice:

  1. Keep id stable and identical to the content_id your Meta Pixel or Conversions API sends — this is what lets dynamic retargeting connect a site visit to the right product.
  2. Fill in google_product_category or fb_product_category as specifically as possible; a category is required for onsite checkout eligibility and helps Meta's delivery system match the item to the right audience.
  3. Provide at least one of brand, gtin, or mpn for every item — this is a hard identifier requirement for ecommerce catalogs, not just a best practice.
  4. Match your feed's price and availability to your live landing page on every update; Meta's crawler checks for this and stale data is a documented trigger for flagged items.
  5. Use item_group_id to group size/color variants of the same product so Meta displays them as a single item with variant selection rather than as duplicate, competing listings.
  6. Add extra angles via additional_image_link (up to 20 images) rather than relying on a single hero shot for image_link.

Frequently asked questions

Does Meta Ads accept the same feed formats as Google Shopping?
Largely yes — Meta accepts CSV, TSV, RSS XML, and ATOM XML, the same broad format families most Google Merchant feeds use, plus a Google Sheets link option that Google does not offer.

What happens if my Pixel's content_id doesn't match my feed's id?
Dynamic ads and retargeting for that item will not work, because Meta links on-site behavior to catalog items strictly through matching content_id and id values.

Do I need both brand and GTIN?
No — Meta requires at least one of brand, gtin, or mpn per ecommerce item, not all three.

How fast can I update prices or stock?
Scheduled feed fetches can run as often as hourly (the fastest scheduled interval Commerce Manager supports); for near-real-time changes you'd need the Catalog Batch or Direct Upload API instead of a scheduled URL fetch.

Why is Meta showing an old price in my ad?
Meta's crawler periodically compares your feed data to your live landing page; if your feed hasn't been re-fetched since your price changed, the ad and Shop listing will keep showing the outdated value until the next fetch.

Can I use one feed for both Facebook and Instagram?
Yes — a single catalog and feed powers both Facebook and Instagram Shops, tags, and dynamic ads; there's no separate Instagram-specific feed format.

What image size does Meta require?
The image_link image must be JPEG or PNG, at least 500x500 pixels, and no larger than 8 MB.

Schedule your 15-minute demo now

Schedule my demo

We’ll tailor your demo to your immediate needs and answer all your questions. Get ready to see how it works!