Skip to main content

Monitoring vs validation: catching the error before you submit it

M
Muhammad Norafif
Aug 30, 2026 8 min read

A disapproval email is a post-mortem. By the time you read it the items are already out of the auction and the spend has already gone to the wrong products. Validation catches problems at submission. Monitoring catches them before submission, and catches the ones validation structurally cannot see.

What you'll take away

  • Validation is a gate, monitoring is a watch — one asks "is this acceptable now", the other asks "has anything changed".
  • Four signals cover most failures — error-rate delta, disapproval spike, sync failure, attribute coverage.
  • Alert on deviation, not on absolute counts — thresholds built from your own rolling baseline are the ones you'll still respect in a month.
  • Build sync failure first — cheapest to implement, worst blast radius when it breaks.

Validation is a gate. Monitoring is a watch.

Validation answers one question: is the feed acceptable right now? It runs at a moment, usually just before upload, and if the feed passes you stop thinking about it.

Feeds do not stay clean just because nobody touched them on purpose. A plugin update changes how variants are exported. A supplier renames a column. An image host starts failing on a batch of URLs. A developer loads new products through an import path that skips enrichment. Each of those lands after validation passed and before anyone looks again, and the next thing to read the feed is usually the channel.

ValidationMonitoring
QuestionIs the feed acceptable now?Has the feed's condition changed?
When it runsOn demand, before uploadOn every sync
CatchesSchema and policy breaches in this fileDrift, silent regressions, sync failures
MissesEverything that changes after it passedNothing changed, but the data was always wrong

Monitoring inverts the order. Instead of checking the feed when you submit, you check it on every sync and alert when its condition moves. The unit of analysis shifts from "are there errors" to "has error behaviour changed", which is the question that predicts trouble.

The four signals worth alerting on

Not every field deserves an alert. These four cover most feed failures, and each maps to a distinct failure mode.

SignalWhat it catchesCompare against
Error-rate deltaA recent change: an update, an import path, a renamed columnA 7-day rolling average
Disapproval spikeYour bug, or a channel policy update landing on a categoryNew disapprovals per sync
Sync failureThe feed never updated, so nothing erroredAge of the last successful sync
Attribute coverageNew items entering without enrichmentShare of items carrying each key attribute

Error-rate delta

Suppose a feed sits near 1% item errors for months. That is stable, and you can fix it whenever. Now a single sync takes it to 4%. The level alone tells you little, because both states are just numbers. The change tells you something happened recently, and recent causes are findable causes. Alert on the delta against a rolling baseline rather than on an absolute count, because absolute thresholds either cry wolf weekly or sit quiet while the feed drifts.

Disapproval spike

Count new disapprovals per sync against their rolling average, which is a different number from your total disapproval count. That total includes everything you already triaged. Spikes matter because two very different events surface here first: a bug in your own feed, and a channel policy update that disapproves a category you have sold for years without changing anything.

Sync failure

The quietest failure is the one with no errors

If the feed did not update at all, nothing was submitted and nothing errored. A stale feed carries stale prices, which produces price-mismatch disapprovals, or ads running against a price you no longer honour. On a daily feed, an alert on last-successful-sync age is the highest-value monitor you can build.

Attribute coverage drop

Measure the share of items carrying the attributes your campaigns segment on: GTIN, brand, size, colour, whatever your ad groups target. Coverage drops when new products enter through a path that skips enrichment. Nothing errors. The items simply fall out of the ad groups that require those attributes, and the campaign quietly shrinks.

A monitoring dashboard with trend lines
Every one of these signals is a comparison against the feed's own history, not against a number somebody published.

Thresholds you will actually respect

Thresholds fail in one direction. Too tight, and you train yourself to ignore alerts, at which point the monitor is decoration. Build them from your own rolling baselines. A workable starting configuration:

alerts:
  error_rate_delta:
    compare: current sync vs 7-day rolling average
    trigger: rate above 2x baseline
  disapproval_spike:
    compare: new disapprovals vs 7-day rolling average
    trigger: count above 3x baseline
  sync_failure:
    trigger: last successful sync older than one cycle + 6h
  attribute_coverage:
    attributes: [gtin, brand, size, color]
    trigger: coverage below 95%, or a 3-point drop vs last sync

Treat every value there as a starting point to tune against your own data. The mechanism is what matters: compare the feed to its own history, alert on deviation, and re-tighten any threshold that fires an alert you ignore.

Image compliance as a recurring checklist

Image rejections are the most mechanical failures in feed management, which makes them the easiest to automate. The requirements are stable and boring, which is exactly why a script should hold them instead of your memory.

Five image checks worth running on a schedule

1
Dimensions — Google's specification calls for at least 500 by 500 pixels, enforced from 31 January 2027. Read the current spec rather than working from memory, because minimums change.
2
Format — an accepted file type, served with a matching extension and content type.
3
Framing — where the channel requires it, the product sits on a plain background, fully in frame, nothing cropped.
4
No overlays — no watermarks, promotional text, borders or logos composited on. Tolerance differs per channel, so check per channel.
5
Reachability — the URL returns a success response to the channel's crawler, not only to your browser. Hotlink protection blocks crawlers while the image looks fine to you.

Last full image audit: 30 August 2026

Record the date somewhere visible and let a stale one work as its own alert. Six months without an image audit is a finding in itself.

What monitoring cannot do

An alert tells you something changed. It cannot tell you why. Investigations go faster when a change log sits beside the monitor: feed app updates, plugin upgrades, new import paths, supplier file changes. When an error-rate delta fires, the first question is what changed in the last 48 hours, and a log answers it in seconds instead of an afternoon.

That is the workflow the free feed validator is built around: the same checks running on every sync rather than on demand, alerts firing on deviation from the feed's own baseline, and a report that names the specific items and attributes that moved.

Where to start

Build sync failure first. Add error-rate delta second, attribute coverage third, and disapproval spikes last, once you have baselines worth comparing against. The order follows blast radius: catch first whatever costs the most per hour of going unnoticed.

The short version
A feed you only validate is a feed you hear about from the channel.
A feed you monitor is one you hear about from your own data, earlier, while the item is still yours to fix.

Common questions

What's the difference between feed validation and feed monitoring?

Validation is a point-in-time check that asks whether the feed is acceptable right now, usually run before upload. Monitoring runs on every sync and alerts when the feed's condition changes. Validation catches what is wrong in this file. Monitoring catches what broke since the last one passed.

Which feed alerts should I set up first?

Sync failure, because a feed that never updated produces no errors at all while serving stale prices. Then error-rate delta against a rolling baseline, then attribute coverage, then disapproval spikes once you have enough history for the baseline to mean something.

What error rate is normal for a product feed?

There is no universal number, which is why the delta matters more than the level. A feed sitting at 1% errors for months is stable. The same feed at 4% after one sync is a recent change with a findable cause, and that is what an alert should be watching for.

How often should I audit feed images?

On a schedule you record, and at least every few months. Image requirements change, hosts start failing, and hotlink protection gets enabled by someone doing unrelated work. Log the date of the last full audit and treat a stale date as a finding.

Free tool

Not sure if your feed has errors?

Run your Google Shopping, Meta, or TikTok product feed through our free validator and get a prioritized error report before channels reject your products.

Check my feed for errors

Editorial note

Written by Muhammad Norafif

This article was published on August 30, 2026 and last updated on August 30, 2026. NextFeed builds product feed management software for Shopify, Google Shopping, Meta, and other commerce channels.

Share this insight

Comments (0)

Please login to leave a comment.

No comments yet. Be the first to comment!

Never miss a feed update

Join merchants who receive our weekly insights on ecommerce data automation and strategy.

Get in touch

Get answers before feed issues cost you revenue.

Reach out for onboarding help, channel setup questions, custom workflow advice, or partnership conversations.

Typical reply

1 business day

Best for

Setup & fixes

Coverage

100+ channels

We'll never share your info with third parties.