If products are missing from ChatGPT Ads, first identify where they are missing. An item can be absent from a feed because sync or validation failed, excluded from an ad group by a product filter, or simply absent from the Products report because the campaign has not delivered yet. OpenAI says the Products tab is a delivery-backed reporting view, not a complete inventory list. Its product-feed guide recommends checking the eligible product count during ad-group setup; first reporting rows can take up to seven hours after delivery.
This is a paid-product-feed troubleshooting guide. For a general overview, see how ChatGPT Ads work. For a Shopify app connection walkthrough, use Shopify setup. A landing page marked Crawl Failed is a separate problem with its own guide.
Which screen is missing the product?
Use the screen name as your first diagnostic fact:
| Missing where? | What that screen means | First check |
|---|---|---|
| Feed upload or Shopify sync | Ads Manager may not have processed the source item | Correct account, sync state, upload history and item fields |
| Ad-group product selection | The imported item may fail the chosen product filters | Eligible product count and filter values |
| Products tab after campaign setup | Reporting may have no delivery-backed row yet | Campaign status, delivery and reporting delay |
| Ad review or destination | A product can exist in the feed but fail a landing-page or image access check | The specific review error and URL |
The difference between the second and third rows is easy to miss. OpenAI says the ad-group creation flow shows how many uploaded products pass the selected filters. The Products tab shows products with delivery data once that data is available. A campaign with a future start date can have eligible feed items and an empty report simultaneously. Do not re-upload a catalog solely because the reporting tab has no rows. OpenAI's feed documentation draws this distinction explicitly.
Pick one test item and write down its product ID, source, feed ID and expected ad group. Inspect that same item through the pipeline. A catalog-wide “nothing works” complaint is much harder to investigate than “item SKU-42 is in Upload History but fails the product_line=running filter.” The SKU is an illustrative example, not a required OpenAI naming format.
Did the feed or Shopify sync complete?
For Shopify, confirm that the official app is paired with the same Ads Manager account you are inspecting. OpenAI's Shopify setup guidance tells advertisers to confirm sync completion and that the product is active and available. A disabled product or a sync still running should be fixed at its source before modifying an ad group. Catalog size and system conditions can affect sync time.
For a manually managed feed, open Tools → Feeds, select the feed and inspect its Upload History and processing errors. OpenAI currently supports CSV/TXT upload, a hosted HTTPS URL and SFTP. A feed file being accepted is not the same as every row being valid; compare the test item's required fields against the live feed specifications. The same guide says items expire after two weeks, making a stable hosted URL or automated SFTP update important for a changing catalog.
Test the item page and image URL separately. The page should resolve to the intended live product and the image should load without authentication or a bot challenge. OpenAI's advertiser crawler guidance distinguishes OAI-AdsBot landing-page review from OAI-SearchBot access to product-feed images. A generic browser success or a successful Screpy crawl does not prove those named bots can fetch the resources. Screpy's website audit can locate broken pages, redirects and image URLs on the site side, after which you must confirm the platform-specific access condition.
Did your ad group filter the item out?
Open the ad-group product-selection step and compare the eligible count before and after each filter. OpenAI lets a product-feed campaign choose a feed and define eligible items with product filters. A restrictive value can exclude a valid item without any feed upload error. Its product-feed campaign instructions also describe ads_metadata custom labels for grouping products when the default filters are insufficient.
Suppose the item has product_line=trail in the feed while the ad group selects product_line=road. The item is valid but ineligible for that ad group. Correcting the value or intentional filter is the fix; uploading the entire catalog again is not. Verify the preview after the count changes, including the image, title, price and destination. The example is hypothetical and does not imply that these labels exist in your account.
If the count is correct but ads are not serving, inspect campaign, ad-group and ad status. Review, budget, bid, scheduling and billing can limit delivery even when a product is eligible. OpenAI's general troubleshooting guide helps separate a delivery condition from catalog ingestion. An item can be eligible to serve without having been shown to anyone yet; do not infer a feed defect from zero impressions alone.
Has the campaign delivered and reporting caught up?
If the eligible product count is correct, check whether the campaign is active, past its start date and actually receiving impressions. OpenAI says the Products tab appears after an item has delivery data, and first rows may take up to seven hours after delivery to populate. That interval starts with delivery, not feed upload. Impressions and clicks may refresh faster, while spend can lag by roughly 7–8 hours. These are current platform statements, not guaranteed service-level promises; see product-feed reporting and Ads Manager results timing.
Record the account time zone and report date range before escalating. If a product remains absent after delivery and the initial reporting window, give support the ad account ID, feed ID, campaign and ad-group names, date range/time zone, example product IDs and a screenshot of the Products tab. That is the evidence package OpenAI requests. Include the eligible count and the item's upload status if you have them; those additions help distinguish a report issue from a filter issue.
Do not promise that all valid products will appear in the report eventually. Only items with delivery data can generate its rows, so some eligible products may remain absent if the auction never serves them during the selected period. The test is whether the expected served item is accounted for, not whether the Products tab equals the entire uploaded catalog.
What if the problem is a crawl error or organic shopping?
If Ads Manager displays a landing-page review error such as Crawl Failed, follow the URL-access path instead of the feed/reporting path. Our ChatGPT Ads Crawl Failed guide for Shopify checks robots rules, redirects, password pages and bot protection. Feed image fetches have a related but distinct crawler requirement: consult OpenAI's bot guidance before changing access rules. Avoid disabling security for every bot to solve one unconfirmed request.
If the real question is “Why does ChatGPT never recommend my product organically?”, a paid feed is the wrong diagnostic surface. OpenAI states that products in the paid feed are eligible for ads during the beta, not automatically for organic ChatGPT conversations. Organic shopping follows a separate selection route. Buying ads and earning organic visibility need separate plans and separate measurement.
Finish with the one-item trace: source record → processed feed → eligible ad-group count → campaign delivery → Products reporting. The first broken transition tells you what to fix. That is more reliable than repeating sync, editing robots.txt, or waiting blindly whenever “a product is missing.”