Catch feed errors before Google does.
A disapproved product stops showing in Google Shopping — silently. The causes are boring data problems: a GTIN with a mistyped check digit, a price written $24.99 instead of 24.99 USD, availability set to “yes” instead of in_stock. FeedGuard validates your feed against the channel spec, scores its health, and alerts you the moment a new error appears. From $19/month, flat — no per-SKU meter.
The errors that get products disapproved — caught before tonight’s submission.
Every product in the feed is checked against the documented channel spec: GS1 GTIN check digits, price format, channel availability vocabulary, title rules and sale-price sanity. This is the report FeedGuard produces — a sample, with illustrative rows.
| SKU · Product | Issue found | Severity | Status |
|---|---|---|---|
| FG-1042 Trail Runner Shoe | GTIN check digit fails the GS1 math — one mistyped digit is a disapproval | Error | Fix listed |
| FG-0871 Cotton Crew Tee | Price written $24.99 — the spec wants 24.99 USD | Error | Fix listed |
| FG-2210 Insulated Bottle | Availability set to yes — Google expects in_stock | Error | Fix listed |
| FG-0933 Canvas Tote | Promotional text in the title — “FREE SHIPPING!” is not allowed there | Warning | Fix listed |
| FG-0518 Everyday Hoodie | No spec issues found on this product | Pass | Clean |
Why FeedGuard
Merchant Center Diagnostics tells you what Google already disapproved — after the fact, with no alert and no score. FeedGuard's job starts earlier: catch the error before tonight's submission.
Spec validation, 40+ rules
Required attributes, duplicate ids, price and sale-price format, availability vocabulary per channel, promo text in titles, link and image checks — the documented disapproval classes, checked on every audit.
Real GTIN check digits
We run the GS1 check-digit math on every GTIN. One mistyped digit is a disapproval; an invented replacement risks an account-level misrepresentation strike. We flag it and tell you the honest fix.
Score + fix list
A 0–100 health score — the share of products that would pass clean today, minus up to 10 points for warnings — plus a per-product fix list in plain English. No 40-tab diagnostics spelunking.
Regression alerts
Every audit is diffed against your last one. A new error-severity issue fires your webhook (Slack, Discord, anything) immediately — so a Saturday spreadsheet edit doesn't become a Monday sales dip.
Plans from $19/mo
Flat pricing. DataFeedWatch starts at $64/mo for 1,000 SKUs and meters the rest. FeedGuard watches the feed you already have.
FeedGuard pricing
Straightforward plans — pick the tier that fits and check out securely. Every plan is described in full on the pricing page.
Starter
$19/mo
- 1 feed (Google Shopping or Meta catalog)
- Up to 5,000 products per audit
- Unlimited on-demand audits via API
- Full spec validation incl. GTIN check digits
- Health score + per-product fix list + CSV export
- Audit history with score trend
Growth
$49/mo
- 3 feeds, up to 25,000 products per audit
- Everything in Starter
- Regression diffing: new vs resolved issues per audit
- Webhook alerts (Slack/Discord) on new errors
- Hosted scheduled audits — we fetch your feed URL on your cadence
- Google + Meta rule packs
Agency
$129/mo
- 15 feeds, up to 100,000 products per audit
- Everything in Growth
- Hosted scheduled audits from your feed URL, plus full API access
- White-label fix-list reports for client stores
- Priority support
More of what FeedGuard does
Features
The watchdog for the product feed you already submit.
FG-1042, in plain English — Sample
No 40-tab diagnostics spelunking. Each issue on a product arrives with what the spec expects, what your feed sent, and the honest fix.
Four feed formats, one API
Submit CSV, TSV, XML (Google RSS style, namespaces handled), or JSON — or POST your catalog as a products payload. Any source works: Shopify's Google channel export, another feed tool's output, a spreadsheet.
How it works
Google + Meta rule packs
Each channel gets its own vocabulary and limits — Google wants availability in_stock , Meta wants in stock ; title limits differ. Audits run against the channel you actually submit to.
Health score with a published definition
Score = % of products with zero errors, minus up to 10 points for warning volume. Bands: healthy (90+), at risk (70–89), poor (40–69), critical (under 40). The definition is on this page, not in fine print.
Diffing on every audit
New issues, resolved issues, score delta — every audit is compared to the previous one, so you can see exactly what a feed change broke or fixed.
What you get
Hosted fetching + scheduled audits
On Growth and Agency, give FeedGuard your feed URL and a cadence and it fetches and audits the feed itself — no cron of yours required. Fetching is guarded (public URLs only, size-capped, redirect-limited, conditional requests so unchanged feeds cost nothing), and every run is on record: audited, unchanged, or failed — never silent.
Webhook alerts
When an audit introduces new error-severity issues, FeedGuard POSTs the details to your webhook within seconds. Delivery is recorded on the audit — if your endpoint was down, you'll see that too.
Plan limits enforced in code
Feeds per account and products per audit follow your tier (Starter 1 / 5,000 · Growth 3 / 25,000 · Agency 15 / 100,000). No surprise overage meters — the API simply enforces the plan you bought.
The details
How we compare
Competitor prices verified October 2026.
Quickstart
From signup to your first feed-health score in about ten minutes.
Pick your plan
Choose a tier above and check out securely with Stripe. You'll receive your account API key by email (operator-provisioned while we're in pre-launch).
Going further
Register your feed
curl -X POST localhost:8094/api/v1/feeds \ -H 'X-API-Key: fg_...' -H 'Content-Type: application/json' \ -d '{"name":"Google Shopping","channel":"google", "webhook_url":"https://hooks.slack.com/..."}' # -> {"feed_id": "feed_...", ...} Keep your api_key safe — only its hash is stored server-side.
Run your first audit
Export your feed from Shopify (or your feed tool) as CSV, then: curl -X POST localhost:8094/api/v1/feeds/<feed_id>/audits \ -H 'X-API-Key: fg_...' -H 'Content-Type: application/json' \ -d '{"format":"csv","content":"<your feed csv>"}' # -> {"score": 61, "band": "poor", "error_count": 4, ...} TSV, XML, and JSON feeds work the same way — or POST a {"products": [...]} payload directly.
Work the fix list
GET /api/v1/audits/<audit_id> returns every issue with the product, the rule, and the fix — or grab /export.csv for your spreadsheet. Fix in your store or feed tool, re-export, re-audit: the score delta shows your progress.
In depth
Put it on a schedule
On Growth and Agency, hand the watching to FeedGuard: point it at your feed URL, pick a cadence, and it fetches and audits the feed itself. curl -X PUT localhost:8094/api/v1/feeds/<feed_id>/schedule \ -H 'X-API-Key: fg_...' -H 'Content-Type: application/json' \ -d '{"source_url":"https://your-store.example.com/feed.csv", "interval_minutes":1440}' Every scheduled run is recorded and diffed against the last — new error-severity issues POST to your webhook automatically, and a failed fetch shows up as a failed run, never as silence. Prefer your own pipeline? Calling the audit endpoint from your cron or CI works exactly as before.
About FeedGuard
FeedGuard is a product-feed health monitor for online sellers. The problem it solves is quiet: every day, products get disapproved in Google Merchant Center and Meta catalogs over small data errors — a mistyped GTIN digit, a price formatted with a currency symbol, an availability value the channel doesn't accept — and the seller finds out from a sales report, days later. We're in pre-launch. The validation engine (Google + Meta rule packs, GS1 GTIN check digits), health scoring, audit diffing, webhook alerting, hosted feed fetching with scheduled audits, and API are built and tested (62 automated tests, all passing — including end-to-end audi
What we won't do
We won't claim landing-page mismatch detection until the crawler exists, won't invent customer results, and won't meter your SKUs. Flat price, published score definition, honest limits.