Skip to main content
Commerce Strategyfeedsgoogle-shoppingmetaadvertising

Product Feeds for Google and Meta: Getting Approved and Staying Approved

A clean product feed is the difference between profitable Shopping ads and a disapproved catalog. Here's what Google Merchant Center, Meta, and TikTok actually require, and how to keep your feed healthy automatically.

B

Best Webby Team

May 23, 20265 min read

The feed is the foundation of every Shopping ad

If you want to advertise products on Google Shopping, Facebook and Instagram Shops, or TikTok Shopping, none of it happens without a product feed — a structured file describing every item you sell, in the format each channel demands. The ad platform reads that feed, builds listings from it, and decides what to show shoppers.

Merchants spend enormous effort on ad creative and bidding while ignoring the feed underneath. That's backwards. A disapproved or low-quality feed means your ads don't run at all, or run with so little information that they lose every auction. The feed is the foundation; the ads are the house on top.

What each channel actually wants

The channels share a common backbone but differ in the details:

Google Merchant Center is the strictest. It expects an XML feed with required fields — id, title, description, link, image_link, price, availability, condition — plus strong recommendations to include gtin, brand, mpn, and google_product_category. Products without identifiers (GTIN/brand/MPN) get suppressed or limited. Google also runs automated checks against your landing pages: the price in the feed must match the price on the page, or you get a mismatch disapproval.

Meta (Facebook & Instagram) uses a similar catalog feed for Shops and dynamic ads. It's somewhat more forgiving on identifiers but cares deeply about image quality and accurate availability. Stale "in stock" on a sold-out item leads to bad ad experiences and account-quality penalties.

TikTok Shopping accepts a CSV catalog and skews toward visual, lifestyle-oriented presentation, but still needs the core fields and accurate stock.

BestWebby configures feeds for Google Merchant Center, Meta, and TikTok from one place. The dashboard sets the channel, currency, and field mappings; the public feed is built and served from your storefront and pre-cached so it's fast and fresh. You manage the catalog once and let each channel get the format it needs.

The four things that get feeds disapproved

Across thousands of feeds, the same handful of problems cause most rejections:

  1. Price mismatch. The feed says $40, the product page says $45 (maybe a sale ended, maybe a currency issue). Google catches this automatically and disapproves. Keep the feed in sync with live prices — an event-driven feed that rebuilds on price changes avoids this entirely.
  2. Missing identifiers. No GTIN, no brand, no MPN means Google can't match your product to its catalog, and your items get throttled. Fill these in, especially for branded resale goods where the GTIN is on the package.
  3. Inaccurate availability. Advertising items you can't ship is the fastest way to tank account quality. Availability must reflect real, current stock — which means the feed has to update when inventory changes, not on a weekly schedule.
  4. Poor titles and images. Titles like "Product 12345" or "Untitled" win nothing. A good title front-loads the brand, product type, and key attribute: "Acme Merino Wool Crew Sweater — Navy, Men's." Images must be clean, on-white where required, and high resolution.

Map your fields once, correctly

The most useful feed feature is field mapping: telling the feed which of your product attributes should populate each channel field. Your internal "category" might map to google_product_category; your "manufacturer" field to brand. Set these mappings once and every product inherits them.

A good system restricts what you can map to — you should be able to point brand at your brand attribute, but never at an arbitrary or sensitive internal column. BestWebby's feed config uses an allow-list of mappable fields and source attributes precisely so a misconfiguration can't leak the wrong data into a public feed.

Currency and multi-market feeds

If you sell in multiple currencies, each market needs a feed denominated correctly. Advertising a EUR-priced product to a USD shopper with a USD landing page is a guaranteed mismatch disapproval. Set the feed currency per channel to match the market you're targeting, and make sure the storefront the ad links to presents that same currency.

Keep it healthy without babysitting

A feed isn't set-and-forget — it's set-and-monitor:

  • Rebuild on change. When a price, title, image, or stock level changes, the feed should reflect it within minutes, not on a nightly batch that leaves a stale window.
  • Watch the disapproval report. Both Google and Meta surface item-level issues. Treat that report as a weekly checklist, not noise.
  • Audit titles and images quarterly. Standards drift; what passed last year may underperform now. A periodic title and image pass keeps your listings competitive.

The takeaway

Profitable Shopping ads start with a feed that's accurate, complete, and current. Match feed prices to live prices, include real identifiers, keep availability honest, and write titles and choose images that actually win auctions. Configure your field mappings once, denominate each market correctly, and let the feed rebuild itself when your catalog changes. Get the foundation right, and the ads on top finally have something solid to stand on.

About the author

Best Webby Team

Insights from the team building BestWebby.