Ducted

ChatGPT Ads feed validator.
The only one there is.

ChatGPT Ads runs on the Agentic Commerce Protocol (ACP) - a feed spec nobody's validator covers yet. Paste your ACP feed or upload the file and see exactly what would block onboarding, free.

or upload a file
Drop file here or browse
CSV, TSV, XML, JSON, JSONL, XLSX (gzip OK)

Free, no signup. Your feed is parsed in memory and deleted within 15 minutes - we keep only an anonymous summary of issue types found, never your feed content, records, or URL.

Not a chatgpt ads feed? Validate against any platform.

What we check for ChatGPT Ads

Each error names the rule, the field, and how many records it hits, next to example rows from your own feed and the expected format or accepted values - so the fix is a copy-paste, not a guess. Invalid values in optional fields are listed as warnings, because platforms discard those values instead of rejecting the record. And recommended fields you haven't filled are named one by one - the quickest wins for better ad performance. Take the whole report with you as CSV, JSON, or PDF.

  • Required ACP fields present on every product
  • Enum fields limited to the accepted values
  • Price and availability formatting
  • Link and image URL syntax
  • Duplicate product IDs

Validate once, switch platforms instantly

The validator reads the same live template rules Ducted uses to build and monitor production feeds - 36 templates across Google, Meta, Microsoft, TikTok, Criteo, Pinterest, Snapchat, X, and ChatGPT Ads, vehicle listings included. Validate once, then re-check the same feed against any other platform in one click, no re-upload.

Google Shopping validatorMeta catalog validatorVehicle Listing Ads validatorTikTok catalog validator

ChatGPT Ads feed questions, answered

The Agentic Commerce Protocol is OpenAI's product feed specification for ChatGPT Shopping and ChatGPT Ads: around 67 fields in 15 groups, of which 15 are required and a dozen more conditional. The validator checks required fields, enum values, and formatting per product against it.

The spec is new and OpenAI doesn't ship a public checker yet. This one is built from the same ACP template Ducted uses to generate ChatGPT-ready feeds, so it tracks the spec as it evolves.

CSV, TSV, XML, and JSON per the ACP spec - the validator parses all of them, gzipped included, and validates the records identically regardless of container format.

Clean data is the feed-side half. OpenAI still verifies things like resolving policy URLs and checkout eligibility on their end. Ducted can also generate and host the ACP feed for you, mapped from whatever source data you have.