How feed based ChatGPT ads work, the seven setup steps, the two week item expiry that catches stores out, and what UAE Shopify, Salla and Zid merchants should prepare.
On this page
- The short version
- Paid, organic and any other surfaces
- Feed campaigns versus standard campaigns
- What a feed ad shows
- The feed spec: fields that matter
- How a feed becomes an ad
- The seven steps
- The expiry rule
- Grouping products
- The empty Products tab
- Bid strategy on a feed ad group
- Is a product feed campaign the right fit
- Worked example: a DTC skincare brand
- Reusing an existing Google Shopping feed
- Your pre-launch action plan
- What OpenAI has not published
- Your first weeks with a live feed campaign
- Troubleshooting a feed campaign
- Common mistakes
- What UAE merchants should prepare
- A short glossary
- Quick answers
The short version
Upload your catalogue once, keep it refreshing automatically, filter it into ad groups and let one template turn products into ads. OpenAI says ads created from product feeds have been among the strongest performing in its programme to date. That is OpenAI's statement about its own product, and it is still the clearest signal of where ecommerce budgets should start. The trade off is control: a feed ad pulls its title, description and price straight from your store data, so the work moves upstream to keeping that data clean rather than writing individual ad copy. This guide covers what is actually live today versus what is not, the field by field mechanics of the feed itself, the seven step build, where advertisers most often get tripped up, and what UAE merchants on Shopify, Salla and Zid specifically need to prepare before their first upload.
Paid, organic and any other surfaces
Three questions come up from almost every merchant before they upload a feed: do paid feed ads work today, do feed products show up in organic ChatGPT answers, and is there some newer, more automated surface worth waiting for instead. Here is what our sources actually confirm for each.
Anyone telling you your feed already powers an organic shopping assistant, or an agentic buying flow, inside ChatGPT today is describing something OpenAI itself says is not yet available.
On our own new UAE account on 21 September 2026, Tools then Feeds opened on two tabs, Feed Connection and Upload History, with an empty state before any feed is connected pointing to uploading a product feed by SFTP to keep ads updated with current items, prices, availability and metadata. The Create feed button itself was disabled until account setup was finished, a reminder that the same account setup and billing gates that block a standard campaign also block feed setup.
Feed campaigns versus standard campaigns
What a feed ad shows
Product ads use formats built specifically for catalogue items. OpenAI lists product images, titles, stars, prices, sale prices and your brand as the elements these formats display. Unlike a standard ad, there is no separate title or copy field to write. Whatever is in your feed's title and description columns is what a shopper sees, which is why feed quality matters more here than in any other campaign type on the platform. OpenAI does not give this format a specific name such as a carousel or a grid in the articles we have; it only describes formats "designed specifically for showcasing items from your catalog." Treat any specific format name you see elsewhere as unconfirmed until OpenAI itself publishes one.
The feed spec: fields that matter
OpenAI points advertisers to its own feed specification document when formatting a feed, which sits outside the help articles we fetched, so treat the full field by field schema as something to pull from that specification directly rather than from this guide. What we can confirm from OpenAI's help articles are the fields that actually surface in an ad or control how one behaves.
| Field | What it controls |
|---|---|
| Title | What a shopper reads as the product name in the ad |
| Description | Supporting detail shown with the product |
| Price and sale price | Both can display; keep both in sync with the live store price |
| Stars | A rating shown on the ad, sourced from your feed |
| Brand | Displayed alongside the product |
| Product image | Must meet OpenAI's ad image requirements; OpenAI separately asks you to allow OAI-SearchBot to crawl the product image URLs, since a 403 response from the image host can block feed processing |
| ads_metadata | An open field for your own segmentation values, covered below under grouping products |
| Ads eligibility flag | Controls whether a product can be used in ads at all; products are eligible by default unless this is explicitly set to false |
How a feed becomes an ad
Four stages sit between an uploaded file and a shopper seeing a product. First, the feed itself: a catalogue of products, imported by CSV, hosted URL or SFTP, validated against OpenAI's feed specification. Second, filtering: an ad group applies product filters, or an ads_metadata value, to decide which subset of the feed it is allowed to advertise. Third, the template: one ad template per ad group takes every product that passes the filter and applies the same layout to it, pulling title, description, price, sale price, stars, brand and image straight from the feed data, with only the image field currently offering you a choice inside the template itself. Fourth, delivery: your bid strategy, with Maximize results as the default, adjusts bids for the ad group inside your budget, since manually bidding on every SKU in a large catalogue is not realistic. Understanding it as a pipeline explains why a bad row in the feed becomes a bad ad automatically, with no separate copywriting step in between to catch it before it goes live.
The seven steps
Create a feed
In Ads Manager open Tools, then Feeds, then Create Feed, and follow the prompts to set up a new product feed.
Import products
From the feed's row, open the three dot menu and choose CSV or TXT upload, a hosted URL, or an SFTP connection, matching your feed against OpenAI's feed specification as you go.
Validate
Processing takes from a few minutes to a few hours depending on feed size. Check Upload History for processing updates and errors. The tooltip beside Items in Feed Connection shows Ingested, Processed, Not approved and Ready counts, which OpenAI says describe offer records rather than unique products; Not approved is an aggregate count without a reason per item.
Create the campaign
In Campaigns, create a new campaign and choose Product feed from the campaign type dropdown, then complete the standard campaign settings. New product feed campaigns support geographic targeting and exclusions only at country level.
Create an ad group and choose products
Select the feed, apply product filters to define which products are eligible for the ad group, and review the product count Ads Manager shows to confirm how many products pass your filters. Maximize results is the default bid strategy for eligible new ad groups.
Create an ad template
One template per ad group. At present the template only supports a selection for the image field, and OpenAI recommends reviewing the sample product preview to confirm titles and descriptions appear as expected.
Review and launch
Confirm the feed selected, the product count, titles, descriptions, images and landing pages, and that the template previews correctly, then submit the campaign for review.
The expiry rule
Items expire after two weeks. A store that uploads a CSV by hand and forgets will watch its ads quietly stop as products age out one by one, often without a single clear error to flag it. Use a hosted feed URL that your ecommerce platform regenerates automatically, or an SFTP connection for a technical team automating server to server uploads.
| Import method | Suits |
|---|---|
| CSV or TXT upload | First test, small catalogue, occasional manual updates |
| Hosted URL | Most stores. Needs a stable HTTPS address that your platform keeps current |
| SFTP | Technical teams automating server to server uploads |
Our practical read: the CSV upload path is fine for validating that your feed format is correct before launch, but it should not be the permanent way a live campaign is fed. Move to a hosted URL or SFTP before the two week expiry becomes a recurring fire drill. For most UAE Shopify, Salla or Zid stores, a hosted URL is the pragmatic middle ground: it needs less engineering time than an SFTP connection, and unlike a manual CSV it does not depend on a person remembering to re-upload a file every two weeks, which is exactly the kind of task that quietly stops happening once the person who set it up moves on to something else.
Grouping products
Filters decide which products each ad group can use, and OpenAI's built in filters may not always be enough to structure a catalogue the way you actually sell. When they are not, OpenAI points to the ads_metadata field in the feed. Add values such as a bidding tier or product line to that field, then filter ad groups on those values. A simple UAE split many stores use is margin tier, so high margin lines get their own ad group and a bigger share of budget, while low margin or clearance lines sit in a separate group with a lower Manual: Max bid. Another common split is by product line or category, keeping seasonal or promotional items in their own ad group so their budget can be adjusted independently of the core catalogue.
Feeds created in Ads Manager make products eligible for ads by default unless an item is explicitly marked false for ads eligibility. If a product you expect to see is missing from an ad group, check that field before assuming the feed itself failed to import.
| If you need to split by | Use | Because |
|---|---|---|
| A category or attribute already in your standard feed columns, such as brand or product type | Built in filters | No extra data entry, works immediately after import |
| A business rule that has no natural feed column, such as margin tier, priority or a clearance flag | The ads_metadata field | Lets you invent your own segmentation values and filter ad groups on them |
| Whether a product should appear in ads at all | The ads eligibility field | This is a hard switch, not a filter; false removes a product from every ad group regardless of other filters |
The empty Products tab
OpenAI explains that the Products tab is a reporting view, not a full inventory list. It does not show every product uploaded or eligible for ads, only products that have delivery data from an active feed campaign, and OpenAI says to allow up to seven hours for product rows to first appear once delivery begins. If your campaign has not started, has a future start date, or has not yet delivered, an empty or partial Products tab is expected, not a sign the upload failed. During ad group setup, rely on the product count shown in that flow to confirm how many uploaded products are ready to serve and pass your filters. If products are still missing after the campaign has delivered, OpenAI's guidance is to contact support with the ad account ID, feed ID, campaign and ad group names, the date range and time zone, a few example product IDs and a screenshot of the Products tab.
The same reporting metrics that apply across Ads Manager apply to a feed campaign: impressions, clicks, spend, click through rate, average CPC or CPM, and conversions once tracking is set up, available in table view, chart view or CSV export. OpenAI says impressions, clicks and CTR typically refresh about every 15 minutes, while spend insights are delayed by about 7 to 8 hours. Nothing about the Products tab changes how these top level metrics behave; it is only the per product breakdown that is limited to what has actually delivered and been reported.
Bid strategy on a feed ad group
Maximize results is selected by default for eligible new feed ad groups. OpenAI describes it as letting the system automatically set and adjust bids to help get as many clicks or conversions as possible within your budget, without you manually managing bid levels. It is a genuine fit for a feed campaign with a broad catalogue, since manually setting a bid for every product line is not realistic at scale. OpenAI is direct about its limit too: Maximize results prioritises the volume of results, and does not guarantee delivery against a specific cost per click, cost per acquisition or return on ad spend. If a margin sensitive product line has a specific bid limit to stay within, OpenAI points to the manual or advanced bid controls instead: switch that ad group to Manual: Max bid in its bid strategy section, and accept that manual bidding on a large catalogue means revisiting bids periodically rather than leaving them to adjust automatically.
OpenAI's help article on building a campaign from a product feed only covers the bid strategy step, with Maximize results as the default. Its developer docs go further: "oCPC is in open beta for both standard and product-feed campaigns", meaning conversion optimised bidding billed per valid click, and Maximize results is available for both campaign types too. Two limits apply. OpenAI's bulk upload checklist says product feed campaigns cannot use Conversions in bulk upload, and none of OpenAI's current documents say whether impression billed conversion optimisation (oCPM) works with a feed campaign, so treat oCPM on a feed as unpublished.
Is a product feed campaign the right fit
This is our own view, not an OpenAI recommendation. A product feed campaign earns its setup effort once a catalogue is large enough, and changes often enough, that writing individual ads for each product line is not realistic. A UAE store with a few dozen hero products and stable pricing may get more out of a handful of well written standard ads, following our ad examples guide, than a feed campaign built mainly to cover long tail inventory nobody is searching for by name. A store with hundreds or thousands of SKUs, frequent price changes, or a catalogue that turns over seasonally is the clearer case for a feed, since the alternative is either ignoring most of the catalogue in ads entirely or spending disproportionate time writing creative for products that will not be in stock next month.
| Signal | Favours standard ads | Favours a product feed |
|---|---|---|
| Catalogue size | A few dozen hero products | Hundreds or thousands of SKUs |
| Price and stock stability | Stable, changes rarely | Changes often: sales, restocks, seasonal lines |
| What you are selling | A service, or a small set of flagship products | A broad or fast moving retail catalogue |
| Creative control needed | High, since standard ads let you write title and copy yourself | Lower priority than covering the catalogue at scale, since the template pulls straight from feed data |
Nothing stops a store running both at once: standard ads for hero products and a promotional message the feed template cannot express, alongside a feed campaign to cover the rest of the catalogue automatically.
Worked example: a DTC skincare brand
This is an illustration built from OpenAI's published rules, not a real campaign or a promised result. A UAE direct to consumer skincare brand with around 150 SKUs sets up a hosted URL feed, since a manual CSV would need re-uploading before the two week expiry every time. Filters split the catalogue into three ad groups using the ads_metadata field: hero products carrying the brand's best margins, a clearance ad group for end of line stock with a lower Manual: Max bid so it never outbids the hero group, and a seasonal ad group for gift sets that only runs in the weeks around Eid and National Day. Each ad group uses a single ad template, since OpenAI allows only one per ad group, with the image field set to the brand's own product photography rather than a lifestyle shot, so the sample preview matches what the live product page actually shows. Purchase tracking runs through the Pixel and the Conversions API together before launch, so the brand can judge feed spend against real orders, not clicks, once results come in.
Reusing an existing Google Shopping feed
This is our own practical view, not an OpenAI statement about compatibility. Many UAE stores already maintain a Google Shopping feed, and the instinct is to point the same file at OpenAI. Do not assume it will validate without changes. Check the export against OpenAI's own feed specification field by field before the first upload, since a platform's default export format, column names and required fields do not always match what OpenAI expects, and a feed built for a different platform's rules is a common source of avoidable validation errors on a first attempt. Where the two specifications do overlap, such as title, price, image and availability, reusing the underlying product data is reasonable; where they do not, such as OpenAI's own ads_metadata segmentation field, that has to be added specifically for this platform. Practically, this usually means treating the Google Shopping feed as a starting data source, generated by the same store platform, rather than as a file that can be uploaded to both destinations unmodified; a CSV export mapped once to OpenAI's own column names and hosted at a stable URL solves this permanently rather than needing a manual reconciliation every time either feed changes.
Your pre-launch action plan
Confirm feed readiness
Titles written for shoppers, prices matching the live store exactly, images meeting OpenAI's format and hosting rules, and the ads eligibility field checked for any product that should be excluded.
Choose the import method
CSV only to validate the format once. A hosted URL or SFTP connection for anything that will run past two weeks.
Decide the ad group split
Built in filters first; the ads_metadata field for anything filters cannot express, such as margin tier or seasonal lines.
Set tracking before launch
Pixel and Conversions API live and firing on a real purchase, tested end to end, before the campaign goes to review.
Review the template preview
Confirm the sample product preview shows titles, descriptions, price and image the way you actually want a shopper to see them, since there is no separate copy field to fix this later.
What OpenAI has not published
Whether a feed campaign can use impression billed conversion optimisation (oCPM); the developer docs confirm only oCPC, in open beta. A specific name for the feed ad format, such as a carousel or grid. Any organic or agentic shopping surface built from advertiser feeds; the only confirmed use of feed data today is inside a paid Product feed campaign. The complete field by field feed specification, which sits in OpenAI's own separate specification document rather than in the help articles we have. A recommended bid amount specific to feed ad groups; OpenAI's starting point of 3 to 5 US dollars per click is written for CPC campaigns in general, and it says there is no recommended bid amount at this time for conversion optimised campaigns. Whether sub-national location targeting, available to most other campaign types, will be added to new product feed campaigns; today OpenAI states new feed campaigns support geographic targeting and exclusions only at country level. And no published performance benchmark by industry or catalogue size, beyond OpenAI's general statement that feed ads have been among the strongest performing in its programme to date, which is a platform wide claim, not a UAE or retail specific one.
Your first weeks with a live feed campaign
This is our own approach, not an OpenAI schedule. In the first few days after launch, do not judge the campaign from the Products tab at all, since it is a reporting view where product rows can take up to seven hours to first appear, and it will not list your whole catalogue even once they do; use the product count shown during ad group setup as your readiness check instead. Once delivery has clearly started, cross check that purchase events from feed traffic are arriving through the Pixel and the Conversions API, since a feed campaign without working purchase tracking can spend for weeks with no way to judge it against actual sales. By the second week, review which ad groups are actually delivering versus which are not; a filter that is too narrow, or an ads_metadata value that does not match what you expect, both show up as an ad group with a healthy budget and almost no spend. From there, treat the feed itself as a living asset: schedule a recurring check, weekly for a fast moving catalogue, that prices in the feed still match the live store and that newly out of stock items are marked ineligible rather than left to keep showing in ads.
Troubleshooting a feed campaign
| Symptom | Likely cause | What to check |
|---|---|---|
| Products tab is empty or partial | It is a reporting view, populated only after delivery, with up to seven hours before product rows first appear | Use the product count shown during ad group setup instead, not the Products tab, while the campaign is new |
| A specific product never appears | Ads eligibility marked false, or excluded by a filter | The feed's ads eligibility field first, then the ad group's product filters |
| Feed upload fails or images will not validate | Image URLs not publicly accessible, blocked by a firewall, or returning a preview page instead of the image itself | Confirm OAI-SearchBot can crawl the image host; a 403 response on the image URL can block feed processing |
| Ads stopped a few weeks after launch with no clear error | Items expired after two weeks on a manual CSV feed | Move to a hosted URL or SFTP connection so the feed refreshes itself |
| Campaign cannot be built through the usual bulk file | Product feed campaigns are not supported by CSV bulk upload | Build the campaign in Ads Manager's campaign flow instead, or through OpenAI's API or plugin |
If a missing product persists after checking all of the above, OpenAI's own guidance is to contact support with the ad account ID, feed ID, campaign and ad group names, the date range and time zone, and a few example product IDs.
Common mistakes
- Leaving a CSV upload as the permanent feed source. It works for a first test, then quietly breaks two weeks later when nobody remembers to re-upload it.
- Assuming an empty Products tab means the feed did not upload. It is a reporting view that only fills in after delivery, not an inventory check.
- Writing feed titles for search engines instead of shoppers. A title crammed with keywords reads as noise inside a ChatGPT ad's product card, where OpenAI's own guidance for creative in general, useful and specific over generic, still applies to how a feed title should read.
- Letting the store's price and the ad's price drift apart. If the feed is not synced to the same source as the live store price, a sale ending on the site but not in the feed sends shoppers to a landing page that contradicts the ad.
- Trying to bulk upload a feed campaign. It is not supported. Feed campaigns are built in Ads Manager's campaign flow, covered step by step above, or through OpenAI's API or plugin.
What UAE merchants should prepare
- Prices in the currency and format the feed specification requires, matching the landing page exactly, including whether displayed prices are VAT inclusive, since a mismatch between the ad price and the checkout price is one of the fastest ways to lose a shopper's trust.
- Clean titles. The template takes titles and descriptions from the feed, so whatever is in your store's product data is what appears in the ad, with no separate ad copy to soften a bad title.
- Working landing pages that do not block OpenAI's user agents, OAI-AdsBot and OAI-SearchBot.
- Purchase tracking through the Pixel and Conversions API before launch, so feed campaign spend can be judged against actual sales rather than clicks alone. See the conversion tracking guide.
- For Shopify, Salla and Zid stores, a feed export that refreshes on a schedule rather than a one time manual file. Check the export against OpenAI's feed specification before the first upload, since a platform's default export format does not always match what OpenAI expects without adjustment.
- A decision on Arabic product titles if you sell to both English and Arabic speaking shoppers. OpenAI's help articles and developer docs do not publish a language restriction for feeds, so whether to run a single bilingual feed or separate feeds per language is a decision to make based on how your catalogue is actually structured in your store platform.
- A named person responsible for the feed once it is live. A product feed is not a set and forget asset; price changes, new arrivals and end of line stock all need to reach the feed on the same schedule they reach the storefront, or the ad and the checkout start to disagree.
A short glossary
For the setup work of building and maintaining a UAE product feed, see our product feed service, and for the wider account and campaign structure a feed campaign sits inside, see our Ads Manager complete guide.
Quick answers
Do feed products show up in normal ChatGPT answers?
No. OpenAI says products from your feed are only eligible for use in ads during this beta and will not appear in organic ChatGPT conversations, though it may offer that in future.
How often must the feed update?
Items expire after two weeks, so OpenAI recommends a hosted URL or automated SFTP uploads instead of manual files.
Can I bulk upload feed campaigns by CSV?
No. OpenAI says Ads Manager CSV upload does not currently support creating product feed campaigns. They are built in Ads Manager's campaign flow instead, or through OpenAI's API or its ChatGPT Ads Manager plugin.
Which bid strategy do feed ad groups use?
Maximize results is selected by default for eligible new ad groups. It adjusts bids automatically to get as many clicks or conversions as possible within budget.
What can I actually customise in a product feed ad template?
Very little at present. OpenAI states the ad template currently only supports a selection for the image field. Titles, descriptions, prices and stars are pulled directly from your feed.
Why is a product from my feed missing from an ad group?
Check the ad group's product filters and the feed's ads eligibility field first. Products are eligible by default unless explicitly marked false for ads eligibility, and a filter can exclude a product that is otherwise eligible.
Can I run product feed ads without organic ChatGPT shopping too?
There is no organic option to choose between. OpenAI states feed products are only eligible for use in paid ads during this beta and do not appear in organic ChatGPT conversations at all, so every feed product you see in ChatGPT today came from a paid campaign.
Can I reuse my Google Shopping feed for OpenAI?
Not without checking it first. OpenAI has its own feed specification, and a platform's default export does not always match it without adjustment, so validate field by field before the first upload rather than assuming compatibility.
How many ad templates can one ad group have?
One. OpenAI states only one ad template is necessary per ad group, and its plugin article adds that each product feed ad group supports one non-archived ad template, applied to every product that passes that ad group's filters.
Does OpenAI name the product ad format a carousel?
No. OpenAI's help articles describe formats designed specifically for catalogue items, listing images, titles, stars, prices, sale prices and brand, without giving the format a specific name such as carousel or grid.
Related
ChatGPT Ads Manager guide
ChatGPT Ads Manager, also called OpenAI Ads Manager, explained level by level: account, campaign, ad group and ad, what cannot be edited later, and a launch checklist.
Bulk upload checklist
The three tab bulk upload schema for OpenAI Ads Manager, every required column, the formatting rules that cause silent failures and how to fix a rejected file.
Conversion tracking
oppref is the click reference OpenAI adds to ChatGPT ad landing URLs. How the Pixel stores it, why Pixel plus Conversions API beats either alone, and WhatsApp sales in the UAE.
ChatGPT ads cost in AED
OpenAI publishes no rate card. Here is what it does publish: billing by objective, a suggested starting CPC bid, the AED 65 daily minimum and how budgets really pace.
Shopping ads on ChatGPT
What people mean by ChatGPT shopping ads, how a product feed campaign actually runs for a store, feed requirements, the two week expiry and store measurement.
ChatGPT ads for ecommerce
Objective choice for stores, the purchase event with order value, feed campaigns, budget arithmetic on the published minimums, and a four week ecommerce test plan.