Home/Features/Quality rules
Catalog quality

Quality rules

The built-in rulebook that checks every product against Google, Meta and ChatGPT Ads requirements before anything is exported.

Join early access
How it works

Every platform has rules: a title can't be too long, a price must be present, an image must meet quality standards. Quality rules runs these checks across your whole catalogue, for Google, Meta and ChatGPT Ads. Some results are blocking — the product cannot go live until it is fixed — and some are warnings, meaning it will go live but may underperform. Crucially, a destination only blocks on the fields it actually requires: Google demands colour and size on apparel, OpenAI's commerce schema treats them as optional, and a ChatGPT feed is never refused for a rule that belongs to Google. The rules also change by category: fill in a product's category and FeedGraph tells you immediately what that category now requires. Advanced users can adjust the rulebook.

Join early access →
The problem

You find out a product was wrong when a platform rejects it, which is days after you sent it and after it has already stopped earning. And "wrong" is platform-specific and category-specific: a field that is optional for most products becomes mandatory the moment you set the category to Apparel.

The result is a slow loop — send, wait, get rejected, guess, fix, send again.

How it works

01

Every product is checked continuously

Rules run across the whole catalogue against what Google, Meta and ChatGPT Ads actually require, not a generic checklist. The result is stored on the product, so nothing has to be re-scanned to answer "is this ready".

02

Blocking and warning are separated

A blocking problem keeps the product out of the feed, because sending it would get it rejected. A warning lets it through but tells you it will underperform. Conflating those two is how a readiness number becomes meaningless.

03

Category changes the rules, immediately

Fill in a product’s category and FeedGraph tells you there and then what that category has just made mandatory — rather than surfacing it as a new failure on your next visit.

04

A destination only blocks on what it requires

This sounds obvious and is easy to get wrong. Google makes colour, size, gender and age group mandatory on apparel; OpenAI’s commerce schema marks all four optional. So a product held out of your Google feed for a missing size can be entirely valid on ChatGPT Ads, and FeedGraph will not refuse it citing a rule that belongs to Google.

05

Adjust the rulebook if you need to

The platform requirements are the floor and cannot be lowered. On top of them you can add your own rules — a minimum description length, a required brand — so your standards travel with the catalogue.

What you get

  • Continuous checking against live Google, Meta and ChatGPT Ads requirements
  • Per-destination blocking: each platform blocks only on the fields it itself requires
  • Blocking versus warning kept strictly separate
  • Category-aware validation, announced at the moment the category is set
  • A readiness count you can trust, because it counts only what would actually block an export
  • Your own rules layered on top of the platform floor
What it does not do
  • It covers Google, Meta and ChatGPT Ads. Amazon and TikTok requirements are documented in the schema library but are not yet validated against, because those channels are not open.
  • One ChatGPT field is a deliberate exception to the blocking rule. seller_name is required by OpenAI on every row but is a single account setting rather than per-product data, so a blank value is a warning that says ChatGPT will reject every row — not a blocked export.
  • You cannot switch off a platform requirement. The floor comes from the platform spec and stays; your rules can only be stricter.
  • Passing every rule does not guarantee approval. It means the data meets the published spec — a platform can still reject a product for reasons outside the feed.

Questions

What is the difference between a blocking issue and a warning?

A blocking issue would get the product rejected, so FeedGraph holds it out of the feed rather than sending it. A warning would let the product go live but hurt its performance — a title that is too short, a missing recommended attribute. Readiness counts only blocking issues, so the number means "this many products cannot go out".

Why did filling in a category create new errors?

Because platform requirements are category-specific. Setting a product to Apparel makes colour, size, gender and age group mandatory for Google. FeedGraph tells you that at the moment you set the category, so it is a consequence you chose rather than a surprise later.

Why is a product blocked on Google but fine on ChatGPT Ads?

Because the two platforms require different things. Colour and size are mandatory for Google on apparel and optional in OpenAI’s commerce schema, and the ChatGPT product category is a free-form path rather than Google’s taxonomy, so it is not checked against it. Each destination is validated against its own published spec only — a feed is never refused for a rule that belongs to a different platform.

Ready to try it?

FeedGraph is in early access. Apply to join and we'll onboard you personally — no credit card required.

Join early access