When your Shopify Facebook catalogue not syncing problem appears, the fix is almost never the same twice — because at least six distinct failure modes produce the identical symptom of missing or unavailable products in Meta Commerce Manager. This guide maps each cause to its exact remedy, and adds one piece of context that most troubleshooting resources omit entirely: for South African merchants, the catalogue's primary purpose is not a Facebook storefront but the engine behind Shopify's Meta advertising integration for Advantage+ Shopping campaigns and dynamic retargeting ads.
Understanding what the catalogue is supposed to do in an SA context changes how you read the error. Shopify products not syncing to Facebook is a different problem depending on what outcome you expect: if products are absent from a Facebook Shop, South Africa is not on Meta's supported countries list for native Shops — so that specific symptom has no fix. But if your catalogue errors are blocking your dynamic ads or Advantage+ campaigns, every one of those errors is fixable, and the six sections below cover all of them.
Quick Answer
A Shopify Facebook catalogue not syncing typically has one of six causes: an expired OAuth token; a product missing a required field such as an image or variant data; an untracked inventory SKU that Shopify sends to Meta as null (which Meta reads as zero stock); a product-eligibility violation like a digital download or a Commerce Policy breach; an unverified domain in Meta Business Manager; or a duplicate catalogue conflict from a manual setup.
Each cause has a specific fix in Shopify admin or Commerce Manager Diagnostics — and in every case the fix must be made in Shopify, not directly in Commerce Manager, or future syncs will overwrite your changes.
Jump to a section
What the Catalogue Does for SA Merchants
The Six Failure Modes and Their Fixes
Diagnose Your Exact Error First
Fix 2 — Missing Required Product Fields
Catalogue errors blocking your Meta ads?
Send us your Commerce Manager diagnostics output and we will identify which failure mode applies and map out the exact fix steps for your store.
Get a free catalogue diagnosisWhat the Meta Catalogue Actually Does for South African Stores
The Meta product catalogue is the structured data layer that connects your Shopify product inventory to Meta's advertising systems. For SA merchants, it powers two high-value ad formats: Advantage+ Shopping Campaigns, which automatically show the most relevant products from your catalogue to people likely to buy, and dynamic retargeting ads, which serve product-specific ads to shoppers who have already browsed your site.
Facebook Shops in South Africa: Meta's native Facebook Shop — where customers browse and complete purchases without leaving Facebook — is not available in South Africa. South Africa does not appear on Meta's supported countries list for Shops functionality. Meta also phased out on-platform checkout globally in August 2025; even in supported markets, all shops now redirect buyers to the merchant's own website checkout. SA merchants who see a "Commerce Account unavailable in your region" message are hitting a genuine geographic limitation, not a fixable error. The catalogue setup that follows is for advertising purposes — and that is where the real revenue sits anyway.
SA online retail has grown to its largest recorded annual volume, according to World Wide Worx research, with Meta Advantage+ Shopping campaigns pulling from a clean, complete Shopify catalogue among the most efficient ways to reach SA shoppers already in-market for your product category. Getting the catalogue right is not a housekeeping task — it is a prerequisite for your best-performing ad formats.
Why Is Your Shopify Facebook Catalogue Not Syncing? The Six Root Causes
A single error message — "products not available" or "sync incomplete" — can come from any of six completely different problems, each needing a different fix. A Shopify meta catalogue sync error in Commerce Manager Diagnostics will fall into one of two top-level states: Out of Stock (Meta received an inventory value of zero — self-resolving when you restock) or Items Not Available (a broader status covering image, URL, price, and policy problems that require active fixes). The table below maps symptom to root cause so you can go straight to the right section rather than trying every fix in sequence.
| Symptom | Most Likely Cause | Fix Section |
|---|---|---|
| Was syncing fine, now broken — no product changes made | Expired OAuth token (Meta access tokens expire after ~60 days) | Fix 1 |
| Specific products missing; error shown in Shopify admin | Missing required field: product image or variant data (GPC is a warning for SA stores, not a blocker) | Fix 2 |
| "Items Not Available" in Commerce Manager despite Shopify stock being live | Inventory tracking disabled → Shopify sends null → Meta reads as zero stock | Fix 3 |
| Certain product types never appear regardless of settings | Product ineligibility: digital downloads, free items, policy violations | Fix 4 |
| Pixel not reporting; catalogue errors including URL or domain issues | Domain not verified in Meta Business Manager | Fix 5 |
| Shopify-linked catalogue missing; only a manual catalogue appears | Pre-existing manual catalogue in Commerce Manager conflicts with Shopify sync | Fix 6 |
Diagnose Your Exact Error Before Applying Any Fix
Commerce Manager's Diagnostics tab gives you the most precise error data available — more specific than anything visible in your Shopify admin — and it should be your first stop before changing anything. Every shopify catalogue sync not working scenario in this guide starts with reading the exact error from this tab, because the symptom alone does not tell you which failure mode you are dealing with.
- Open Meta Commerce Manager and select your catalogue.
- Go to Catalogs → Items → filter by "Availability: Not Available".
- Click into three to five unavailable items to read Meta's specific diagnostic message for each.
- Each item shows either Out of Stock (inventory received as zero — check Fix 3 if Shopify stock is live) or Items Not Available with a sub-reason: an image problem, a URL problem, a price problem, or a policy rejection — each maps to a fix section below.
- Note the error type, then use the corresponding fix section below.
Key distinction
"Out of Stock" in Commerce Manager means Meta knows the product exists and the inventory value it received is zero — this resolves automatically when you replenish stock in Shopify. "Items Not Available" is a different, broader status that covers URL problems, image problems, price problems, and policy violations — it does not resolve on its own and needs active troubleshooting using the steps below.
Fix 1 — Expired OAuth Token (The Most Common "Suddenly Stopped" Cause)
An expired Meta access token is the most frequent cause of a facebook catalogue not updating Shopify products in Meta — the integration stops pushing new data silently, with no error alert in either platform. Meta long-lived user access tokens expire after approximately 60 days as a security measure. When the token expires, Shopify loses its authorisation to push data to your Meta catalogue, and the sync stops.
How to fix it:
- In your Shopify admin, go to Sales channels → Facebook & Instagram.
- Look for a banner or status indicator showing "Connection expired" or a prompt to reconnect.
- Click Reconnect or Settings → Disconnect, then log back into Facebook and grant all requested permissions again.
- Complete the reconnection flow without skipping any permission steps — a partial permission grant is a common cause of repeat failures.
After reconnecting, allow up to 24 hours for a full catalogue refresh. Manual syncs update in one to four hours; scheduled syncs can take up to 24 hours; propagation to your active ad sets may take a further two to six hours. If you are checking the same day, incomplete results are expected.
Fix 2 — Missing Required Product Fields
Shopify surfaces three categories of product-level publishing errors in the Facebook & Instagram sales channel: missing imagery, unassigned product categories, and incomplete variant data. Each must be corrected inside Shopify — not in Commerce Manager — or your edits will be overwritten on the next sync cycle.
To review errors in bulk, go to Sales channels → Facebook & Instagram → Overview → View products. Products with errors show a warning badge. Select affected products, click Edit products, and address:
- Missing image: Each product needs at least one image meeting Meta's minimum quality requirements.
- Google Product Category (warning, not a blocker for SA stores): Because SA merchants cannot use direct Facebook or Instagram checkout, an unassigned or shallow GPC will show as a Shopify admin warning but will not block catalogue sync. Assigning an accurate two-level-deep category — for example, "Apparel & Accessories > Clothing" — improves ad-targeting quality and is recommended practice, but it is not the cause of a blocked sync for non-checkout stores.
- Variant data incomplete: Variant attributes such as size, colour, and material must be correctly mapped. Missing values break the variant linking that lets Meta display the right variant in your ads.
SA note on Google Product Category: Direct Facebook or Instagram checkout is not available in South Africa, so the two-level-deep category requirement that is mandatory for checkout countries applies differently here. However, assigning accurate, specific categories still improves ad targeting relevance and is recommended practice regardless of checkout availability.
After saving corrections in Shopify, product details sync to Meta within approximately 15 minutes. Check Commerce Manager Diagnostics again after 30 minutes to confirm the error has cleared.
Fix 3 — The Null Inventory Trap
This is the most counterintuitive sync failure SA merchants encounter. If inventory tracking is disabled for a product or variant in Shopify, the platform sends a null inventory value — not a positive stock number — to Meta. Meta interprets null as zero and marks the product unavailable in your catalogue, even though the product is fully purchasable on your Shopify store.
What goes wrong: You sell a handmade item or a made-to-order product and you have not turned on inventory tracking because you restock on demand. Shopify pushes null to Meta. Meta displays "Items Not Available" in Commerce Manager. Your product is excluded from dynamic ads and Advantage+ Shopping Campaigns despite being live on your store.
The fix: In each affected product's settings in Shopify admin, go to the Inventory section, check "Track quantity", enter a stock number, and check "Continue selling when out of stock" if you do not want stockouts to remove the product from your ads. Save the product. Shopify now sends a positive integer to Meta instead of null, and the availability status updates on the next sync cycle.
Fix 4 — Product Ineligibility
Certain product types are permanently ineligible for Meta catalogue sync regardless of how they are configured. The Shopify Help Centre confirms that eligible products must require shipping (excluding digital downloads), must not be offered for free, and must comply fully with Meta's Commerce Policy. Categories that generate rejections in SA stores include:
- Digital products and downloadable files (no shipping required)
- Free products or giveaways (price must be above zero)
- Products in restricted categories: alcohol, adult content, supplements, weapons, counterfeit goods
- Products with insufficient descriptions or titles that violate content standards
If Commerce Manager Diagnostics flags a product as a "policy violation", review the rejection reason against Meta's Commerce Policy directly. Policy rejections require content changes — not a reconnect or field update. If a product is permanently ineligible, the correct action is to exclude it from your Facebook & Instagram sales channel rather than leaving it in an error state that can affect the health score of your overall catalogue.
Getting Meta catalogue rejections you can't decode?
Share your Commerce Manager Diagnostics output and we'll identify which category each rejection falls into and what content changes, if any, will clear it.
Book a free auditFix 5 — Domain Not Verified in Meta Business Manager
Domain verification in Meta Business Manager is a prerequisite for full catalogue and pixel functionality. Without it, Meta has no confirmed record of website ownership for your domain, which practitioners report can cause product URL rejections and unreliable Pixel event reporting. This is a commonly skipped step in initial Shopify-Meta setups.
To verify your domain:
- In Meta Business Manager, go to Business Settings → Brand Safety → Domains → Add.
- Enter your Shopify store's domain.
- Choose a verification method: Meta tag (add to your theme's
<head>), DNS TXT record, or HTML file upload. - For Shopify stores, the Meta tag method is simplest: go to Online Store → Themes → Customize → Theme settings → Additional scripts and paste the tag there.
- DNS changes can take up to 72 hours to propagate — if verification does not confirm immediately, wait before assuming the method failed.
After verification, return to Commerce Manager Diagnostics and check whether any URL-related errors have cleared. A newly verified domain does not trigger a full re-sync, so some errors may need a manual feed refresh to resolve.
Fix 6 — Duplicate Catalogue Conflict
A Shopify Facebook catalogue not syncing after a fresh install often traces to this cause: if you set up a catalogue manually in Meta Commerce Manager before installing the Shopify Facebook & Instagram app, the Shopify-managed catalogue may conflict with the pre-existing one. In this scenario, the manual catalogue persists and Shopify's sync cannot override it. The Shopify-linked catalogue either fails to appear or updates inconsistently.
Fix: In Commerce Manager, identify the manually created catalogue and either delete it or disconnect it from your Business Manager. Then, in Shopify admin, disconnect and reinstall the Facebook & Instagram channel. On reconnection, Shopify creates and takes ownership of a new catalogue. Going forward, treat the Shopify admin as the single source of truth — any product edits made directly in Commerce Manager will be overwritten the next time Shopify syncs.
SA-specific: Collections do not sync automatically
For South African stores, product collections do not sync automatically between Shopify and Meta Commerce Manager — automatic collection sync is limited to US-based stores. If you want to organise your Meta catalogue into collections for use in your ad sets, you need to create those collections manually inside Commerce Manager after the product sync is working correctly. This is expected behaviour, not a fault in your integration.
Why South African Businesses Choose Growth Pulse Media for Shopify Meta Integration
Growth Pulse Media was founded after Dirk van Greuning built and scaled a large South African ecommerce business — which means the Shopify-Meta integration questions in this guide are not theoretical. The difference between a null inventory value and a genuine out-of-stock, or between a Facebook Shop restriction and a fixable catalogue error, is the kind of distinction that only matters when you have seen it cost actual ad spend.
As a registered Shopify marketing agency, Growth Pulse Media handles the full integration stack — catalogue setup, Meta Pixel and Conversions API configuration, Advantage+ Shopping campaign structure, and the ongoing catalogue maintenance that keeps dynamic ads running cleanly. All work is executed in-house, and client load is kept deliberately small so senior attention stays on every account.
Who This Is NOT For
You are selling digital products exclusively. Digital downloads are permanently ineligible for the Meta catalogue. No configuration change or workaround makes them eligible. If your entire store is digital goods, the Shopify-Meta integration does not have a product catalogue use case for you.
You want a Facebook Shop as a storefront in South Africa. Facebook Shops native functionality is not available in South Africa. The catalogue setup described here is for advertising — not for building a browsable Facebook storefront. If a storefront on Meta is your goal, that is not achievable in SA regardless of how the catalogue is configured.
You are looking for a permanent fix without ongoing management. Meta access tokens expire periodically, Commerce Policy updates can retroactively flag products, and Shopify app updates occasionally reset connection settings. A clean catalogue at setup requires periodic checks — typically quarterly at minimum — to stay error-free. A set-and-forget approach to catalogue management will produce recurring sync failures.
Need someone to run through all six failure modes with you?
Book a free 30-minute catalogue assessment — we'll confirm which failure mode applies, walk through the fix, and tell you whether your feed is healthy enough to scale Meta ad spend.
Book a free catalogue assessmentFrequently Asked Questions
Why are my Shopify products not showing in my Facebook catalogue even though I just set up the integration?
A newly connected Shopify Facebook catalogue can take up to 24 hours for a full initial sync, and propagation to your ad sets may take an additional two to six hours after that. If products are still missing after 24 hours, check Commerce Manager → Catalogs → Items → filter by "Availability: Not Available" to identify specific error messages. The most common first-time setup issues are a product image that does not meet Meta's specifications and incomplete variant data on multi-option products. For SA stores, an unassigned Google Product Category shows as a Shopify admin warning but does not block catalogue sync — GPC is optional where checkout happens on the merchant's website.
How do I stop my Shopify Facebook catalogue from showing products as out of stock when they are not?
The most likely cause is the null inventory trap: when inventory tracking is disabled in Shopify, the platform sends a null value to Meta rather than a positive stock number, and Meta reads null as zero. Enable "Track quantity" for each affected product in Shopify admin, enter a stock number, and turn on "Continue selling when out of stock" if the product is always available. This sends Meta a positive integer and resolves the unavailability status on the next sync.
My Shopify Meta catalogue was working fine and then stopped — what changed?
The most likely cause is an expired Meta OAuth access token — these expire after approximately 60 days and the sync stops silently with no error alert. Go to Shopify admin → Sales channels → Facebook & Instagram, reconnect by logging back into Facebook, and accept all requested permissions. Allow up to 24 hours for the catalogue to refresh after reconnecting.
Can South African Shopify merchants use a Facebook Shop?
South Africa is not on Meta's supported countries list for Facebook Shops. SA merchants will encounter a "Commerce Account unavailable in your region" message if they try to enable the Shops storefront feature. However, the Shopify-Meta catalogue integration is still fully functional in South Africa for advertising: it powers Advantage+ Shopping Campaigns, dynamic retargeting ads, and product tagging in posts and Reels. Getting the catalogue clean is worth doing — the value is in the ad formats, not the shop storefront.
Should I fix catalogue errors in Meta Commerce Manager or in Shopify?
Always fix product errors in Shopify admin, not directly in Commerce Manager. The Shopify-Meta integration treats Shopify as the master data source. Any changes made directly in Commerce Manager will be overwritten the next time Shopify syncs your catalogue — which can happen within minutes for a manual refresh or within 24 hours for a scheduled one. Make the change in Shopify, save it, then allow 15 to 30 minutes before checking whether Commerce Manager reflects the update.
Get your Shopify Meta catalogue working and keep it clean
Growth Pulse Media handles catalogue setup, Pixel and Conversions API configuration, and Advantage+ Shopping campaigns for South African Shopify stores — all in-house, with senior-level attention on every account. No obligation — we'll get back to you within 24 hours.
Request a free catalogue review

