Key Takeaways
Facebook reads your product data from a feed file – not live from your store. If the feed is stale, your ads are wrong. The gap between your store and your Facebook catalog can be minutes or days, depending on your setup. A dynamic feed that updates every 15 to 60 minutes keeps prices, stock, and availability accurate.The most common fix is enabling scheduled feed fetching in Facebook Commerce Manager.Feed management tools automate this process and eliminate manual errors entirely.
Facebook and Instagram ads collectively reach over 3.2 billion people monthly, making them one of the most powerful channels for e-commerce merchants. But a poorly maintained product feed turns that reach into wasted spend. Merchants running dynamic product ads with outdated feeds report losing 15 to 30% of their daily ad budget to clicks on unavailable or mispriced products.
This article explains exactly why it happens, what a product catalog feed is and how it works, and how to fix the most common feed sync issues – step by step.
🔗 [Source: Meta for Business – Facebook dynamic product ads overview and catalog requirements ]
| TL;DR Facebook dynamic ads pull product data from your catalog feed – not directly from your webshop in real time.When your feed is outdated, Facebook serves ads with wrong prices, unavailable products, and incorrect stock status.Every click on an out-of-stock or mispriced ad is wasted budget – and damages shopper trust.Static product lists go stale within hours. Only a dynamically updated feed keeps your ads accurate.Most feed sync problems are fixed by increasing your refresh frequency and validating your feed format. |
Why do Facebook ads display outdated prices?
Facebook does not read your product prices directly from your webshop. Instead, it reads from a product feed – a structured file (XML or CSV) that your store exports at set intervals. When that file has not been updated recently, Facebook continues serving ads based on old data.
Three specific situations cause price mismatches most often:
- You run a sale or promotion and update your store prices, but the feed has not refreshed yet
- You change a product price manually in your store but forget to trigger a feed update
- Your feed update schedule (for example, once per day at midnight) does not align with when price changes go live
The result: a shopper clicks your ad showing EUR 29.99, arrives on your page and sees EUR 39.99, and leaves immediately. You paid for the click. They did not buy. Your ROAS drops without any visible explanation in your campaign metrics.
| Real scenario A Belgian fashion retailer ran a weekend flash sale, marking 80 products down by 25%. Their Facebook feed updated once every 24 hours. For the entire first day of the sale, Facebook served ads with the original pre-sale prices. Shoppers clicking the ads found prices 25% lower than advertised – some bought, but many were confused, and the merchant received customer service messages asking if the lower price was correct. Increasing the feed refresh to every 60 minutes resolved the mismatch for all future promotions. |
What is a Facebook product catalog and how does it sync with your store?
A Facebook product catalog is a container in Meta’s Commerce Manager that stores your product data – titles, prices, images, availability, and URLs. Facebook’s dynamic product ads draw from this catalog to automatically show each shopper the most relevant products based on their browsing behaviour.
The catalog does not connect live to your store. It stays in sync through a feed – a file your store generates that Facebook fetches on a schedule you define. Understanding this distinction is critical: your catalog is only as accurate as your most recent feed update.
How the sync works in practice:
- Your e-commerce platform (Shopify, WooCommerce, Magento) generates a product feed file – typically an XML or CSV – containing all the product attributes Facebook requires
- You provide Facebook with the URL of that feed file in Commerce Manager
- Facebook fetches the file on a schedule – hourly, every few hours, or once per day
- Facebook updates its internal catalog database based on the file contents
- Your dynamic ads now serve based on the updated catalog data
| Catalog Element | What Facebook Uses It For | Risk if Outdated |
|---|---|---|
| Price | Displayed in ad creative and carousel | Ad shows wrong price; shopper trust damaged |
| Availability | Controls whether product appears in ads | Out-of-stock product shown; clicks wasted |
| Product image URL | Ad creative visual | Broken image or wrong product shown |
| Product title | Ad headline and carousel text | Wrong name shown; low relevance score |
| Landing page URL | Click destination | Traffic sent to wrong or deleted page |
| Inventory count | Retargeting logic and dynamic exclusions | Retargeting users for sold-out products |
How does poor feed quality waste your ad budget?
Poor feed quality does not just mean wrong prices. It covers any gap between what your feed contains and what Facebook needs to serve accurate, effective ads. Each type of feed problem wastes your budget in a different way.
| Feed Problem | What Happens to Your Ads | Budget Impact |
|---|---|---|
| Out-of-stock product in feed | Ad serves; shopper clicks; product unavailable | Full CPC cost; zero conversion possible |
| Wrong price in feed | Ad shows old price; landing page differs | High bounce rate; eroded shopper trust |
| Missing or broken image | Facebook uses placeholder or rejects product | Lower CTR; reduced ad delivery |
| Duplicate product IDs | Catalog confusion; wrong variants shown | Irrelevant ad shown to wrong audience |
| Missing product category | Weaker audience targeting signals | Lower relevance; higher CPM |
| Incorrect currency or format | Facebook rejects product or shows EUR 0 | Product excluded from campaigns entirely |
The cumulative effect: a catalog with 15% feed quality issues typically wastes 20 to 25% of daily ad spend on undeliverable impressions, zero-conversion clicks, and disapproved products. For a merchant spending EUR 1,000 per month on Facebook ads, that is EUR 200 to 250 lost every month to preventable feed errors.
With Koongo, the cost of preventing these issues is often significantly lower than the budget lost to outdated or incorrect product data. Instead of wasting ad spend on feed errors, you can automate feed synchronization, keep your catalog accurate, and still save money overall.
See Koongo pricing: Koongo Pricing
What is the difference between a static product list and a dynamic feed?
This is one of the most important distinctions in Facebook advertising for e-commerce merchants. A static product list and a dynamic product feed may look similar when you set them up – but they behave completely differently once your store starts changing.
| Static Product List | Dynamic Product Feed | |
|---|---|---|
| How it works | You manually upload a file once or add products one by one in Commerce Manager | Facebook fetches a live URL on a schedule you set |
| Price accuracy | Accurate only at the moment of upload | Accurate as of the last fetch – every hour or less |
| Stock updates | Manual update required each time | Automatic on every feed refresh |
| New products | Must be added manually | Appear automatically on next fetch |
| Discontinued products | Stay in catalog until manually removed | Auto-removed when missing from feed |
| Best for | Stores with under 20 products that never change | Any active e-commerce store |
If you are running dynamic product ads (DPAs) – where Facebook automatically shows each user the most relevant product from your catalog – you need a dynamic feed. A static list makes DPAs unreliable from day one, because the moment any price or stock level changes in your store, your catalog is already wrong.
How often should your Facebook product feed update?
Facebook allows you to set your feed fetch schedule in Commerce Manager. The right frequency depends on how often your prices and stock levels change – but most active stores need more frequent updates than they currently have.
| Update Frequency | Risk of Mismatch | Suited For | Verdict |
|---|---|---|---|
| Once per week | Very high | Static catalogs only | Not recommended |
| Once per day | Moderate to high | Stores with stable pricing | Minimum baseline |
| Every 6 hours | Low to moderate | Stores with occasional promotions | Acceptable |
| Every 60 minutes | Low | Most active e-commerce stores | Recommended |
| Every 15 minutes | Very low | Flash sale merchants | Best for promotions |
Facebook’s own recommendation: update your feed at least once every 24 hours. For merchants running frequent promotions or managing large catalogs with daily stock movement, hourly updates are the practical minimum.
Feed management platforms like Koongo support refresh frequencies of every 5, 15, or 60 minutes. This means that when a flash sale goes live on your store, your Facebook catalog reflects the new prices within minutes – not the next morning.
🔗 [Source: Shopify blog – how to set up and optimize Facebook dynamic product ads for e-commerce]
How do you fix Facebook feed sync issues step by step?
Most feed sync problems fall into one of three categories: the feed is not updating frequently enough, the feed file contains formatting errors that Facebook cannot read, or the feed is missing required attributes. Here is how to diagnose and fix each one.
Step 1: Check your current feed status in Commerce Manager
- Open Meta Commerce Manager (business.facebook.com/commerce)
- Navigate to Catalog > Data Sources
- Click on your feed and review the “Last upload” timestamp – if it is more than 24 hours ago, your feed is not refreshing correctly
- Check the “Issues” tab for any errors Facebook detected in your last fetch
Step 2: Identify the error type
- Format errors – Facebook cannot parse your XML or CSV file. Usually caused by special characters, missing closing tags, or incorrect column headers.
- Missing required fields – Your feed is missing one or more attributes Facebook requires: id, title, description, availability, condition, price, link, image_link.
- Invalid values – A field contains a value Facebook does not accept. Common examples: availability set to “yes” instead of “in stock”, or price missing the currency code.
- Fetch failures – Facebook cannot access your feed URL. Usually caused by a server-side error, incorrect URL, or authentication issue.
Step 3: Fix the most common errors
| Error | Cause | Fix |
|---|---|---|
| Feed URL returns 404 | Feed file path changed or plugin deactivated | Regenerate feed URL in your platform or feed tool |
| Price format invalid | Missing currency (e.g. “29.99” instead of “29.99 EUR”) | Add ISO currency code to price field |
| Availability value rejected | “yes/no” instead of “in stock/out of stock” | Map availability field to Facebook’s required values |
| Missing product description | Field left empty in store | Add minimum 30-character description to all products |
| Image URL broken | Product image deleted or moved in store | Update image URLs; check for broken links in feed |
| Duplicate product IDs | Variants submitted as separate products with same ID | Use unique ID per variant, or use item_group_id for grouping |
Step 4: Set up automatic scheduled fetching
- In Commerce Manager, go to Catalog > Data Sources > your feed
- Click “Settings” and find the “Schedule” section
- Set fetch frequency to “Hourly” for active stores, or “Every 15 minutes” if your feed tool supports it
- Save and trigger a manual fetch to confirm the new schedule works correctly
- Monitor the Issues tab over the next 24 hours to confirm no new errors appear
Step 5: Validate before the next campaign
Before launching any campaign that depends on accurate feed data – especially promotions – use Facebook’s Catalog Diagnostics tool to manually trigger a feed fetch and verify that prices and availability are correct across your top 20 to 30 products.
What attributes does your Facebook product feed actually need?
Facebook requires a minimum set of attributes for every product in your catalog. Missing even one required field causes the product to be rejected and excluded from all campaigns.
| Attribute | What It Contains | Required? |
|---|---|---|
| id | Unique product identifier (matches your store SKU or variant ID) | Required |
| title | Product name – should include brand, type, and key variant | Required |
| description | Product description – minimum 30 characters | Required |
| availability | “in stock”, “out of stock”, or “preorder” – exact values required | Required |
| condition | “new”, “used”, or “refurbished” | Required |
| price | Format: 29.99 EUR (number + space + ISO currency code) | Required |
| link | Direct URL to the product page on your store | Required |
| image_link | Direct URL to the main product image (minimum 500x500px) | Required |
| brand | Brand or manufacturer name | Recommended |
| google_product_category | Google taxonomy ID – improves targeting accuracy | Recommended |
| sale_price | Discounted price during a promotion – keeps original price for reference | Optional |
| item_group_id | Groups product variants (same product, different sizes/colors) | Recommended for apparel |
🔗 [Source: Meta Developer Docs ]
Frequently Asked Questions
How do I know if my Facebook catalog is showing wrong prices right now?
Open Meta Commerce Manager, go to Catalog > Items, and spot-check 10 to 15 products by comparing the price shown in the catalog against the current price on your website. Pay particular attention to any products that have recently been discounted or restocked. If you find mismatches, your feed refresh frequency is too low.
Can I use Facebook’s native Shopify or WooCommerce integration instead of a separate feed?
Yes. Both Shopify and WooCommerce have official Meta integrations that push product data to your catalog automatically. However, these native integrations often have limited control over feed format, refresh frequency, and attribute mapping. If you sell across multiple channels or need precise control over what goes into your catalog, a dedicated feed management tool gives you more flexibility.
What happens to my active campaigns when I fix my feed?
Fixing your feed does not pause or reset your campaigns. Facebook simply starts using the updated product data on the next catalog fetch. Ads in flight continue serving, but from the next fetch onward they will reflect corrected prices and availability. There is no need to rebuild campaigns after a feed fix.
How many products can I include in a Facebook catalog?
Facebook supports up to 100 million items per catalog. For most SMB merchants, catalog size is not a constraint. However, very large catalogs (above 50,000 products) should use batch feed uploads or the Catalog API rather than a single XML file, as large files can time out during fetching.
Why is Facebook showing my product even though I marked it out of stock?
This happens when your feed has not updated since you changed the stock status in your store. Facebook will continue showing the product until it fetches a new version of your feed that includes the updated availability value. Increasing your refresh frequency to hourly or more frequent resolves this immediately.
Does feed quality affect how much I pay for Facebook ads?
Indirectly, yes. Facebook’s ad delivery algorithm considers relevance and user experience signals. Campaigns that consistently send users to landing pages with wrong prices or unavailable products generate negative feedback signals – lower relevance scores, higher CPMs, and reduced delivery. A clean, accurate feed supports better ad delivery over time.
Can I use the same feed for Facebook and Google Shopping?
The product attributes are similar but not identical. Facebook and Google use slightly different field names and accepted values – for example, availability is “in stock” on Facebook but can be expressed differently for Google Merchant Center. A feed management tool can take your single product catalog and format it correctly for both channels simultaneously, saving you from maintaining two separate files.
The fastest way to stop wasting budget on wrong prices and out-of-stock products
The root cause of most Facebook ad feed problems is simple: your catalog is not updating often enough to keep pace with changes in your store. The fix is equally simple – increase your feed refresh frequency and validate your required attributes.
Start with these four actions:
- Check your feed’s last update timestamp in Commerce Manager right now
- Set your scheduled fetch to hourly as a minimum – every 15 minutes if you run promotions
- Run a full attribute audit against Facebook’s required field list and fix any missing or incorrectly formatted values
- Spot-check 10 products in your catalog against your live store prices and availability after the next feed fetch
For stores managing more than 200 to 300 products, doing this manually every time something changes is not sustainable. A feed management tool automates the entire process: it reads your store data, formats it correctly for Facebook’s catalog requirements, and refreshes the feed on a schedule that keeps your ads accurate at all times.
Koongo connects to your WooCommerce, Shopify, or Magento store and generates a Facebook-ready product feed that updates every 5 to 60 minutes – including correct price formatting, availability mapping, and all required attributes. This means when you run a sale, your Facebook ads reflect the new prices within minutes, not the next morning.
🔗 [Source: Statista – global social commerce and Facebook advertising revenue trends ]
| Stop losing budget to stale product data Koongo keeps your Facebook catalog accurate with feed updates every 5 to 60 minutes – automatically. Plans start from EUR 24 per month. Free 30-day trial, no credit card required.Start your free trial at koongo.com |