Background pattern
Hero image

How to join the OpenAI merchant program in 2026, and get picked

Getting into ChatGPT shopping takes an application. Getting chosen takes complete product data.

Hero image
Article

Most guides to the OpenAI merchant program spend their time on the application form. That's the easy part. As of October 2026, getting your products into ChatGPT shopping takes an approved feed, and getting ChatGPT to show them, and to pick your store over the next one selling the same item, depends on fields most catalogs leave empty. Enrolment is a gate. The ranking is a data problem.

This is the 2026 version of the question, checked against OpenAI's own documentation. Rules here move fast, so everything below is dated: it's what OpenAI's docs said in late October 2026.

Who can join the OpenAI merchant program today

There's no open sign-up. OpenAI's getting-started guide says that "onboarding product feeds in ChatGPT is currently available to approved partners", and points merchants to an application form at chatgpt.com/merchants (OpenAI, Get started). OpenAI doesn't publish a review timeline or acceptance criteria.

Geography is the part that matters for retailers in Spain and the UK. The product feed spec says the standard upload "currently targets the US", that the shared format represents only US, Canada and Mexico in its `target_countries` field, and that additional markets need OpenAI to confirm the integration (OpenAI, product feed spec). It also warns that leaving `target_countries` empty does not mean worldwide.

So if you sell in Europe: apply, but plan for a conversation with OpenAI rather than a self-serve upload. Shopify merchants are a separate case. OpenAI's help centre says their product data already reaches ChatGPT through Shopify's own catalog, with no extra work (OpenAI Help, Shopping in ChatGPT).

One change from last year's advice: the in-chat "Instant Checkout" button is gone. In March 2026 OpenAI confirmed it was shutting it down and moving towards retailers building their own apps inside ChatGPT (Shopifreaks, March 2026). Guides that still list "enable Instant Checkout" as a ranking factor are out of date. Checkout fields still exist in the feed spec, but they only apply to integrations OpenAI enables separately. For most retailers, ChatGPT is now a discovery channel that sends the shopper to your site.

How your products get into ChatGPT

Once approved, you deliver a product feed: a CSV, TSV or JSONL file uploaded over SFTP. OpenAI recommends a full snapshot at least once a day (OpenAI, Get started), and the spec asks for updates when stock changes or a sale starts or ends.

Nine fields are required on every row: `item_id`, `title`, `description`, `url`, `brand`, `seller_name`, `image_url`, `availability` and `price`. Some rules are strict. An empty or unrecognised `availability` value rejects the row outright. Prices are written as `79.99 USD`, and a `sale_price` has to be lower than `price` in the same currency.

Passing these checks gets a product indexed. It doesn't get it shown. The spec says it plainly: "Eligibility does not guarantee display."

What decides whether ChatGPT shows your product

OpenAI's help centre says product results are chosen by ChatGPT when it judges them relevant to the request, and that they are not ads or influenced by partnerships (OpenAI Help). Relevance is judged against what the shopper asked. Shoppers don't ask for a SKU. They ask for a waterproof jacket under 400 grams, a 60 cm wide dishwasher, a linen shirt in navy.

Each of those requests maps to an optional field in the spec:

  • `material`: the principal materials in the item.
  • `dimensions`: a structured object with length, width, height and unit, describing the product, not the box it ships in.
  • `weight` with `item_weight_unit`: the net weight, without packaging.
  • `group_id` and `variant_dict`: which rows are sizes or colours of the same product, and what each variant is (`{"color":"Black","size":"10"}`).
  • `gtin` and `mpn`: the identifiers that tell ChatGPT your row is the same product as everyone else's. The spec asks for a valid check digit and says not to invent an MPN to cover a missing GTIN.

None of these are required. That's exactly why they're the difference. A feed with nine fields is accepted. A feed where half the jackets have no weight can't answer "under 400 grams", so those jackets drop out of that question. You can't filter on adjectives, and neither can an AI shopping agent.

Identifiers deserve a separate check. A wrong check digit is common and invisible on your own site; we wrote about how to find them in the cheapest attribute you're not checking.

How ChatGPT chooses between stores selling the same product

For retailers that sell other brands' products, this is the question that matters. When a shopper clicks a product, ChatGPT can show a list of merchants offering it. OpenAI's help centre says that list is built from merchant and product metadata, from third-party providers or from merchants directly, and that merchants are ranked on "factors like availability, price, quality, and whether they are the maker or primary seller of that item" (OpenAI Help). It also says rankings will be personalised further to user preferences.

Read that list as a retailer. You can't become the maker. You can make sure your availability is accurate and current, your price is in the feed and matches the page, and your listing is good enough to count as quality. OpenAI doesn't define "quality", and nobody outside OpenAI can promise a placement. But a row with a matching GTIN, real dimensions and a clean variant structure is easier to match to the product and easier to trust than one with a title and a price.

The mention of third-party providers matters too. Even without an approved feed, which is the likely situation for many UK and Spanish retailers today, the product data on your public pages is part of what ChatGPT can see. The same gaps cost you either way.

Filling the fields across the catalog

The usual blocker isn't the feed format. It's that the attribute columns are empty for most of the catalog, because supplier data arrives as a name, a code and a paragraph, and nobody has time to read fifty spec sheets per category.

The fix is to treat each feed field as an attribute you define once, per category. Material and net weight for jackets; width, height and depth for dishwashers. Give the choice fields a controlled list of allowed values, so "Navy", "navy blue" and "NAVY" become one value in `variant_dict`. Then generate those attributes across the whole category from the product reference, with overwrite switched off, so existing good data is left alone and only the empty fields get filled. A person reviews the output before it goes anywhere.

That's how Semantico's catalog builder works: custom sections scoped to categories, taxonomies for allowed values, and generation that fills only empty fields, exported by CSV or API into whatever builds your feed.

A checklist before you apply

1. Check which markets you'd target. If they're outside the US, Canada and Mexico, expect to need OpenAI to confirm the integration.

2. Confirm every product has the nine required fields, and that `availability` uses one of the five accepted values.

3. Pick your top three categories and count how many products have `material`, `dimensions`, `weight` and a valid `gtin`. That share is your real coverage.

4. Check that variants share a `group_id` and that colours and sizes use one spelling each.

5. Ask ChatGPT five buying questions your customers actually ask, several times each, and note which store it names.

Step five is the one most retailers skip, because doing it properly is tedious. Our 2025 AI search playbook covers the wider picture of GEO, being picked up by AI search and shopping assistants. To see which store ChatGPT, Claude and Gemini recommend for your categories today, and why you lose the questions you lose: Get your free audit.

Seamless Integrations with Your Favorite Platforms

We connect with your e-commerce stack so you can work faster, not harder.

Book a demo Computer icon
Integrations