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

URL: https://www.gptadsai.com/guides/chatgpt-ads-product-feed
Author: Tarun Kapoor — Founder, GPT Ads AI (12+ years paid media: GroupM, WPP, Ogilvy & Mather, Neil Patel Digital, Toptal Growth Collective)
Published: 2026-07-13
Type: Guide
Reading time: 16 minutes

> 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 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: (1) product feed ad campaigns (paid, via Ads Manager), (2) shopping results in ChatGPT search (organic carousels — OpenAI states these are not ads), and (3) shopping research (agentic buyer's guides built partly from Agentic Commerce Protocol merchant data). They draw on the same family of product feed specifications but are separate pipes with separate opt-ins. The same catalog work compounds across all three.

## 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: 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.

OpenAI's own performance claim: "Ads created from product feeds have been among the strongest-performing ads in our program to date." Product ads shown during purchase-focused conversations reach users already describing what they want to buy — closer to bottom-of-funnel search than interruption media.

Because feed ads are assembled from structured product data, the catalog is the creative. Per OpenAI, feed ads use the same format as current ChatGPT ad units, with the ad title and description pulled directly from your feed; the ad template currently only lets you select the image field. There is no headline copywriting step.

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

| Surface | What it is | How your products get in | Paid or organic |
|---|---|---|---|
| Product feed ad campaigns | Ads generated from your catalog, shown below relevant conversations in the same format as current ChatGPT ad units | Upload a spec-compliant feed via SFTP in Ads Manager; mark products ads-eligible; build a Product feed campaign | Paid — budget, bids, auction |
| Shopping in ChatGPT search | Product carousels with images, details, merchant links, sometimes Instant Checkout, when a query shows shopping intent | Selected independently by ChatGPT. Shopify merchants integrated automatically via Shopify Catalog; others apply for direct feed access | Organic — OpenAI: "not ads, nor influenced by any OpenAI partnerships" |
| Shopping research | Multi-step discovery that asks clarifying questions and returns a personalized buyer's guide with top picks and comparisons | Merchant data via the Agentic Commerce Protocol (ACP), public product pages, and an allowlisting process; sites that block automated access are skipped | Organic — OpenAI states ads are separate from shopping research |

Strategic read: the feed work you do for paid campaigns is most of the work needed for the organic surfaces, and vice versa. A clean, spec-compliant, frequently refreshed catalog is the shared asset.

## Before you begin: what OpenAI requires

Per OpenAI's help documentation:

- Your feed must comply with OpenAI's feed specifications.
- Feeds must be uploaded through SFTP (no feed API, no fetch-from-URL in the documented flow).
- Feeds can contain up to 2 million products.
- Each ad account is limited to one feed connection.
- During the beta, products from your ads feed are only eligible for use in ads — they will not appear in organic ChatGPT conversations (OpenAI may offer that later).
- Ad title and description are pulled directly from your feed; the format matches current ad units and may evolve.

You also need an approved advertiser account first (Persona verification, billing, review queue) — see https://www.gptadsai.com/guides/ads-manager-account-setup.

## The feed spec: fields that matter

Required core fields, per OpenAI's product feed specification:

| Field | What it holds | Constraint |
|---|---|---|
| item_id | Merchant product ID | Unique per variant |
| title | Product name | Max 150 characters |
| description | Full product description | Max 5,000 characters |
| url | Product detail page | Must resolve successfully |
| brand | Product brand | Max 70 characters |
| price | Regular price | With ISO 4217 currency code |
| availability | Stock status | in_stock, out_of_stock, pre_order, backorder, or unknown |
| image_url | Main product image | JPEG or PNG, publicly reachable |
| seller_name / seller_url | Who sells it, and where | Name max 70 characters |
| target_countries / store_country | Where sold from and to | ISO country codes |

Eligibility switches — the fields that route products to surfaces:

- **is_ads_eligible** — controls whether a product can be processed for ChatGPT ads. Set true for every product Ads should handle (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 (organic shopping).
- **is_eligible_checkout** — enables direct purchase flows; 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; your segmentation handle inside Ads Manager.

Recommended optional fields worth populating: gtin, group_id and variant_dict (variant grouping), sale_price (must not exceed regular price), q_and_a, reviews. GPT Ads AI observation: a conversational assistant has far more room to use rich attributes than a search results page — merchants whose feeds read like good product pages will win these surfaces.

## Step-by-step: launching a product feed campaign

OpenAI's documented flow, condensed:

1. **Create the feed.** Ads Manager → Tools tab → Feeds → Create Feed → follow prompts. Ads Manager generates your SFTP connection details.
2. **Configure the SFTP connection.** Feed row three-dot menu → Edit SFTP Connection → choose password or SSH-key authentication → follow the in-product connection guide. Format the file against the feed specification.
3. **Upload and validate.** Upload via SFTP; processing takes a few minutes to a few hours depending on size. Items process gradually — check the ad group creation modal for the ready-to-serve count. Operating note: don't schedule a launch the same hour you first upload a large catalog.
4. **Create the campaign.** Campaigns tab → new campaign → select "Product feed" in the campaign type dropdown → complete settings. Per OpenAI's developer docs, product-feed mode is set at creation and cannot be changed afterward.
5. **Build the ad group and choose products.** Select the feed, apply product filters, review the product count that passes. If filters aren't enough, use ads_metadata (OpenAI's examples: bidding_tier, product_line) to organize products.
6. **Create the ad template.** One template per ad group; it currently only supports selecting your image field. Review the sample product preview — the only pre-launch look at your feed-as-creative.
7. **Review and launch.** Confirm: correct feed selected; product count matches intent; titles, descriptions, images, landing pages look right; template previews correctly; campaign, ad group, budget, bid, targeting complete. Submit for review and launch.

## How a feed becomes an ad

Per OpenAI's developer documentation:

| Layer | Role | Your lever |
|---|---|---|
| Product feed | Supplies the merchant's current catalog | Data quality, freshness, eligibility flags, ads_metadata |
| Campaign | Sets budget, schedule, targeting, and product_feed mode | Budget allocation and bid strategy |
| Product set | Selects one linked feed and optionally filters the products | Which catalog slice competes for which conversations |
| Product-ad template | Defines how product values appear in the ad via tokens like {{product.title}}, {{product.price}} | Image field selection today |

Serving conditions: the product must be marked ads-eligible, remain available, contain usable product data, and pass feed processing and review — while campaign, ad group, and ad stay active, funded, and eligible. Availability silently bites: out_of_stock stops the ad, which is what you want if your feed updates fast enough to be trusted.

## ads_metadata: the segmentation layer most advertisers will miss

One feed per account plus finite filters means your segmentation vocabulary must live in the feed. OpenAI's documented examples: bidding_tier, product_line. GPT Ads AI recommendation — design it like Google Ads labels, before the first upload:

- **Margin bands** ("margin": "high") — aggressive bids on products that can afford them.
- **Hero vs. long-tail** ("tier": "hero") — isolate the bestsellers in their own ad group and budget.
- **Seasonality windows** ("season": "q4-gifting") — pause and resume seasonal ad groups without touching the feed.
- **Price bands** — assistant conversations often carry explicit budgets ("under $100"); bid where AOV differs.

Anti-pattern: uploading a raw catalog dump, discovering the filters can't express your structure, and re-uploading 500,000 rows with metadata you should have designed on day one.

## The organic side: shopping in ChatGPT search

When a query shows shopping intent, ChatGPT can show product options with imagery, details, merchant links — sometimes an Instant Checkout option. OpenAI: product results are "selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships."

Selection considers: the user's query and context (including Memory and Custom instructions); structured metadata from first- and third-party providers; model responses generated before considering new search results; OpenAI safety standards and product policies.

Merchant-relevant behaviors:

- **ChatGPT rewrites listings.** It may generate simplified titles and descriptions — your title is input, not guaranteed display copy.
- **It labels products itself.** "Budget-friendly" / "Most popular" labels are model-generated, not verified. Review summaries come from public websites, not verified by OpenAI.
- **Merchant ranking is earned.** Merchants offering a product are ranked by availability, price, quality, and maker/primary-seller status. ChatGPT works to highlight the lowest price it is aware of on the product detail page.

Getting in: Shopify merchants are already integrated via Shopify Catalog (no extra work). Others can read the product feed documentation on OpenAI's developer site and apply for direct feeds access. OpenAI acknowledges price-update delays — a direct feed means competing with current data rather than whatever was last crawled.

## Shopping research: the buyer's guide surface

Shopping research is an interactive discovery experience for decisions involving comparisons, trade-offs, or multiple constraints. Users select products in chat and choose "Research"; ChatGPT asks clarifying questions, then runs a multi-step process using merchant product data provided through the Agentic Commerce Protocol (ACP), publicly available product information, and other retail sources.

Output: a personalized buyer's guide — plain-language purchase considerations, a small set of top picks with rationales and merchant links, side-by-side comparison tables, and a scrollable list of additional matches. For high-consideration purchases, that guide is the shelf.

Two merchant-side facts:

- **There is an allowlisting process** for merchants who want to be available in shopping research results.
- **Blocking bots has a visible cost.** OpenAI states that when retailers block automated access, shopping research skips those sources or relies on other sites with similar products. A blanket bot-block can translate directly into absence from buyer's guides.

Privacy: OpenAI states user chats are never shared with retailers; results are organic, based on reading public retail pages directly and citing sources.

## Reusing your Google Shopping feed

Launch coverage noted OpenAI accepts the same structured catalog data retailers already send to Google Shopping. Practical mapping (validate against OpenAI's spec — the source of truth):

| Google Merchant Center | OpenAI feed spec | Note |
|---|---|---|
| id | item_id | Unique per variant in both |
| title / description | title / description | OpenAI allows up to 150 / 5,000 chars |
| link | url | Must resolve successfully |
| image_link / additional_image_link | image_url / additional_image_urls | JPEG or PNG over HTTPS |
| price / sale_price | price / sale_price | ISO 4217; sale ≤ regular |
| availability | availability | Map to OpenAI's five enum values |
| gtin / brand / item_group_id | gtin / brand / group_id | Keep GTINs |
| — | is_ads_eligible, ads_metadata, seller_name, seller_url, target_countries, store_country | OpenAI-specific — the net-new work |

If you maintain a healthy Google Shopping feed, budget the OpenAI adaptation in days, not weeks — the critical path is account approval and feed processing, not engineering.

## Worked example: a DTC skincare brand (illustrative)

1,200-SKU DTC skincare brand:

- **Feed:** full catalog transformed from the existing Google feed; 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: 80 bestsellers with reviews, rich descriptions, strong margins.
- **Campaign 2 — Catalog (efficient bids):** everything else ads-eligible, ad groups split by line.
- **Feed refresh weekly minimum, daily preferred** — availability drives serving.
- **Same catalog, organic pass:** direct-feeds application (or Shopify Catalog check) for ChatGPT Shopping, shopping-research allowlisting, and confirm robots.txt/WAF don't block OpenAI crawlers.

## Common mistakes to avoid

- Treating the feed as an IT task instead of the creative — titles and descriptions serve verbatim as ad copy.
- Skipping ads_metadata design — one feed per account means segmentation vocabulary must live in the feed.
- Assuming ads feed = organic visibility — OpenAI states ads-feed products do not appear in organic conversations during the beta.
- Blocking AI crawlers sitewide — shopping research openly skips retailers that block automated access.
- Letting availability go stale — products must remain available to serve.
- Using is_ads_enabled — that field does not exist; the field is is_ads_eligible.

## Your action plan

**This week**

- Export your Google Shopping feed and audit title/description quality — read the top 50 titles as ad headlines, because they will be.
- Map fields to OpenAI's spec; list the net-new ones (seller fields, country fields, eligibility flags).
- Check robots.txt, CDN, and WAF for rules blocking OpenAI crawlers or automated retail access.
- If 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, validate the ready-to-serve count before scheduling a launch.
- Launch a hero-tier Product feed campaign first; catalog-wide campaign behind it.
- Run the organic track in parallel: Shopify Catalog check or direct-feeds application, plus shopping-research allowlisting.
- Set a feed refresh cadence tied to inventory velocity; monitor product-level performance for pruning decisions.

## FAQ

**What is a product feed in ChatGPT Ads?**
A structured file of your catalog — item IDs, titles, descriptions, prices, availability, images, URLs — uploaded to ChatGPT Ads Manager over SFTP. Ads Manager generates product ads directly from it; the ad title and description are pulled straight from the feed. Feeds can contain up to 2 million products, and OpenAI reports feed ads have been among the strongest-performing ads in its program to date.

**How do I upload a product feed to ChatGPT Ads Manager?**
Tools → Feeds → Create Feed; Ads Manager generates SFTP connection details. Configure password or SSH-key auth via Edit SFTP Connection, then upload through SFTP. Processing takes minutes to hours; items become ready gradually.

**What fields are required in a ChatGPT ads product feed?**
item_id (unique per variant), title (≤150 chars), description (≤5,000 chars), a resolving url, brand, price with ISO currency, availability (in_stock / out_of_stock / pre_order / backorder / unknown), image_url, seller_name, seller_url, target_countries, store_country. Products must be ads-eligible; Ads Manager feeds default to eligible unless marked false.

**Can I use my Google Shopping feed for ChatGPT Ads?**
Largely yes, with a field-mapping pass (id→item_id, link→url, image_link→image_url). Validate against OpenAI's spec — it adds fields Google doesn't use, like eligibility flags and ads_metadata.

**How many products do I need?**
OpenAI's help documentation states feeds can contain up to 2 million products and publishes no minimum on that page. Treat any specific minimum as unconfirmed until you see it in your own account's feed requirements.

**Do ads-feed products appear organically in ChatGPT?**
No. During the beta, ads-feed products are only eligible for ads and will not appear in organic conversations. Organic product results come through a separate pipe (Shopify Catalog or direct-feed application).

**What does is_ads_eligible do?**
It controls whether a product can be processed for ChatGPT ads. Set true for products Ads should handle; legacy alias is_eligible_ads works; is_ads_enabled does not exist.

**What do product feed ads look like?**
Same format as current ChatGPT ad units — clearly labeled placements below relevant conversations — with title and description pulled from the feed. The ad template currently only supports selecting the image field.

**How do I get products into ChatGPT Shopping organically?**
Shopify merchants are integrated automatically via Shopify Catalog. Others apply for direct feeds access via OpenAI's developer documentation and merchant application.

**What is shopping research, and how do I show up in it?**
ChatGPT's multi-step discovery that returns a personalized buyer's guide, built from ACP merchant data and public product pages. Follow OpenAI's allowlisting process and don't block automated access — blocked retailers get skipped.

## Sources

Grounded in OpenAI's own documentation: "Create Campaigns from Product Feeds" (help.openai.com), "Shopping with ChatGPT Search" (help.openai.com), "Using shopping research in ChatGPT" (help.openai.com), and the Product Feeds pages on developers.openai.com. Benchmarks and operating recommendations beyond those docs are labeled as GPT Ads AI observations. No fabricated stats.

## Related

- /guides/chatgpt-ads-manager.md — the full Ads Manager Beta tour
- /guides/ads-manager-account-setup.md — advertiser account approval, step by step
- /guides/chatgpt-ads-cost.md — CPM/CPC pricing and bid guidance
- /guides/chatgpt-ads-examples.md — what ChatGPT ads look like
- /services.md — done-for-you ChatGPT Ads management

## About this page

Canonical machine-readable version of https://www.gptadsai.com/guides/chatgpt-ads-product-feed.
