Catalog health refers to the state of your product data pipeline — from Shopify through Galantis to Meta. A healthy catalog means product data in your WhatsApp messages is accurate, all product formats are functional, and no sync errors are silently causing product cards to display stale information or failing to push new products to Meta. Catalog health is not a one-time concern. It requires periodic monitoring — particularly after bulk Shopify changes, after sale events that shift prices, and whenever product image assets are updated.Documentation Index
Fetch the complete documentation index at: https://docs.digifist.com/llms.txt
Use this file to discover all available pages before exploring further.
What this covers
- The three per-product sync statuses and what each means
- Health metrics available in the Catalog module
- How to identify and resolve sync failures
- When to trigger a manual re-sync
- Monitoring the Meta Catalog token
Per-product sync status
Every product in Galantis has a Meta sync status that reflects whether it has been successfully pushed to Meta:| Status | Meaning | Action required |
|---|---|---|
PENDING | Queued for Meta upload — not yet pushed | None — the product is waiting to be processed by SyncMetaCatalogJob |
SYNCED | Successfully pushed to Meta — product data is live in the catalog | None — product is healthy |
FAILED | Sync error — the product was not pushed to Meta | Review error details and resolve the issue |
Catalog health metrics
The Catalog module surfaces three top-level health metrics: Sync success rate — The percentage of total products that haveSYNCED status. A healthy catalog should approach 100% for all non-excluded products. A declining sync success rate indicates accumulating failures that need attention.
Product errors — The count of products with FAILED status, broken down by error type. This is the primary actionable metric — each FAILED product represents a product that cannot appear in SPM or MPM messages until resolved.
Message usage — The number of SPM and MPM messages sent via campaigns and automations that referenced catalog products. This metric provides context for prioritization — a FAILED product referenced by an active high-volume automation is more urgent than a FAILED product in a draft template.
Common failure causes
Image format or size failure
Image format or size failure
The most common cause of
FAILED status. Meta requires product images to be JPEG or PNG format and at least 500×500px. Images that do not meet these requirements are rejected during the Meta push.How to resolve:- Identify the affected product in Catalog → [Product Name] → Error Details
- Update the product image in Shopify to meet the format and size requirements
- Save the product in Shopify — this triggers
ProcessShopifyProductUpdatedJoband updates the image in Galantis - The next
SyncMetaCatalogJobrun will re-attempt the push with the updated image
Meta Catalog token expired or revoked
Meta Catalog token expired or revoked
If your Meta Catalog access token expires or is revoked in Meta Business Manager, all Meta push attempts fail simultaneously. This produces a sudden spike of
FAILED status across many products at once rather than isolated individual failures.How to identify: A sudden increase in FAILED status across products that were previously SYNCED, with no corresponding changes in Shopify, strongly indicates a token issue rather than a product data problem.How to resolve:- Go to Settings → WhatsApp Connection and check the Meta Catalog token status
- If the token is expired or invalid, reconnect by going through the Meta OAuth flow again
- Once reconnected, trigger a manual Meta push or wait for the next
SyncMetaCatalogJobrun — products that failed due to the token issue will be re-attempted automatically
Missing required product fields
Missing required product fields
Meta requires certain fields to be present for a product to be accepted into a catalog — notably, a title, a price, and at least one image. Products missing these fields will fail the Meta push.How to resolve:
- Open the
FAILEDproduct in Catalog → [Product Name] → Error Details and check which field is flagged - Update the missing field in Shopify
- The Shopify product update webhook triggers
ProcessShopifyProductUpdatedJoband refreshes the Galantis record - The next Meta sync attempt will include the now-complete product data
Product deleted in Shopify but still referenced in a template
Product deleted in Shopify but still referenced in a template
If a product is deleted from Shopify, Galantis receives the
products/delete webhook and removes it from the Galantis catalog. However, if an active SPM or MPM template references that product, the template will fail for any recipients until the template is updated to reference a different product.How to identify: Campaign analytics or automation activity logs show FAILED message sends with a product-not-found error type.How to resolve:- Update the affected SPM or MPM template to reference an available,
SYNCEDproduct - Resubmit for Meta approval if required
- Reactivate any automations that were using the updated template
Triggering a manual re-sync
When sync errors have been resolved at the source — images fixed, fields updated, token refreshed — you can accelerate recovery by triggering a manual sync rather than waiting for the next automatic job run: For Shopify-side fixes — if you updated product data in Shopify (images, titles, prices), theproducts/update webhook fires automatically and queues the product for re-sync. No manual action required in most cases.
For Meta-side recovery after token issues — after reconnecting the Meta Catalog token, trigger a manual full sync from Catalog → Shopify Sync → Sync Now to re-queue all FAILED products for the next Meta push cycle.
See Shopify Sync for full manual sync instructions.
Monitoring cadence
Catalog health does not require daily review for most stores — the automatic sync handles ongoing changes reliably. We recommend checking catalog health:- After any bulk product operation in Shopify — price changes, image updates, bulk tag edits, or CSV imports
- Before launching a campaign that uses SPM or MPM formats — verify that all referenced products have
SYNCEDstatus - After any change to your Meta Catalog token — verify no mass failures appeared
- Monthly — a routine check of sync success rate and
FAILEDcount ensures no silent accumulation of errors
Best practices
- Resolve
FAILEDproducts before activating catalog-dependent automations. An SPM automation with aFAILEDproduct will send messages that display a broken or missing product card until the issue is resolved. - Address image failures in Shopify, not in Galantis. Galantis syncs images from Shopify — fixing the image at the Galantis level is not possible. Update the image in Shopify and the webhook will propagate the fix.
- Set up a recurring catalog health check before major campaign periods. Sale events, holiday campaigns, and product launches all involve catalog changes. Verifying catalog health before a send ensures the products customers see in their messages are accurate.
- Exclude products that consistently fail using
exclude_from_syncforceif they cannot be fixed immediately. This removes them from the failure count and prevents them from blocking catalog push jobs while the underlying issue is resolved. See Product Fields.
Related guides
- Shopify Sync — How to trigger a manual full re-sync
- Meta Catalog — Managing the catalog token and connection
- Variants & Pricing — Variant-level data that affects individual product sync status
- Support — Catalog Sync Errors — Detailed troubleshooting for sync failures