Zero-impression items are products in a ChatGPT Ads feed campaign that have served zero billable impressions over a reporting window, even though they sit in your catalog and are marked eligible to run. They are not disapproved or rejected products; a zero-impression item has cleared review but the system has not yet delivered it to any conversation.
If much of your catalog shows zero impressions, you are paying to maintain a feed that surfaces only a handful of SKUs, so treat the metric as a delivery signal worth acting on. Ignore it and spend concentrates on a few products while the rest of your inventory stays invisible to shoppers mid-conversation.
In ChatGPT Ads reporting, a zero-impression item is a feed product whose impression count stays at zero across the dates you measure, flagging it as eligible but undelivered. The Products tab is a delivery-backed view, so an item appears with data only after the ads system serves it, and a SKU at zero is one the matching layer has not yet chosen to show.
Zero impressions can come from several conditions. The item may be new and still ramping, filtered out of an ad group by a product rule, priced or bid below what wins placement, or simply deprioritized because the model judged it a weak match for the conversations users are having. Each cause looks identical in the report: a row with zero in the impressions column.
Zero-impression items differ from disapproved products, which fail policy review and never become eligible, and from zero-click items, which serve but earn no clicks. Reading the three together shows where a SKU stalls in the funnel. AirOps connects ChatGPT Ads delivery data to the prompts and competitors driving placement, so a zero-impression row becomes a question you can investigate.
Resources: See how to structure ChatGPT Ads targeting and creative so more of your feed delivers
Zero-impression items are the output of the delivery pipeline, so understanding them means tracing how a feed product moves from upload to a served ad.
Ingest: You upload a catalog by CSV, hosted URL, or SFTP, and each row is validated against the required fields before it can run.
Review: OpenAI checks each product against ad policy; items that fail never become eligible and are not counted as zero-impression items.
Eligibility: Approved products marked eligible enter the auction pool for ad groups whose filters they match.
Matching: For each conversation, the system weighs context, intent, bid, and landing page, then selects which eligible products to show, leaving the rest at zero impressions for that window.
Reporting: Delivered items appear in the Products tab with impression counts; anything served zero times stays absent or shows a zero row once the report refreshes.
The impression count tells you which SKUs the matching layer is actually choosing. It does not tell you why a given item lost, so a zero row is a prompt to check feed quality, filters, and bids before you judge the product itself.
Your product feed is only worth the spend if it actually reaches shoppers, and the share of SKUs sitting at zero impressions is the clearest read on whether that is happening. Before you raise budgets or expand the catalog, zero-impression items tell you whether the money you already committed is moving.
Wasted catalog coverage: Every zero-impression SKU is inventory you prepared and maintained that earns nothing, so a high count means you are funding a feed that works like a short list.
Hidden delivery failures: A product can read as eligible yet never serve because a filter, a low bid, or a weak context match quietly blocks it, and the zero row is often the only visible symptom.
Skewed performance reads: If you judge the channel on the few SKUs that do deliver, you draw conclusions from a sliver of your catalog and miss demand for products the system never showed.
SEO managers use zero-impression items to flag which catalog products need better feed data before they expand ChatGPT Ads spend.
Growth marketers use zero-impression items to spot where bids or product filters are quietly blocking delivery across ad groups.
Demand gen leads use zero-impression items to decide whether a stalled SKU needs a creative fix or should be excluded from the feed.
The ChatGPT Ads Products tab only populates a row after an item has served, so a SKU with no delivery shows no data at all, and a zero-impression item is always read against the specific dates in your measurement window.
A product must pass policy review and carry the feed fields that mark it eligible before it can earn any impression, so eligibility is the gate that separates a zero-impression item from a product that was rejected outright.
Impressions are won when the system judges a product a strong fit for the current conversation at a competitive bid, so a zero-impression item usually lost that selection repeatedly even though it stayed fully eligible.
Surface which catalog products the ChatGPT Ads system is actually serving.
Catch feed and eligibility errors before they drain budget on undelivered SKUs.
Reallocate bids toward products that can win placement in high-intent conversations.
Compare delivery across ad groups to find filters that block entire product sets.
Prioritize fixes on the SKUs with the most revenue potential sitting at zero impressions.
Audit zero-impression rates weekly, because catalogs drift and a rising share signals a feed or delivery problem forming.
Confirm is_ads_eligible on every row, since the field can default off and leave approved products unable to serve.
Check ad group filters against the feed values, so a product_line or category mismatch does not silently exclude valid items.
Test bids on stalled SKUs, because a bid below the clearing price keeps an eligible product at zero impressions.
Enrich titles, images, and attributes, so the matching layer has enough signal to judge the product a fit for real conversations.
Give new items at least 24 hours, since reporting lags delivery and early zeros often resolve on their own.
Avoid treating every zero-impression item as a product to cut. Competent operators over-prune feeds the first week, deleting SKUs that were still ramping or blocked by one fixable attribute, which shrinks the catalog and the demand it could have captured.
AirOps: Connects ChatGPT Ads delivery data to the prompts and competitors driving placement, so you can see why specific items sit at zero impressions.
OpenAI Ads Manager: The native reporting surface where the Products tab and Insights API expose per-item impression counts and review status.
Google Analytics 4: Confirms whether the clicks and sessions behind delivered items turn into on-site conversions, giving context to which SKUs are worth fixing.
Pull the Products report: Open Ads Manager and export the Products tab for your active feed campaign over the last 7 to 14 days. Flag every item currently showing zero impressions.
Separate eligible from rejected: Cross-check the zero rows against product review status so you are working only on items that cleared policy review and can actually serve.
Diagnose the cause: For each eligible zero-impression item, check is_ads_eligible, ad group filters, bid level, and feed completeness to find exactly what is blocking delivery.
Fix and resubmit: Correct the attribute, filter, or bid that is holding the item back, then let the feed refresh and give delivery at least a full day to catch up.
Monitor and set a threshold: Recheck the report on a schedule and decide the zero-impression share that triggers action, so the next review is a quick comparison against a known baseline.
Zero-impression items are eligible ChatGPT Ads feed products that have served no impressions in a reporting window.
You find them in the Ads Manager Products tab or Insights API, which only report items after they deliver.
An item cannot earn impressions until it passes policy review and wins selection against the current conversation and competing bids.
Treating every zero row as a dead product leads teams to prune SKUs that were only ramping or blocked by one fixable setting.
The leverage sits in feed quality, eligibility flags, filters, and bids, which are the levers that move an item from zero to served.
Zero-impression items and disapproved products fail at different stages, which is why the fix differs. A disapproved product broke an ad policy rule during review, so OpenAI never made it eligible and it cannot serve until you correct the violation and resubmit. A zero-impression item already cleared review and is eligible, but the ads system has not selected it to show in any conversation during the window you checked. In practice, you handle a disapproval by reading the stated reason and fixing the creative, claim, or category. You handle a zero-impression item by checking whether a filter excluded it, a bid sat too low, or the feed data was too thin for the matching layer to judge it a fit. One is a compliance block. The other is a competitiveness and delivery question you work through with bids, filters, and feed quality.
Review zero-impression items on a weekly cadence for an active feed campaign, with a closer look in the first days after any launch or major feed change. A week is frequent enough to catch a filter or bid problem before it wastes much budget, and it smooths over the normal noise created by reporting lag. ChatGPT Ads reporting can trail delivery by several hours, and brand-new items often need around a day before impressions register, so a daily zero reading early on is usually not a real problem yet. After the catalog settles, weekly is enough unless you push a new feed version, change ad group filters, or adjust bids, each of which can swing which items deliver. Tie the cadence to a threshold you set in advance: if the share of zero-impression items crosses that line between checks, investigate immediately instead of waiting for the next scheduled review.
Zero-impression items vary across ad groups mainly because delivery depends on settings that live at the ad group level instead of the catalog as a whole. Each ad group carries its own product filters, so a SKU that is eligible overall can be excluded from one group and active in another. Bids and budgets also sit at the campaign and ad group level, and a group bidding below the clearing price for its context will leave more items at zero. On top of that, the matching layer judges each product against the specific conversations an ad group targets, so a product that fits one group's context hints may be a weak fit for another's. Feed quality interacts with all of this: thin titles or missing attributes hurt more in competitive groups than in sparse ones. The practical takeaway is to diagnose zero-impression items group by group, because a single catalog-wide fix rarely explains the spread you see.
Yes, you can influence zero-impression items directly, though you control the inputs while the system still makes the final selection. The levers you hold are feed quality, eligibility settings, ad group filters, bids, and budget. Making an item eligible, enriching its title, image, and attributes, loosening a filter that excluded it, and raising a bid that sat below the clearing price all increase the chance the system shows it. What you cannot do is force an impression for a specific product in a specific conversation, because the ads system still decides each match on expected relevance and outcomes. So the honest answer is that you move the odds without controlling the outcome. Treat each zero-impression item as a hypothesis: change one input, let the feed and reporting refresh, and watch whether impressions appear. Over several cycles, this tells you which products were genuinely held back by something fixable and which simply face little demand in ChatGPT conversations.
There is no official benchmark for a good zero-impression rate, so the honest answer is that it depends on your catalog size and campaign maturity, and you should set your own baseline. A large catalog will almost always have a meaningful share of items at zero, because budget and conversation demand concentrate on a subset of products, and that pattern is expected for a broad catalog. What matters more than an absolute number is the trend and the mix: a stable or falling share of zero-impression items among the SKUs you actually want to promote is a healthy sign, while a rising share, or zeros concentrated on your priority products, signals a problem. Set a baseline in the first few weeks of steady delivery, then judge each review against that line. If high-margin or hero SKUs sit at zero, treat that as serious no matter how good the overall rate looks.