Home Articles Diagnosing and Fixing Meta Commerce Manager Catalog Disapprovals Diagnosing and Fixing Meta Commerce Manager Catalog Disapprovals Published Date: 23 Sep, 2026 Meta's Commerce Manager gives merchants one of the least specific rejection messages in advertising: a status of "disapproved" and, often, a single vague reason code. Feed teams then spend hours guessing whether the problem is a missing field, a policy flag, or an account-level eligibility issue, because Meta's own catalog field reference and its Commerce Policies live on separate pages with no direct link between a rejection and its fix. This guide sorts the actual causes into three layers, gives you the exact fields and limits Meta checks, and shows a before/after feed row so you can see the fix rather than just read about it. It is for anyone running a Meta catalog inside a multi-channel feed, whether you manage 200 SKUs by hand or 200,000 through a feed platform. We've written the same kind of channel-specific diagnostic before for Google Merchant Center misrepresentation suspensions and TikTok Shop listing rejections — Meta's failure modes overlap with both but aren't identical to either. The three layers Meta checks, and why the error messages blur them together A Meta catalog item can fail for reasons that live in three completely different systems, and Commerce Manager frequently reports all three with similarly worded messages. Separating them first saves the most time. Feed-level errors — the file itself is malformed, missing a required column, or unreachable. These block ingestion before any product is reviewed. Item-level policy disapprovals — the file parsed fine, but a specific product violates a Commerce Policy: restricted category, misleading claim, or an image policy violation. Account-level Commerce Eligibility failures — the business itself hasn't cleared identity, product-legality, or checkout verification, so nothing in the catalog can run regardless of feed quality. Fix them in that order. There is no point debugging item-level policy flags if your account has not cleared Commerce Eligibility Review, and no point appealing a policy disapproval if the underlying cause is a missing required field. Layer 1: feed-level errors that block ingestion These show up before Meta evaluates a single product against policy, and they are the fastest to fix because they are almost always mechanical. Based on Meta's own documented error categories via GoDataFeed's Commerce Manager error reference, the recurring ones are: ErrorTypical causeFix Data feed file access errorFeed URL points to a product page instead of a raw file, or the server blocks Meta's crawlerServe a direct, unauthenticated file link with correct Content-Type and UTF-8 encoding Unsupported file formatFile isn't CSV, TSV, or XML, or XML is missing its declaration tagRe-export in a supported format; validate the XML header Missing required fieldsColumn names don't match Meta's exact field namesMatch field names exactly (case-sensitive) against the catalog reference Duplicate item IDsSame id appears in more than one feed submitted to the same catalogKeep the ID in one source feed only; use item_group_id for legitimate variants Column mismatchA row has more or fewer values than the header row, usually from unescaped commas or quotesQuote every text field and validate row/column counts before upload File too largeExceeds 100MB for a one-time upload or 8GB for a scheduled feed (30GB compressed)Split into multiple feeds or compress with ZIP/GZIP Layer 2: item-level policy disapprovals Once a product parses correctly, Meta's automated reviewer checks it against Commerce Policies. According to current practitioner documentation on the most common triage causes (Racklify's Meta catalog remediation guide, last reviewed May 2026, and AI Shopping Feeds' policy-violation fix guide, updated September 17, 2026), the five causes behind most generic "policy violation" disapprovals are: Image policy violations — text overlays, watermarks, promotional badges ("50% OFF"), or resolution below spec. Restricted category miscategorization — a product mapped into a restricted vertical (supplements, weapons, alcohol, cryptocurrency, gambling, health products) either correctly or by a bad google_product_category mapping. Personal attributes targeting — copy that implies something about the viewer (body type, health condition, financial status) rather than describing the product. Misleading or sensational copy — superlative claims, fake urgency, or health assertions the product can't substantiate. Auto-reviewer false positives — the item is genuinely compliant but the automated system flagged it anyway; these are usually resolved on appeal. The item detail view inside Commerce Manager sometimes surfaces a more specific reason than the feed-level status export does, so check there before assuming which of the five applies. Layer 3: account-level Commerce Eligibility Review Before any product can run in Shops, product tags, or checkout, Meta reviews the business itself. Per current documentation of the review criteria, it checks five areas: identity and ownership (business registration, tax documents, or domain ownership), product legality in the target market, product information accuracy across the catalog, checkout and payment compliance, and general business practices such as published return and shipping policies. Simple approvals typically clear in 24 to 72 hours; complex cases with regulated goods or mismatched documentation can take one to three weeks. A domain mismatch between your storefront and your registered business identity is one of the most common and most overlooked failure points here, and it has nothing to do with your feed data at all. A before/after example Here is a single feed row that would trigger at least two of the causes above, followed by the fixed version. FieldBefore (disapproved)After (approved) idSKU-10432SKU-10432 titleSHOES SALE!!! Running Shoe 50% OFFMen's Mesh Running Shoe, Black description(empty)Lightweight mesh running shoe with EVA midsole cushioning and rubber outsole traction. True to size. image_link.../10432_watermark.jpg (has "SALE" text overlay, 420×420px).../10432_clean.jpg (no overlay, 1200×1200px) brand(missing)Actual Brand Name gtin(missing)8691234567890 price899.00899.00 TRY Four separate problems in one row: promotional text in the title and an image overlay (both image/copy policy triggers), a missing identifier (feed-level warning that also weakens Meta's product matching), and a price field missing its ISO currency code, which Meta's price field requires in the format number space currency-code. Required and commonly-misused fields Per Meta's catalog field reference, these are the fields that most often decide approval, with the limits that get missed: FieldRequiredLimit / format idYesUnique, max 100 characters titleYesMax 200 characters; keep under ~65 to avoid truncation in placements descriptionYesPlain text; keep well under 5,000 characters in practice even though the technical ceiling is higher — long descriptions get truncated inconsistently across placements availabilityYes"in stock" or "out of stock" exactly conditionYesnew, refurbished, or used priceYesNumber + space + ISO 4217 currency code, e.g. "899.00 TRY" linkYesDirect http/https URL to the product page, not behind a login image_linkYesJPEG or PNG, minimum 500×500px, max 8MB, no text overlay brandYesMax 100 characters gtin / mpnStrongly recommendedAt least one identifier per product; missing both weakens catalog matching and triggers a warning item_group_idConditionalRequired whenever the product has variants; omit entirely if it doesn't Pre-resubmission checklist Run this before resubmitting a batch of previously disapproved items, not just the one you're currently debugging — Meta reviews in batches, and resubmitting one fixed item while five others still carry the same defect wastes a review cycle. No ALL CAPS, exclamation-heavy, or discount-percentage text in title or description Every image_link is free of text overlays, watermarks, and promotional badges Every product has gtin, mpn, or both google_product_category maps to the correct vertical, especially for anything adjacent to a restricted category price includes the ISO currency code and matches the landing page exactly availability matches real-time stock, not a cached value Products with variants share a consistent item_group_id and differ only on variant attributes (size, color) Landing page is reachable without a login and loads on mobile If descriptions were written or rewritten by AI enrichment, they've passed a separate QA pass — see our checklist for QA-ing AI-enriched attributes before Meta or Google see them What this doesn't cover, and where it breaks down This guide addresses feed and policy causes. It does not cover the checkout, payment, and business-verification side of Commerce Eligibility Review, which is a compliance process separate from your product data and often needs your finance or legal team, not your feed team. It also doesn't cover ad-level rejections (an approved catalog item can still have its ad creative rejected separately) or country-specific commerce restrictions, which vary enough that they need their own reference per market. Appeal outcomes for the "auto-reviewer false positive" category are also genuinely inconsistent — two visually identical items sometimes get different outcomes, and there's no reliable way to predict which one Meta's system will flag. If Meta is the only channel you manage, a Meta-specialized platform may catch some of these image and copy issues with tighter native validation than a multi-channel tool; Productsup and Feedonomics both lean toward deeper per-channel rule depth for exactly this reason, and it's a fair trade-off if Meta is genuinely your only channel. Feedance's model — one rule set that enforces the strictest applicable requirement across 200+ channels, exported through channel connections like our Meta integration — pays off once you're running the same catalog on more than two or three destinations, which is the more common situation for the brands and agencies we work with. Frequently asked questions What does "policy_disapproved" mean in Commerce Manager? It means the automated reviewer flagged the item against a Commerce Policy but the export doesn't specify which one. Open the item's detail view inside Commerce Manager, which sometimes shows a more specific sub-reason than the bulk status export. Why was only part of my catalog rejected while the rest stayed live? Meta reviews at the item level, not the feed level, for policy checks. A feed-level error affects the whole file; a policy disapproval affects only the specific SKUs that triggered it. How long does a policy appeal take? Typically three to seven days according to current practitioner reporting, though Meta doesn't publish a guaranteed SLA. Appeals for genuine false positives tend to succeed; appeals for items that still violate policy after your fix do not. Does fixing my feed automatically get rejected items reapproved? No. A corrected feed submission triggers a new review, but it isn't automatic reapproval — Meta re-evaluates the item as if seeing it for the first time. Can I sell restricted products like supplements or alcohol on Meta at all? Some restricted categories can run with additional certification, business verification, or in specific markets only; others can't run as catalog ads regardless. Check Meta's Commerce Policies for the specific category before assuming a fix to your feed will resolve it. Why do my images keep failing even though they meet the 500×500px minimum? Meeting the size minimum doesn't clear the image policy check. Text overlays, watermarks, and promotional badges fail review independently of resolution. What's the difference between a feed-level error and an item-level policy disapproval? A feed-level error is mechanical — a missing column, a malformed file, a duplicate ID — and blocks ingestion before review happens. A policy disapproval means the file was read correctly but a specific product violated a Commerce Policy. Do custom_label fields affect approval? custom_label_0 through custom_label_4 are for your own campaign segmentation and have no effect on Meta's policy or feed-level review. How is this different from a Google Merchant Center suspension? GMC suspensions, especially for misrepresentation, are account-wide and tend to stem from trust signals like business verification and site-wide claims. Meta's policy disapprovals are usually item-level and driven by image and copy content on the specific product. The two systems don't share a review, so clearing one has no effect on the other. Run a free audit of your current feed against the fields and formats in this guide before you resubmit a batch of disapproved items: try the free product feed audit tool. Prev Article How to Segment Your Product Feed for Creative A/B Testing Related to this topic: How Bilyoner Ran Catalog Ads for the First Time and Lifted ROAS by 49% 15 Aug, 2026 How Note Cosmetics Increased ROAS by 127% — While Spending 10% Less 15 Aug, 2026 How Vivense Lifted ROAS 32% by Not Advertising Products It Couldn't Sell 15 Aug, 2026