A product that’s missing from ChatGPT or Copilot has either been excluded or outranked. Those need different fixes, so settle which one you’re dealing with first.
Work the gates in order. Start with the store message in Sales channels > Agentic, then account standing, then each product rule, then the plan and channel conditions. Shopify reviews account standing over time from things like genuine sales, prompt fulfilment and low chargebacks. It publishes no sales, order or review threshold, so treat any tool that names one with suspicion. If every gate passes, the product is probably included, and you have a ranking problem instead.
This guide is built from Shopify’s public help pages, checked on October 27, 2026. We haven’t seen your admin, so where a step depends on a screen, we say what the page says.
Excluded or outranked? Decide first
Shopify describes two stages: a product shows in an AI channel only after it’s included in Shopify Catalog and the channel then selects it for a shopper’s request. Being eligible doesn’t guarantee a place in any answer.
| What you see | Most likely stage | Where to go |
|---|---|---|
| “Ineligible” next to Shopify Catalog in Sales channels > Agentic | Store excluded | Step 1 below |
| A product count shows, but one product never appears anywhere | Product excluded, or not selected | Steps 3 to 6, then the outside check in step 7 |
| The product appears for some searches and not others | Included, not selected | Ranking: read the search preview |
| “Catalog eligibility details are temporarily unavailable” | Unknown | Shopify says check back later, or contact Support if it persists |
Don’t skip the first row because the third feels more familiar. Rewriting a description won’t help a store that’s ineligible.
The eligibility triage checklist
Fill this in once per problem product. Record what you saw and the date in every row. “I think so” doesn’t count as a check.
Step 1: Read the store message
Shopify says the Sources > Shopify Catalog line in the Agentic section shows either a product count or an Ineligible warning, and that clicking Ineligible shows the reason. Its help page lists eleven messages:
| Message (shortened) | What Shopify says it means | Shopify’s action |
|---|---|---|
| “Your current plan doesn’t support Shopify Catalog access” | Plan doesn’t support Catalog | Upgrade to Starter or higher (Agentic-plan exception below) |
| “…doesn’t currently meet the requirements…” | One or more store or product requirements unmet | Review the requirements |
| “…A strong history of legitimate, well-managed orders will improve your standing over time.” | Account standing, activity or policy | Review the standing steps (Step 2) |
| “Your store is password protected.” | Storefront in private mode | Remove the online store password |
| “Your store only serves B2B customers.” | B2B-only | Turn off the B2B-only option |
| “Your store is locked.” | Store locked | Contact Shopify Support |
| “Access to your store is restricted.” | Access restricted | Contact Shopify Support |
| “…restricted while we update your data.” | Data being processed | Contact Shopify Support |
| “…restricted while it’s in development mode.” | Development store | Switch to a paid plan |
| “Your store isn’t eligible for Shopify Catalog.” | Can’t currently be included | Contact Shopify Support |
| “Your store is opted out of sharing products with AI channels.” | Not sharing through Catalog | Contact Shopify Support |
Note that last row. Shopify says it is not the same thing as the Shopify Catalog access setting you can switch in the Agentic section. If you see it and you didn’t opt out, the fix sits with Support, not with a setting.
Step 2: Account standing, without inventing a threshold
Shopify says standing “is based on a number of factors, and is reviewed over time”. It lists the steps that strengthen it:
- Secure and verify: verify your email, turn on two-step authentication, set up a passkey if available, complete identity and business verification when prompted.
- Operating history: genuine sales to real customers through your usual channels, prompt and accurate fulfilment, a low chargeback rate, Shopify invoices paid on time, Shopify Payments in good standing, and no open policy or compliance issues.
That’s all it says. There’s no minimum order count, no number of days and no review count. A store “may lose Shopify Catalog eligibility” if it stops meeting the requirements, and can become eligible later if it starts meeting them.
So a new store with no orders may be ineligible for reasons that only time and real orders fix. Don’t buy reviews or fake orders to speed that up. They’re the opposite of “genuine sales to real customers”, and fake reviews are a liability regardless.
Step 3: The product gates
If the store shows a product count, go product by product. Each row is a published requirement:
| Gate | How to check it | Common way to fail it |
|---|---|---|
| Title and at least 1 image | Product page in admin | Image-less placeholder products |
| Price greater than 0 | Every variant you expect to be found | Free samples, $0 gifts (Shopify says free products aren’t included) |
| Published to Online Store, Hydrogen or Headless | Product’s publishing settings | Published only to a marketplace or POS |
| Identifiable product URL | Open the product URL | Headless routes in the wrong format, per Shopify |
| Not Unlisted | Product status | Unlisted on purpose, then forgotten |
| Not hidden from search engines | Your SEO settings or app | An SEO app hid the page from search engines |
| No sensitive content | Images and description | Mature content, even in an allowed category |
| Allowed category | See Step 4 | Shopify classifies the product into an excluded category |
The “hidden from search engines” row catches stores out. Shopify’s management page says the seo.hidden metafield hides a product from every agentic storefront, Shop and search engines. If an app or a past campaign set it, that product is excluded, with nothing visibly wrong on the product page.
Step 4: Category, as Shopify reads it
Shopify classifies products into categories from your product information, which can differ from the category you picked in the admin. Excluded categories, with all their subcategories, include:
- alcohol, tobacco and vaping, CBD and smoking accessories;
- prescription and medical products, and sexual health products;
- weapons, recreational and imitation weapons, and explosives;
- science, lab and hazardous materials;
- adult content;
- money-related products and prop money;
- services and product add-ons, such as extended warranties, installation, maintenance plans and subscription services;
- event tickets and live animals;
- products Shopify classifies as Uncategorized.
Two practical points come out of that list. A warranty or installation add-on sold as its own product is excluded by design, so leave it alone. And a product whose title and description don’t plainly say what it is risks being classified as Uncategorized. Shopify says complete, accurate product information helps it classify correctly. It doesn’t show you its classification, so you can’t confirm this from the admin.
Step 5: Plan conditions
| Plan situation | What Shopify documents |
|---|---|
| Starter or higher, online store published | Plan gate passed |
| Development store | Not included; switch to a paid plan |
| Agentic plan, online store not yet published to a paid plan | Can still be included through agentic storefronts, but each product needs an external product URL, which Shopify says goes in the external URL standard metafield |
Shopify’s Agentic-plan troubleshooting list adds checks it doesn’t list for other plans: a description and available inventory on the product, published policies, and a verified existing store domain. If you’re on that plan, treat those as gates too. If you’re not, we don’t know whether they apply. The general requirements page doesn’t list them.
Step 6: Channel conditions
A product can be in Shopify Catalog and still not reach a particular assistant.
| Condition | What Shopify documents | Market and availability |
|---|---|---|
| ChatGPT | Store must sell to US customers (it can be based elsewhere); Terms of service, Privacy policy and Return and refund policy completed; products on OpenAI’s prohibited list don’t display | US buyers only, per Shopify’s page |
| Catalog access switched off | Takes up to 7 days to stop sharing; turning access off also turns off direct checkout | Applies to all third-party agentic storefronts, not Shop |
| Single channel switched off | Removes that channel’s Catalog access only | Per channel |
| Google AI Mode, Gemini, Meta | Products travel through the Google & YouTube and Facebook and Instagram sales channels, not a Catalog access switch | Shopify says the Google route is still rolling out |
Step 7: Check inclusion from outside the admin
The Agentic section shows a count, and Shopify’s page doesn’t say whether it lists which products are in. A developer can check a single product against Shopify’s Global Catalog instead. Shopify documents that lookup_catalog accepts a Shopify product URL, returns a not_found message for anything it can’t resolve, and by default returns only sale-ready items. So set the available filter to false before reading a not_found as “excluded”. Otherwise an out-of-stock product looks the same as an excluded one.
Two cautions. Global Catalog is Shopify’s cross-merchant search interface for agents, and Shopify doesn’t say every assistant receives exactly what it returns. And we didn’t run a lookup for this article, so read the developer page before you rely on any exact command.
Worked case: a labelled hypothetical
This store is invented to show the method. It isn’t a customer or a store we observed.
A two-person Shopify store on the Basic plan sells winter accessories to the US and Canada. The owner says three products never show up in ChatGPT: a heated mitten, a free sample pack of hand warmers, and a two-year extended warranty.
| Product | Gate that decides it | Status | Fix |
|---|---|---|---|
| Store | Agentic section shows a product count, not “Ineligible” | Pass | None. Store gates and account standing aren’t the problem |
| Heated mitten | Not hidden from search engines | Fail: an old SEO app set the page to hidden while a landing page was tested | Remove the hidden setting, then re-check after Shopify’s processing delay (no timing is documented) |
| Free sample pack | Price greater than 0 | Fail, correctly | None. Shopify excludes free products. Don’t add a token price to game it |
| Extended warranty | Allowed category | Fail, correctly | None. Services and product add-ons are excluded |
| Heated mitten, after the fix | Outside check with available set to false |
Product resolves | Inclusion confirmed. Whether ChatGPT shows it is now a ranking question |
Only one of the three was a real problem, and nothing about its copy caused it. That’s the usual pattern: exclusion is a gate problem, and gates are binary.
What these pages don’t let you conclude
| Claim you’ll hear | What the documentation supports |
|---|---|
| “You need X sales (or Y reviews) to qualify” | No threshold is published. Standing is “reviewed over time” |
| “Eligible means you’ll show in ChatGPT” | No. Shopify says each channel decides what to display |
| “Opting out hides you from AI” | No. Shopify says products can still be found through web crawling and indexing. Only Unlisted (or the seo.hidden metafield) hides a product everywhere, and it also hides it from Google and your own search |
| “The admin category is what Shopify uses” | No. Shopify classifies from product information, and its result can differ |
| “Fixed products reappear within a day” | Not documented. Shopify gives 7 days only for switching access off |
If a product clears every gate and still doesn’t appear, stop treating it as an eligibility problem. The search preview guide covers reading Shopify’s own ranking view, and our ChatGPT guide covers what OpenAI documents about selection. The responsibility map shows who owns each step from store to sale.
Your next step
Pick the one product you most expect to see in AI channels and fill in Steps 1 to 7 above, with today’s date in every row. If a row fails, fix that row and nothing else. If every row passes, write “included, not selected” at the top of the sheet. Your next job is ranking, not eligibility.