Home/Features/ChatGPT Ads feeds
DistributionFree — AI context hints 2 credits

ChatGPT Ads feeds

Build, validate and host a product feed for ChatGPT Ads in OpenAI’s own commerce schema — with the crawler check and context hints that decide whether it actually serves.

Join early access
How it works

ChatGPT Ads runs on a product feed, and OpenAI’s commerce schema is its own: item_id, image_url, price written as "79.99 USD", and a free-form category path rather than the Google taxonomy. FeedGraph builds that feed from the same catalogue that feeds Google and Meta, validates it against OpenAI’s spec rather than Google’s, and publishes it to a hosted URL — which matters, because ChatGPT expires a product 14 days after it drops out of a snapshot, so a one-off CSV upload quietly decays. Before you launch, FeedGraph checks that your robots.txt and your image host actually let OpenAI’s crawlers through, and drafts the ad-group context hints that are the only relevance lever ChatGPT gives you. FeedGraph produces and hosts the file; you connect it in OpenAI’s Ads Manager.

Credit cost
Free — AI context hints 2 credits
Join early access →
The problem

ChatGPT Ads is a product-feed channel, and the feed is not a renamed Google feed. OpenAI’s commerce schema uses its own field names, writes price as a single string with the currency in it, and treats the product category as a free-form path rather than Google’s 5,595-node taxonomy. Exporting your Merchant Center feed and hoping gets you a rejected upload.

The three things that actually stop a ChatGPT feed from serving all fail silently. Products expire 14 days after they leave a snapshot, so a feed that worked in week one is half empty in week three. A 403 for OpenAI’s crawler on your image host stops the whole feed being processed. And a campaign with no context hints has nothing to match a conversation against — ChatGPT has no keywords. In all three cases the campaign looks active and serves nothing.

There is also one field with no equivalent anywhere: seller_name. No merchant migrating from Google or Meta has a value for it, and a feed without it is rejected row by row.

How it works

01

Build the feed from the catalogue you already have

Pick ChatGPT Ads as the destination in Advanced feed tools, or open the ChatGPT Ads tab in Channel feeds. The product selection, segments, variant rules and quality fixes are the same ones behind your Google and Meta feeds — you are not maintaining a second catalogue.

02

Mapped to OpenAI’s schema, not Google’s

FeedGraph maps your catalogue fields onto item_id, url, image_url, group_id, price as "79.99 USD", and availability as in_stock / out_of_stock / pre_order / backorder / unknown. Your custom labels populate the ads metadata, which is what ChatGPT ad-group product filters read.

03

Validated against OpenAI’s rules only

A destination may only block on fields it itself requires. OpenAI marks colour, size, gender and age group optional where Google makes them mandatory on apparel, so a valid ChatGPT feed is never refused for a Google rule. seller_name is handled as an advisory warning rather than a blocker — it is one account setting, not a per-product data problem — and the warning states plainly that ChatGPT will reject every row without it.

04

Published to a hosted URL, not a one-off file

The feed is served from a token-protected HTTPS URL that always reflects your current catalogue, which is the only delivery mode that survives the 14-day expiry. The URL refuses to serve an empty feed, so a validation problem cannot take your whole ChatGPT catalogue offline.

05

Checked for crawler access before you launch

FeedGraph reads your robots.txt and then fetches a real landing page and a real product image as OAI-AdsBot and OAI-SearchBot, reporting each as ok, blocked, warning or unreachable. Landing-page access is required for ad review; image access is required for the feed to be processed at all.

06

Context hints drafted from your actual products

ChatGPT Ads has no keywords, so ad-group context hints are the entire relevance lever. FeedGraph drafts them grounded in the products in that selection — their categories and real price range — and rejects keyword lists and delivery instructions rather than passing them through as hints.

What you get

  • A ChatGPT Ads feed in OpenAI’s commerce schema, exportable as CSV, XML or JSON
  • A ChatGPT Ads tab in Channel feeds, labelled "feed file only" so nobody assumes FeedGraph delivers it
  • A token-protected hosted feed URL, with its own token type that cannot be used against any other feed
  • Format conversion from your existing Google or Meta feed, with every column classified as carried, rewritten, derived or unavailable before you run it
  • An OpenAI crawler readiness check covering robots.txt, a landing page and a product image, for both crawlers
  • A seller_name account setting, with an advisory warning rather than a blocked export
  • AI-drafted ad-group context hints, grounded in the selected products — 2 credits per run
  • Validation that applies OpenAI’s requirements and not Google’s
What it does not do
  • FeedGraph does not deliver to ChatGPT and does not read anything back. You connect the hosted feed URL in OpenAI’s Ads Manager yourself. This is why the channel is labelled "feed file only" everywhere it appears rather than listed as live alongside Google and Meta.
  • There is no ChatGPT performance data in FeedGraph — no spend, revenue or ROAS, and ChatGPT is not in the Advertising overview, Ad performance or Smart bidding. Those read from the Google Ads and Meta APIs, and OpenAI’s Ads API is gated to partner accounts with no self-serve application path.
  • FeedGraph does not create or edit ChatGPT campaigns, ad groups or ads. It has never created a campaign on any platform, on any channel.
  • The feed upload diagnostics OpenAI exposes over its API cannot be read back, for the same partner-gating reason. What FeedGraph can tell you is whether the feed is valid and whether the crawlers can reach you — not what Ads Manager decided after ingesting it.
  • Context hints are copy-and-paste. FeedGraph drafts them; you paste them into Ads Manager.
  • seller_name is a warning rather than a blocker by choice. If you export without setting it, the file is valid FeedGraph output and ChatGPT will still reject every row — the warning says exactly that, but it will not stop you.

Questions

Can I reuse my Google Merchant Center feed for ChatGPT Ads?

Not as-is — the field names, the price format and the category are all different. But you do not have to rebuild it either: Format conversion takes your existing Google or Meta feed and reshapes it into OpenAI’s schema, and tells you beforehand which columns carry across, which get rewritten, and which nothing can supply.

What is seller_name, and why does FeedGraph not just fill it in?

It is the merchant name OpenAI requires on every row, and it has no equivalent in the Google or Meta schema, so no migrating merchant has a value for it. FeedGraph asks you for it once as an account setting and can override it per product. It deliberately does not fall back to your brand name, because a wrong seller name is worse than an obvious blank.

Why does FeedGraph insist on a hosted URL instead of letting me upload a file?

You can download the file. But ChatGPT expires a product 14 days after it stops appearing in a snapshot, so a one-off upload decays on its own — products drop out one at a time and nothing tells you. A hosted URL that reflects your live catalogue is the only mode that stays correct.

Does FeedGraph run my ChatGPT ads?

No. It produces and hosts the feed, checks that OpenAI’s crawlers can reach your site and images, and drafts your context hints. Connecting the feed, building the campaign and reading the results all happen in OpenAI’s Ads Manager. OpenAI’s Ads API is restricted to partner accounts, so there is no self-serve path for FeedGraph to write campaigns or read performance — and we would rather say that than imply otherwise.

Will a product that is blocked from my Google feed also be blocked from ChatGPT?

Only if ChatGPT requires the field that is missing. Colour and size are mandatory on Google apparel and optional in OpenAI’s schema, so a product held out of Google for a missing size can be perfectly valid on ChatGPT. Each destination blocks on its own requirements only.

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