Shopify Products Not Syncing to Meta Catalog? Fix Each Stage
When a Shopify product does not appear on Facebook or Instagram, the cause is usually in one of four places: the sales channel connection, the product's eligibility, the product data, or the catalog that Meta holds. The fix depends on which one is broken. This guide walks through each stage in the order we check it, using Shopify's Help Centre and Meta's developer documentation as the reference, checked on 15 October 2026.
Shopify and Meta change these screens and limits from time to time. Re-check the linked pages before you act on a number in this article.
What does "not syncing" usually mean?
Three different problems get described as "not syncing", and each one needs a different fix. A product can be missing from the channel entirely, sitting in an error state with a publishing problem, or live on Meta with stale price or stock. Start by working out which one you have, because fixing stale stock on a product that Meta has rejected wastes a day.
Missing products usually mean the product was never made available on Facebook, or it failed an eligibility rule. Error states show up in the Issues column. Stale data means the product is approved but a field changed on your store and did not reach Meta.

Photo: nenad53 via Flickr, CC BY 2.0
How do you check sync status in Shopify?
Open Sales channels, then Facebook and Instagram. The Product status section on the Overview page shows sync status and errors. Select View products, then read the Issues column for each product. On mobile, the Shopify app shows a product status summary under Sales channels, then Facebook.
To find products that never reached the channel, go to Products, select More filters, then choose Availability and "Unavailable on Facebook". Select the products, choose More actions, then Add available channel(s), select Facebook and confirm with Make products available. Do this check before anything else, because it catches the most common cause in one step.
Which product rules stop a product from appearing?
Shopify lists the conditions a product must meet before it can appear on Facebook. A product must be available to Facebook, require shipping, have a return policy, and have a title, description and image that meet Meta's catalog specifications. It must also be eligible under Meta's Commerce Policy and must have a Google Product Category assigned. Free products do not qualify.
Two of these trip up stores most often. Digital products do not qualify, so a downloadable product will not sync even when everything else is correct. Products without a Google Product Category are the second. Shopify auto-fills the category the first time a product syncs, but it does not always get it right, so review the value in the bulk editor. Shopify's own guide on Google product categories for Facebook and Instagram says the category must be at least two levels deep for tax purposes. Meta assigns a category only when a product sold with Facebook or Instagram checkout has none, and it never overrides one you have selected.
Also remember that all Facebook and Instagram features share one catalog. You cannot make a product visible on Facebook Shop but hidden from Instagram Shopping. If a product should not appear anywhere, hide it from the channel itself, not from one surface.
What do the common publishing errors mean?
Shopify's publishing errors are specific, and each one has a direct fix. Work through them in the bulk product editor under Sales channels, then Facebook and Instagram. You must fix an error before Shopify will sync that product again, so a product with an open error will stay stuck even if you change other fields.
| Error shown | What to do |
|---|---|
| "Add a product image" | Click the placeholder and upload or select an image. The image must meet the size and format limits below. |
| "Select a product category" | Enter a Google product category that matches the product. Some categories need extra details, such as age. |
| "Fix product variant errors" | Add details to each variant, such as size and colour, so every variant has a clear option name and value. |
After you save, changes usually reach Facebook within a few minutes. If a product still shows an error after you have fixed the field, check whether a second field in the same product is blank. A single missing required value can block a product that otherwise looks complete.
Why does Meta flag a product even when the data looks right?
Policy rejections are the hardest to diagnose, because the reason is about the product and not the feed. Meta's Commerce Policies restrict some product categories and some kinds of claims, and a listing that breaks them can be rejected or removed. We could not open Meta's current approval-troubleshooting page to list every rejection reason word for word, so do not rely on a reason list from any blog, including this one. Read the reason shown on the product in Commerce Manager and compare the product against the policy text on that page.
Feed-level problems are easier to read, and Meta's troubleshooting guide for data feeds explains where to find them. Meta's developer documentation separates two issue severities. A fatal issue means Meta cannot ingest the item at all. A warning means a recommended attribute is missing or badly formatted, so the item may sync but with lower quality. Fix fatal issues first, then clear warnings in a second pass.
What are the data and image limits Meta checks?
Most rejections on the data side come from a short list of fields. Meta's catalog specification for product fields sets these limits, and they are the first thing to check against a product that will not sync.

| Field | Requirement from Meta's catalog specification |
|---|---|
| id | Up to 100 characters, unique. If two items share an ID, Meta ignores all of them. |
| title | Up to 200 characters, but Meta recommends a maximum of 65 so titles are not cut off. |
| description | Up to 9,999 characters, plain text, not HTML. |
| brand | Up to 100 characters. |
| availability | "in stock" or "out of stock". |
| condition | "new", "refurbished" or "used". |
| price | A number, a space, then a three-letter ISO currency code, such as 9.99 USD. Use a full stop as the decimal point and no currency symbol. |
| link | Must start with http:// or https:// and sit on your own website domain. |
| image_link | JPEG or PNG, at least 500 x 500 pixels, up to 8 MB. |
The price format catches more stores than any other field. Meta wants a number with a full stop as the decimal point, a space, then a three-letter currency code. A price written as "Rs 1,299" carries a symbol and a comma, and both break the format. Check one product's price against this pattern before assuming the rest are fine.
Image problems look like a missing image even when one is uploaded. A file that is too small, too large or in a format Meta does not accept will fail the same way as an empty field. Compress large images before upload and check the pixel dimensions of every product image, not only the one you see in your store.
Why are variants or collections missing on Instagram?
Variants usually go missing for one of two reasons. The variant has no size or colour value, so Meta cannot place it, or the variant sits under a product that already has an open error. Fix the variant options in Shopify, then check the product again. Do not split one product into several products to work around a variant problem. Meta ignores every item that shares an ID, so duplicates make the problem harder to see.
Collections are a country issue. Shopify's guide says collections sync to Facebook only for stores based in the United States. If your store is based in India, create the collections you want to show in Commerce Manager instead, and do not expect the Shopify collections you set up to appear on Meta.
Why do prices and stock on Instagram lag behind your store?
Shopify says product edits usually appear on Facebook within a few minutes. Google product category changes sync within 15 minutes according to the Shopify guide. If a change is older than that, the product is not updating, so look at the product status first. Two things stop updates: a disconnected channel, and a product with an open error, which Shopify says must be fixed before the product syncs again.
Stock lag is a separate issue from channel errors. If Shopify shows the right quantity but Meta shows an old one, confirm the product still has no open error and that the channel is connected, then check the stock on the Shopify side. Our guide on why Shopify inventory stops syncing covers the store-side checks in detail, and it is worth reading before you blame Meta.
Is an India-based store eligible for Facebook and Instagram shops?
This is the part we can only partly confirm. Shopify's setup guide does not name India or any other country as supported or unsupported. It says that if you see an error that Meta does not offer shop or catalogue setup in your region, you should check your location against Meta's "Supported countries for Shops on Facebook and Instagram" list. We could not open that list or Meta's current Commerce Eligibility Requirements page while preparing this article, so we cannot tell you that India is supported.
What we can confirm from Shopify's guide is what Instagram expects from the account. You need an Instagram professional account, an established presence that may include a sufficient follower base, and an account that is eligible to sell as a business. Shopify also says you are responsible for collecting taxes on orders placed through this channel, so check Settings, then Taxes and Duties before you launch. Community threads from Indian merchants describe region errors, but those are reports from individuals, not Meta policy, so treat them as a prompt to check your region, not as an answer.
If you hit the region error, do not spend days reconnecting. Confirm the country list first. If you are blocked by region, the steps below will not fix it, and you should check the options with Meta directly.
How do you reconnect the channel without breaking the catalog?
Reconnect only when the status screens show a connection problem, because removing and reinstalling the channel is disruptive. If you do need to, follow Shopify's steps. Go to Sales channels in Shopify admin and remove Facebook and Instagram. In your Facebook account settings, open Business Integrations and remove Shopify. Then open a private or incognito window, sign in to only one Facebook account, return to Shopify admin and reinstall the channel.
Check two things before you start. First, your Commerce Manager account name must match the public name of your business, use no special characters, and must not include the words "facebook", "ig" or "meta". If you rename the account, reconnect it in Shopify. An "Account Name Not Allowed" error means the name breaks these rules. Second, after reconnecting, run the "Unavailable on Facebook" filter again, because products can drop off the channel and need to be made available once more.
When should you use a feed app instead of the native channel?
The native channel is the right default for a store with a clean catalog, a US-style setup and no unusual rules. A feed app, which builds a product file that Commerce Manager reads on a schedule, makes more sense in a few specific cases. Use one when you need different titles or fields for Meta than for your store, when you need rules that exclude products by tag, vendor or stock level, which many feed apps offer, when you run more than one store into one catalog, or when the native channel keeps failing on the same products and you cannot find the cause.
A feed app adds a second system, so it adds a second place to look when something breaks. Feed-based uploads report errors and warnings per upload session in Commerce Manager's Diagnostics section, and Meta's developer documentation says error reports older than 30 days are no longer available. Download reports while they are current, because older ones cannot be retrieved. Fix the source data in Shopify first, because a feed app that copies bad data simply sends the same errors faster.
How do tracking and integration fit into a catalog fix?
A product can be approved and still show as missing in Meta's reporting. Meta's developer documentation lists three causes for missing items: the content_id in your pixel or app event does not match the ID in the data feed, the pixel or app is not linked to the catalog, or the item does not exist in the catalog. If product IDs change during a theme or app update, the catalog and the pixel can drift apart.
That is why catalog sync and conversion tracking should be checked together. Our post on setting up the Meta Pixel and Conversions API on Shopify covers how the events and product IDs should line up, and the analytics setup that matters explains which reports to watch once the catalog is healthy.
What should you check every week?
Once a week, check three places. Open the Product status on the Facebook and Instagram Overview page for new errors. Run the Unavailable on Facebook filter for products that dropped off. Then open Commerce Manager and read the Issues list, fixing fatal issues before warnings. Keep a short log of what you changed, so the next problem has a history to compare against.
Get a free catalog sync diagnostic
If your Shopify products are missing or stale on Facebook or Instagram and the steps above have not fixed it, we will look at it for free. Email hello@exactwhy.com with the subject line "Free Meta Catalog Sync Diagnostic" and include your store URL, whether you sell on Facebook, Instagram or both, and one product that will not sync. We reply within 4 hours with a review of your channel status, the products stuck in errors, the data and image fields that break Meta's limits, and the next steps in order. The diagnostic is a review, not a sales call.