Catalogue items may not be shown in ads or the shop on Facebook and Instagram for reasons including a missing or invalid required field (id, title, description, availability, condition, price, link, image_link, brand or identifier), an image that cannot be fetched, or a link that fails Meta’s check. Products that don’t comply with Meta’s Advertising Standards or Commerce Policies are rejected. Fix the field in your store or feed, re-upload, and Commerce Manager re-checks the item.
Meta's Commerce Manager is quieter about problems than Google Merchant Center. An item can sit in your catalog as Eligible while your ads show a blank tile, and a whole upload can “succeed” while half the fields landed in the wrong place. Below are the things that actually take products out of Facebook and Instagram ads, roughly in the order they happen to people.
1. The file was imported with the wrong format selected
When you add a data source, Commerce Manager asks “Which platform is your file formatted for?” and offers two answers: Commerce Manager and Google Merchant Center. The default is the first. If your feed is a Google Shopping XML or CSV — and most feeds exported from stores are — you have to pick the second, or the columns are read under the wrong names and products come in with missing prices, links or images. This is the single most common cause of “my feed looks fine but the catalog is empty”. Fix: delete the data source and add it again with the right format; there is no way to change it afterwards.
2. Availability written in words Meta doesn't know
Meta's product data specification lists two values for availability: in stock and out of stock. A value outside a fixed list is reported as “Invalid values”. Out-of-stock products aren't shown in ads, but stay in shops on Facebook and Instagram for up to 56 days, marked as sold out. Fix: map your store's stock status to exactly those two values.
3. Images that ads can't use
Meta wants at least 500 × 500 pixels for catalog ads and strongly prefers a square crop; smaller images are accepted into the catalog but rejected from ad placements, which is why a product can be eligible and still never appear. Image URLs must be public and direct: a link that redirects, needs a cookie, or points to a page rather than the file itself fails on fetch. Text overlays and watermarks are an ads-policy problem on top (the same rule Google enforces). Fix: give every product a clean square photo of 1000 × 1000 or larger, and make sure the feed carries the image's own URL.
4. Prices Meta can't reconcile
The price field needs a number and an ISO currency, 49.00 EUR, and a promotion goes in sale_price with its dates in sale_price_effective_date. If you run the Meta Pixel, Meta also compares the catalog price with what the pixel reports on the product page; a feed that drifts behind a price change earns a price-mismatch warning and, repeated, lower delivery. Fix: rebuild the feed whenever prices change, and never let a feed rule round or rewrite a price the page doesn't show.
5. Variants without a group
Every size and colour is its own item with its own id, and they only behave as one product when they share an item_group_id. Without it, Meta sees twelve near-identical items competing with each other, and dynamic ads pick one at random. With it, the ad shows the product and lets the shopper pick the variant. Fix: send the parent product's identifier as item_group_id on every variant row.
6. IDs that change between uploads
Meta identifies an item by its id, nothing else. If your export regenerates IDs — a new SKU scheme, a plugin update, a switch from product ID to variant ID — every product becomes a new item and the old ones drop out, taking their ad history and pixel matching with them. Fix: pick a stable identifier once (the variant ID your pixel already sends works best) and never change it.
7. The catalog is right and the ad still isn't
Rejections that don't come from the feed at all: the product page's domain isn't verified in Business Manager, the landing page redirects to the homepage, the title is in ALL CAPS or carries “FREE SHIPPING!!”, or the product falls under a restricted category. These show up as ad or item policy issues, not as feed errors, and the fix is in Business Manager or on the page.
Description and image_link
Meta's specification lists description and image_link among the fields required for each product in a catalog. Meta's data feed troubleshooting page says that without the required fields, products may not be shown in your ads or shop.
How FeedRobin handles it
FeedRobin's Meta feed is the Google format Commerce Manager expects when you choose “Google Merchant Center”. Availability is written as in stock or out of stock (the two values in Meta's specification), every variant carries its item_group_id, IDs are the ones your store already uses, and the quality check counts the products with no description or no image — the free feed check does the same for any feed URL. Commerce Manager offers hourly, daily or weekly upload schedules for a feed link. A price change in the store reaches the Meta catalog after FeedRobin has synced the store and Commerce Manager has fetched the feed.
Sources
Meta Business Help Center: product data specifications for catalogues (fields, availability values, image requirements), troubleshoot products not showing in your ads or shop (issues that prevent products from showing), troubleshoot data feed errors in your catalog (required fields), uploading products with a data feed (the format choice at import) and scheduled data feed uploads (hourly, daily or weekly).