CHATGPT ADS · FREE CONVERTER

Your products in ChatGPT Ads, with a feed that actually passes the checks.

Paste your Google Shopping or Meta feed link. In seconds you get the file in the format OpenAI requires and the exact list of products that would be rejected, with the reason — before you upload anything to your ad account.

The format is tested on a live ChatGPT Ads account in Romania, with a feed set to the RO market: a catalog of almost 1,000 products, every valid row accepted and ads-eligible, zero rejected.

Google Merchant (XML RSS/Atom) or Google/Meta CSV/TSV. Up to 30 MB and 25,000 products. We do not keep your feed; we keep the converted CSV for at most one hour for download.

WHY YOUR GOOGLE FEED DOESN'T WORK AS IS

Same products, different language.

ChatGPT Ads reads the OpenAI product specification, not Google's. Most feeds fail on a few small details — which the converter fixes or shows you.

WhatGoogle MerchantChatGPT Ads
ID and linksid, link, image_linkitem_id, url, image_url
Sellerfrom the Merchant accountseller_name on every row
Variantsitem_group_idgroup_id + listing_has_variations + variant_dict
Pre-orderpreorderpre_order
Ads eligibilityimplicitis_ads_eligible explicit
DescriptionHTML toleratedplain text, max 5,000 characters; title max 150
GTINtolerantthe check digit must be valid
WHAT YOU GET ON TOP

Not just a converted file.

Readiness report

Know in advance what would be rejected

A score for the whole catalog, the errors that exclude a product (no image, zero price, invalid link) and the warnings we fix automatically (title too long, invalid GTIN, sale price higher than the price) — per product.

Preview

See how products appear in an answer

The product card ChatGPT builds from your feed: image, title, price, sale price. If titles get cut or images are missing, you see it here, not after paying for clicks.

Tested outside the US

The format that was accepted, not the one assumed

OpenAI's documentation says the standard feed targets the US and other markets require confirmation. We uploaded to a live account in Romania, on the RO market, and followed processing to the end: rows accepted, ads-eligible, looked up one by one.

In Seenly · beta

A feed refreshed daily, with only what's worth it

In beta: the catalog uploads automatically every day over SFTP, with a history for every upload. And because Seenly knows profit per product, you see which products make money and which only spend — so you don't promote the whole catalog blindly.

THE PART EVERYONE SKIPS

Before your first euro spent: measurement.

An accepted feed brings impressions. To know whether it brings sales, you need the steps below — otherwise you're left with clicks and the ROAS the platform reports.

  1. The OpenAI pixel on your sitePage, cart and purchase events, with the order value in the order_created event.
  2. Conversions API on your serverThe same order also sent from the server, more reliable than the pixel alone — with the same event ID so OpenAI doesn't count it twice.
  3. The oppref parameter kept until the orderChatGPT adds it to the click link. The pixel stores it on its own; for server-side events you have to capture and send it.
  4. Cookie consentIn the EU the pixel follows your consent platform. Without consent, don't send browser identifiers.
  5. Compare with real ordersSales attributed by ChatGPT are reported by the platform, not confirmed orders. Compare them with your store's orders before drawing conclusions — we're building this reconciliation for ChatGPT Ads in Seenly.
FAQ

In short

Why doesn't my Google Shopping feed work directly in ChatGPT Ads?

ChatGPT Ads uses the OpenAI product specification: different column names, the seller on every row, variants described differently and ads eligibility declared explicitly. The Google format is accepted only after OpenAI confirms it for your feed.

Do ChatGPT Ads product feeds work outside the US?

We tested on a live ChatGPT Ads account in Romania, with a feed set to the RO market, and every valid row was accepted and ads-eligible. Because OpenAI requires confirmation for markets outside the US, check that your account can create a feed for your country.

How do I upload the file?

In Ads Manager you create a feed, get SFTP access and put the CSV directly in its root folder (no subfolders). Processing takes a few minutes; the upload history shows rows accepted, rejected and ads-eligible. Don't keep several files with the same products in the root — they add up as one catalog.

Which format do you generate?

UTF-8 CSV, the format OpenAI describes for ads feeds and the one we saw accepted on a live account. We don't generate formats we haven't tested.

Do you store my feed?

We don't keep the original feed: we download it, check it and generate the file. We keep the converted CSV for at most one hour for download, under a random link; then it is deleted automatically.

Does an accepted feed mean my products appear in ads?

Not necessarily. Acceptance means the data is correct; delivery depends on the campaign, budget, bidding, review and the product being in stock.

Want the feed refreshed daily, without converting it by hand?

Seenly's ChatGPT Ads integration is in beta: a validated feed uploaded automatically, an upload history and daily reporting, as a separate channel. Create an account and tell us you want to join the beta.

Start free See feed management →