CatalogCanary

Description

Most feed plugins generate a file and go quiet. When the feed breaks — products
silently vanish, required fields go missing, a run hangs and never finishes —
you find out weeks later when your ad performance craters.

CatalogCanary treats the feed as something to guard, not just generate:

  • Meta catalog feed (CSV) regenerated hourly, built in batches so large
    catalogs never time out, and published atomically — Meta never fetches a
    half-written file.
  • Change monitoring — every run is compared against the last one. If your
    product count drops by more than your chosen threshold (10% by default) and
    you didn’t remove those products, you get an email immediately.
  • Required-field checking — products that would be rejected by Meta
    (missing price, image, description…) are reported to you with the exact
    missing fields, not silently dropped.
  • Variable products done properly — every variation becomes its own catalog
    item with its own price, image and link, grouped by item_group_id, with
    colour/size/material/pattern mapped to Meta’s variant fields. If a variable
    product ends up with no variations in the feed, that’s called out
    separately — it means the whole product has vanished from your catalog, which
    is easy to miss among per-variation warnings.
  • Stuck-run watchdog — a separate check catches runs that started and never
    finished, so a dying cron can’t take your feed down quietly.
  • A quiet admin screen — no review nags, no upsell banners, no dashboard
    spam. An alert history table and a Run Now button.

Everything listed above is free, and nothing on this list is a trial or a
teaser. There is a paid version, CatalogCanary Pro, which adds change diffs
showing exactly which products left the feed and when, exclusion rules by
category, tag, stock state, price or SKU, and webhook alerts into Slack. It is
mentioned once, at the bottom of the plugin’s own settings page, and nowhere
else in your admin.

FAQ

Where do I put the feed URL?

Meta Commerce Manager Catalog Data sources Scheduled feed. The URL is
shown on the CatalogCanary page under WooCommerce in your admin.

Which alerts are sent, and where?

Email to your site admin address, or any address you set on the settings
screen, when: a run fails, the product count drops by more than your threshold
(10% by default) vs the previous run, products are skipped for missing required
fields, or a run doesn’t finish within 6 hours. Every alert is also kept in an
on-site log in case your email delivery is broken.

Is my catalog exposed at a public URL?

The feed filename contains a long random token generated on your site, so it
cannot be guessed, and the folder is not browsable. You can regenerate the URL
at any time from the settings screen — the old one stops working immediately,
so remember to update it in Meta Commerce Manager.

Does it support Google Shopping / TikTok / Pinterest?

Not yet. CatalogCanary does one channel properly rather than 200 badly.

Can I extend it?

Yes. The plugin exposes catalogcanary_include_product and
catalogcanary_product_data filters, and catalogcanary_run_finished and
catalogcanary_alert actions. Everything the plugin advertises works without
any add-on — nothing here is reserved or locked. Pro adds features that do not
exist in this version; it does not switch on ones you already have.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“CatalogCanary” is open source software. The following people have contributed to this plugin.

Contributors

Translate “CatalogCanary” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.5.0

  • Added a single line at the foot of the CatalogCanary settings page noting that
    a paid version exists. No admin notices, no banners, nothing outside the
    plugin’s own screen, and no free feature was removed or gated to make room
    for it.

0.4.0

  • Added filters and actions so other plugins can exclude products, adjust feed
    data, react to a finished run, or deliver alerts elsewhere. No existing
    behaviour changes.

0.3.0

  • Settings screen: alert email, brand handling, and the drop-alert threshold
    are now configurable instead of fixed.
  • Per-product brands. Reads WooCommerce’s brand taxonomy, a brand attribute, or
    a brand custom field, falling back to a brand you choose — previously every
    item was sent with the shop name, which is wrong for multi-brand stores.
  • The feed URL now contains a random token, so nobody can guess it and download
    your whole catalog. It can be regenerated at any time.
  • Added an uninstall routine that removes all options, scheduled jobs and
    generated files.

0.2.0

  • Variable product support: one feed row per variation, shared item_group_id,
    and Woo attributes mapped to Meta’s color/size/material/pattern fields.
  • Variations inherit the parent’s image and description when they have none of
    their own, instead of failing validation.
  • New alerts for variable products that contribute nothing to the catalog —
    either no variations exist, or every one failed validation.
  • Alerts now name the product, not just its ID, and say which parent a failing
    variation belongs to.

0.1.0

  • Initial release: Meta CSV feed, batched generation, drop/missing-field/stuck
    alerts, admin status page.