ChatGPT Ads Product Feed: How to Run Product Feed Campaigns (2026)

How ChatGPT Ads product feed campaigns work: the feed spec, SFTP upload, the 7-step Ads Manager setup, ads_metadata segmentation — and how one catalog also powers ChatGPT Shopping and shopping research.

Tarun Kapoor 16 min readPublished July 13, 2026
ChatGPT Ads Product Feed: How to Run Product Feed Campaigns (2026)

Short answer: A ChatGPT Ads product feed is a structured catalog file — item IDs, titles, descriptions, prices, availability, images, and URLs — that retail advertisers upload to ChatGPT Ads Manager over SFTP. Ads Manager then generates product ads directly from that data at scale: you pick the campaign type Product feed, filter which products an ad group can use, and the ad title and description are pulled straight from your feed. Feeds can hold up to 2 million products, each ad account gets one feed connection, and OpenAI reports that feed-based ads have been among the strongest-performing ads in its program to date.

One catalog, three surfaces. Most coverage conflates three different feed-driven systems inside ChatGPT. Product feed ad campaigns (paid, via Ads Manager), shopping results in ChatGPT search (organic carousels — OpenAI states these are not ads), and shopping research (agentic buyer's guides built partly from Agentic Commerce Protocol merchant data) all draw on the same family of product feed specifications — but they are separate pipes with separate opt-ins. This guide covers all three, because the same catalog work compounds across them.

What are product feed campaigns in ChatGPT Ads?

Product feed campaigns are a campaign type inside OpenAI's Ads Manager Beta that lets retail advertisers upload a product feed and create ads based on that catalog, rather than hand-building each ad. Per OpenAI's help documentation, they exist to do three things: create campaigns from your catalog at scale with a single feed upload, match relevant products to high-intent user conversations, and keep product details, availability, and metadata used for ads up to date.

The performance claim is OpenAI's own, and it is unusually direct for a beta product: "Ads created from product feeds have been among the strongest-performing ads in our program to date." The mechanism is intuitive if you have run Shopping campaigns elsewhere — product ads shown during purchase-focused conversations reach users who are already describing what they want to buy, in their own words, to an assistant they trust. That is closer to bottom-of-funnel search than to interruption media.

Because feed ads are assembled from structured product data, the catalog itself becomes the creative. Per OpenAI, feed ads use the same format as its current ad units, with the ad title and description pulled directly from your feed — and the ad template currently only lets you select the image field. There is no headline copywriting step. If your titles read like warehouse SKU strings, that is what serves.

Paid, organic, and agentic: the three feed surfaces compared

Before the setup steps, get the map right. These three surfaces get merged into one story in most write-ups, and conflating them leads to real mistakes — like assuming an ads feed earns organic visibility (OpenAI says it does not, during the beta).

SurfaceWhat it isHow your products get inPaid or organic
Product feed ad campaignsAds generated from your catalog, shown below relevant conversations in the same format as current ChatGPT ad unitsUpload a spec-compliant feed via SFTP in Ads Manager; mark products ads-eligible; build a Product feed campaignPaid — budget, bids, and auction apply
Shopping in ChatGPT searchProduct carousels with images, details, merchant links, and sometimes Instant Checkout when a query shows shopping intentSelected independently by ChatGPT. Shopify merchants are integrated automatically via Shopify Catalog; others can apply for direct feed accessOrganic — OpenAI states results are "not ads, nor influenced by any OpenAI partnerships"
Shopping researchA multi-step discovery run that asks clarifying questions and returns a personalized buyer's guide with top picks and comparisonsMerchant data via the Agentic Commerce Protocol (ACP), public product pages, and an allowlisting process; sites that block automated access get skippedOrganic — OpenAI states ads are separate from shopping research

The strategic read: the feed work you do for paid campaigns is 80% of the work needed for the organic surfaces, and vice versa. A clean, spec-compliant, frequently refreshed catalog is the shared asset. That is why we treat "chatgpt ads product feed" as a catalog-infrastructure project, not just a campaign setting.

Before you begin: what OpenAI requires

Per OpenAI's help documentation, know these constraints going in:

  • Spec compliance. Your feed must comply with OpenAI's feed specifications (field reference below).
  • SFTP only. Feeds must be uploaded through SFTP — there is no feed-upload API and no fetch-from-URL model in the documented flow.
  • Up to 2 million products per feed.
  • One feed connection per ad account. Plan your segmentation inside one feed rather than across several.
  • Ads only, for now. During the beta, products from your ads feed are only eligible for use in ads — they will not appear in organic ChatGPT conversations, though OpenAI says it may offer that later.
  • Feed data is the creative. Ad title and description come directly from the feed; the format matches current ChatGPT ad units and may evolve.

You also need an approved advertiser account first — that process (Persona verification, billing, review queue) is covered in our account setup guide.

The feed spec: fields that matter

OpenAI publishes a product feed specification on its developer site. The required core, per that spec:

FieldWhat it holdsConstraint
item_idMerchant product IDUnique per variant
titleProduct nameMax 150 characters
descriptionFull product descriptionMax 5,000 characters
urlProduct detail pageMust resolve successfully
brandProduct brandMax 70 characters
priceRegular priceWith ISO 4217 currency code
availabilityStock statusin_stock, out_of_stock, pre_order, backorder, or unknown
image_urlMain product imageJPEG or PNG, publicly reachable
seller_name / seller_urlWho sells it, and whereName max 70 characters
target_countries / store_countryWhere the product is sold from and toISO country codes

Then come the eligibility switches — the fields that route products to surfaces:

  • is_ads_eligible — controls whether a product can be processed for ChatGPT ads. Per OpenAI's developer docs, set it to true for every product Ads should handle (the legacy alias is_eligible_ads works; is_ads_enabled does not exist). Feeds created through Ads Manager make products ads-eligible by default unless explicitly marked false.
  • is_eligible_search — controls whether a product can surface in ChatGPT search results (the organic shopping side).
  • is_eligible_checkout — enables direct purchase flows, and requires search eligibility plus seller policy fields (privacy policy, terms, return policy).
  • ads_metadata — a free-form object of string key–value pairs you define, which becomes your segmentation handle inside Ads Manager (more below).

Recommended fields worth populating even though they are optional: gtin (universal product identifier), group_id and variant_dict for variant grouping, sale_price (must not exceed regular price), q_and_a, and reviews. As a GPT Ads AI observation: a conversational assistant has far more room to use rich attributes than a search results page does — the merchants that win these surfaces will be the ones whose feeds read like good product pages, not minimal compliance files.

Step-by-step: launching a product feed campaign

This is OpenAI's documented flow, condensed. Every step below is from the official help article, with our operating notes flagged.

Step 1 — Create the feed

In Ads Manager, go to the Tools tab, select Feeds, click Create Feed, and follow the prompts. Once created, Ads Manager generates the SFTP connection details for your uploads.

Step 2 — Configure the SFTP connection

From the feed row's three-dot menu, select Edit SFTP Connection and choose your authentication method — password or SSH key — then follow the in-product connection guide. Format the file against the feed specification before you push it.

Step 3 — Upload and validate

Upload through the SFTP connection and wait for processing — a few minutes to a few hours, depending on feed size. Items are processed gradually; check the ad group creation modal for the count of items ready to serve. Operating note: do not schedule a launch for the same hour you upload a large catalog for the first time.

Step 4 — Create the campaign

In the Campaigns tab, create a new campaign and select Product feed in the campaign type dropdown, then complete settings — budget, schedule, bids. Per OpenAI's developer docs, the product-feed mode is set at creation and cannot be changed afterward, so a feed campaign stays a feed campaign. (For what bids cost, see our ChatGPT Ads cost guide.)

Step 5 — Build the ad group and choose products

Create an ad group, select your product feed, and apply product filters to define which products the ad group can serve. Review the product count Ads Manager shows to confirm how many uploaded products pass your filters. If the built-in filters aren't enough, this is where ads_metadata pays off — OpenAI's own example is adding values such as bidding_tier or product_line to organize products for ad group setup.

Step 6 — Create the ad template

One ad template per ad group is all you need. The template is the base for advertising every product that passes the ad group's filters, and it currently only supports selecting your image field. Review the sample product preview to confirm titles and descriptions render as expected — this preview is the only pre-launch look you get at your feed-as-creative.

Step 7 — Review and launch

OpenAI's own pre-submission checklist, verbatim in structure:

  • The correct feed is selected
  • The product count matches the intended set of products
  • Product titles, descriptions, images, and landing pages appear as expected
  • The ad template previews correctly
  • Campaign, ad group, budget, bid, and targeting settings are complete

Then submit for review and launch.

How a feed becomes an ad: the assembly line

OpenAI's developer documentation describes a four-part chain worth internalizing, because every optimization lever lives at one of these levels:

LayerRole (per OpenAI)Your lever
Product feedSupplies the merchant's current catalogData quality, freshness, eligibility flags, ads_metadata
CampaignSets budget, schedule, targeting, and product_feed modeBudget allocation and bid strategy
Product setSelects one linked feed and optionally filters the productsWhich slice of the catalog competes for which conversations
Product-ad templateDefines how values from the selected product appear in the ad, using tokens like {{product.title}} and {{product.price}}Image field selection today; more may come

For a product to actually serve, OpenAI lists four conditions: it must be marked ads-eligible, remain available, contain usable product data, and pass feed processing and review — while the campaign, ad group, and ad stay active, funded, and eligible. Availability is the one that silently bites: when your feed says out_of_stock, the ad stops, which is exactly the behavior you want — if your feed updates fast enough to be trusted.

ads_metadata: the segmentation layer most advertisers will miss

Because each account gets one feed and filters are finite, ads_metadata — an object of arbitrary string key–value pairs — is how sophisticated operators will encode structure. OpenAI's documented examples are bidding_tier and product_line. As a GPT Ads AI recommendation, treat it like labels in Google Ads and design it before your first upload:

  • Margin bands — e.g. "margin": "high" — so you can run aggressive bids on products that can afford them and defensive bids on the rest.
  • Hero vs. long-tail — e.g. "tier": "hero" for the 20% of SKUs that drive most revenue, isolated in their own ad group with their own budget.
  • Seasonality windows — e.g. "season": "q4-gifting" — so seasonal ad groups can be paused and resumed without touching the feed.
  • Price bands — useful because assistant conversations often carry explicit budgets ("under $100"), and you may want different bids where average order value differs sharply.

The pattern to avoid: uploading a raw catalog dump, discovering the built-in filters can't express your account structure, and re-uploading 500,000 rows with metadata you should have designed on day one — while processing runs for hours per cycle.

The organic side: shopping in ChatGPT search

When a query shows shopping intent, ChatGPT can show product options with imagery, details, and merchant links — sometimes with an Instant Checkout option to buy without leaving ChatGPT. OpenAI is explicit about the wall between this and advertising: product results are "selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships."

Per OpenAI's help documentation, selection considers:

  • The user's query and context — including Memory and Custom instructions. If a user said they dislike clowns, clown costumes may be left out.
  • Structured metadata from first- and third-party providers — price, descriptions, and other content.
  • Model responses generated before considering new search results, plus OpenAI's safety standards and product policies.

Three behaviors merchants should understand before judging their organic presence:

  • ChatGPT rewrites your listing. It may generate simplified titles and descriptions from third-party data to make results readable — your carefully crafted title is input, not the guaranteed display copy.
  • It labels products on its own. Tags like "Budget-friendly" or "Most popular" are model-generated, not verified statements. Review summaries are drawn from public websites and are not verified by OpenAI.
  • Merchant ranking is earned. When a user clicks a product, ChatGPT ranks the merchants offering it by factors like availability, price, quality, and whether the merchant is the maker or primary seller. The lowest price it knows about gets highlighted on the product detail page.

Getting in: Shopify merchants are already integrated — product data flows through Shopify Catalog with no additional merchant work. Everyone else can read the product feed documentation on OpenAI's developer site and apply for direct feeds access so ChatGPT always reflects current product information. Given that OpenAI acknowledges price-update delays and works to highlight the lowest price it is aware of, a direct feed is the difference between competing with current data or with whatever was last crawled.

Shopping research: the buyer's guide surface

Shopping research is the deepest of the three surfaces: an interactive discovery run for decisions with comparisons, trade-offs, or multiple constraints. The user selects products in chat and chooses Research; ChatGPT asks clarifying questions (brands, sizes, performance vs. price), then runs a multi-step process drawing on merchant product data provided through the Agentic Commerce Protocol (ACP), publicly available product information, and other retail sources.

The output is a personalized buyer's guide: plain-language purchase considerations, a small set of top picks each with a rationale and merchant links, side-by-side comparison tables, and a scrollable list of additional matches. For a high-consideration purchase, that guide is the shelf — being absent from it means being absent from the decision.

Two merchant-side facts matter enormously here:

  • There is an allowlisting process. OpenAI points merchants who want to be available in shopping research results to a documented allowlisting flow. Do it once; it compounds.
  • Blocking bots now has a visible cost. OpenAI states plainly that some retailers block automated access, and when that happens shopping research skips those sources or relies on other sites with similar products. A blanket bot-block in robots.txt or your WAF can now translate directly into absence from buyer's guides while competitors fill the slot.

Privacy note worth relaying to compliance teams: OpenAI states user chats are never shared with retailers, and results are organic, based on reading public retail pages directly and citing sources.

Reusing your Google Shopping feed

Launch coverage widely noted that OpenAI accepts the same structured catalog data retailers already send to Google Shopping, and the field mapping is close enough that a transform script — not a rebuild — gets you there. As a practical mapping (validate against OpenAI's spec, which is the source of truth):

Google Merchant CenterOpenAI feed specNote
iditem_idUnique per variant in both
title / descriptiontitle / descriptionOpenAI allows up to 150 / 5,000 chars
linkurlMust resolve successfully
image_link / additional_image_linkimage_url / additional_image_urlsJPEG or PNG over HTTPS
price / sale_priceprice / sale_priceISO 4217 currency; sale ≤ regular
availabilityavailabilityMap to OpenAI's five enum values
gtin / brand / item_group_idgtin / brand / group_idKeep GTINs — identity resolution matters here too
is_ads_eligible, ads_metadata, seller_name, seller_url, target_countries, store_countryOpenAI-specific — this is the net-new work

The net-new work is small and mostly constant per catalog: seller identity fields, country fields, eligibility flags, and your ads_metadata design. If you already maintain a healthy Google Shopping feed, budget the OpenAI adaptation in days, not weeks — most of your timeline will be waiting on account approval and feed processing, not engineering.

Worked example: a DTC skincare brand

A composite example of how we would structure this for a DTC skincare brand with 1,200 SKUs (illustrative, not client data):

  • Feed: full catalog exported from the existing Google feed, transformed to OpenAI's spec. is_ads_eligible: true everywhere except discontinued lines and gift cards.
  • ads_metadata: {"line": "retinol", "tier": "hero", "margin": "high", "aov_band": "50-100"} — four keys, designed once.
  • Campaign 1 — Hero (higher bids): ad group filtered to tier = hero: the 80 bestsellers with reviews, rich descriptions, and strong margins. These products are the ones most likely to match purchase-intent conversations well.
  • Campaign 2 — Catalog (efficient bids): everything else ads-eligible, split into ad groups by line so budget and reporting follow product lines.
  • Weekly feed refresh minimum, daily preferred — availability drives serving, and stale in_stock flags waste spend on products that bounce.
  • Same catalog, organic pass: apply for direct feeds access for ChatGPT Shopping (or verify the Shopify Catalog integration is live), complete the shopping-research allowlisting, and confirm nothing in robots.txt or the WAF blocks OpenAI's crawlers.

Common mistakes to avoid

  • Treating the feed as an IT task instead of the creative. Titles and descriptions serve verbatim as ad copy. "SKU-2231-RET-30ML" is now an ad headline someone will see.
  • Skipping ads_metadata design. One feed per account plus finite filters means your segmentation vocabulary must live in the feed itself.
  • Assuming ads feed = organic visibility. OpenAI states ads-feed products do not appear in organic conversations during the beta. Organic requires the separate direct-feed application or Shopify Catalog.
  • Blocking AI crawlers sitewide. Shopping research openly skips retailers that block automated access. Audit robots.txt, CDN bot rules, and WAF settings before assuming you are "in."
  • Letting availability go stale. Products must remain available to serve; slow updates mean spend on out-of-stock items or missed serving on restocked ones.
  • Using is_ads_enabled. That field does not exist — OpenAI's docs warn about it explicitly. The field is is_ads_eligible.

Your action plan

This week

  • Export your current Google Shopping feed and audit title and description quality — read the top 50 titles as if they were ad headlines, because they will be.
  • Map fields to OpenAI's spec and list the net-new ones: seller fields, country fields, eligibility flags.
  • Check robots.txt, CDN, and WAF for rules that block OpenAI crawlers or automated retail access — shopping research skips blocked sites.
  • If you are not yet in the Ads Manager Beta, start the advertiser account application — approval time dominates the critical path.

This month

  • Design your ads_metadata schema (tier, line, margin, seasonality) before the first upload.
  • Build the transform, upload via SFTP, and validate the ready-to-serve count in the ad group creation modal before scheduling any launch.
  • Launch a hero-tier Product feed campaign first, with the catalog-wide campaign behind it once you see how the feed performs.
  • Run the organic track in parallel: Shopify Catalog check or direct-feeds application for ChatGPT Shopping, plus the shopping-research allowlisting.
  • Set a feed refresh cadence tied to your inventory velocity, and monitor product-level performance as reporting allows so pruning decisions are data-driven.

Product feed campaigns are the clearest signal yet of where ChatGPT advertising is heading: away from hand-built ads, toward structured catalogs matched to conversational intent. The advertisers who treat their feed as a first-class asset — clean, rich, segmented, and fresh — will compound across all three surfaces at once. If you would rather have that built and run for you, that is what we do.

People Also Ask

Quick answers.

What is a product feed in ChatGPT Ads?

A product feed is a structured file of your catalog — item IDs, titles, descriptions, prices, availability, images, and URLs — that you upload to ChatGPT Ads Manager over SFTP. Ads Manager then generates product ads directly from that data: per OpenAI, the ad title and description are pulled straight from your feed. Feeds can contain up to 2 million products, and OpenAI reports that ads created from product feeds have been among the strongest-performing ads in its program to date.

How do I upload a product feed to ChatGPT Ads Manager?

In Ads Manager, go to Tools, select Feeds, and click Create Feed. Ads Manager then generates SFTP connection details. Open the feed row's three-dot menu, select Edit SFTP Connection, choose password or SSH-key authentication, and upload your feed file through that SFTP connection. Processing takes anywhere from a few minutes to a few hours depending on feed size, and items become ready to serve gradually.

What fields are required in a ChatGPT ads product feed?

The OpenAI feed specification requires an item_id unique per variant, title (max 150 characters), description (max 5,000 characters), a product URL that resolves, brand, price with ISO currency code, an availability value (in_stock, out_of_stock, pre_order, backorder, or unknown), image_url, seller_name, seller_url, target_countries, and store_country. For ads specifically, products must be marked ads-eligible — feeds created through Ads Manager make products ads-eligible by default unless explicitly marked false.

Can I use my Google Shopping feed for ChatGPT Ads?

Largely, yes — with a field-mapping pass. Trade coverage of the launch noted OpenAI accepts the same structured catalog data retailers already send to Google Shopping, and in practice the fields map closely: id maps to item_id, link to url, image_link to image_url, and so on. You should still validate against OpenAI's own feed specification before upload, because OpenAI adds fields Google doesn't use, such as ads eligibility flags and ads_metadata.

How many products do I need for a product feed campaign?

OpenAI's help documentation states feeds can contain up to 2 million products and does not publish a minimum on that page. Third-party reporting has cited minimum catalog sizes for feed programs, so treat any specific minimum as unconfirmed until you see it in the feed requirements inside your own Ads Manager account. Directionally, feed campaigns are designed for retail advertisers with broad or frequently changing catalogs.

Do products from my ads feed also appear organically in ChatGPT?

No — not from the ads feed. OpenAI states that during the beta, products from your Ads Manager feed are only eligible for use in ads and will not appear in organic ChatGPT conversations, though it may offer that capability in the future. Organic product results come through a separate pipe: ChatGPT selects them independently, and merchants participate via Shopify Catalog integration or by applying for direct feed access.

What does the is_ads_eligible field do?

is_ads_eligible is a boolean field in the OpenAI product feed specification that controls whether a product can be processed for ChatGPT ads. Per OpenAI's developer documentation, you set is_ads_eligible to true for every product Ads should process (the legacy alias is_eligible_ads also works — but not is_ads_enabled). Feeds created through Ads Manager mark products ads-eligible by default unless an item is explicitly set to false.

What do product feed ads look like in ChatGPT?

Per OpenAI, ads created from product feeds use the same format as its current ad units — clearly labeled placements below relevant conversations — with the ad title and description pulled directly from your product feed, and the format may evolve. The ad template in Ads Manager currently only supports selecting your image field, so feed data quality effectively is your creative.

How do I get my products into ChatGPT Shopping organically?

Organic product results in ChatGPT search are selected independently by ChatGPT — OpenAI states they are not ads and not influenced by partnerships. If you sell on Shopify, your product data is already integrated through Shopify Catalog with no extra work. Other merchants can read OpenAI's product feed documentation on its developer site and apply for direct feeds access so ChatGPT always reflects current product information.

What is shopping research in ChatGPT, and how do I show up in it?

Shopping research is ChatGPT's multi-step product discovery experience: it asks clarifying questions, researches options using merchant data provided through the Agentic Commerce Protocol plus publicly available product information, and returns a personalized buyer's guide with top picks and side-by-side comparisons. To be findable, merchants can follow OpenAI's allowlisting process — and should not block ChatGPT's automated access, because retailers that block it get skipped in favor of other sites.

Tarun Kapoor
About the author

Tarun Kapoor

Founder · GPT Ads AI

Performance marketer with 12+ years in paid acquisition. Former senior media buyer at Neil Patel Digital. Alumni of GroupM, WPP, Ogilvy & Mather, and Toptal's Growth Collective. Fractional CMO to Fortune 500 brands and venture-backed startups.

Book a call with Tarun

Want this run
for you?

Book a discovery call