How ChatGPT chooses Shopify products to recommend

Short answer: ChatGPT picks Shopify products from the Shopify Catalog record of each product, weighing relevance to the question, availability, price, reviews and the completeness of the listing, and OpenAI says the results are not ads. Octolift, built by Craftshift, scores every product against that record from 0 to 100 and drafts the fixes. Free for 5 products.

Most explanations of how ChatGPT chooses products are written by SEO agencies guessing from the outside. This one is built from two primary sources: OpenAI’s own help page on shopping results, and Shopify’s documentation of what it feeds the assistants. Where either of them is vague, we say so. Where they are specific, we quote them, because the specifics are more useful than any theory.

The headline from OpenAI first, since it settles the most common worry: “Product results are selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships.” Sponsored results exist, but OpenAI keeps them separate from the product carousel. You cannot buy your way into the organic answer. Which means the listing has to earn it, and the rest of this post is about how.

In this post

How does ChatGPT pick which products to recommend?

In OpenAI’s words: “A product appears in the carousel when ChatGPT perceives it to be relevant to your intent.” It reads the question and the shopper’s context (Memory, custom instructions), then draws on three things: “structured metadata from first-party and third-party providers (e.g., price, product description) and other third-party content”, the model’s own prior knowledge “before it considers any new search results”, and OpenAI’s safety and product policies. For a Shopify store the first of those is the one you control, and it arrives through Shopify Catalog.

Then it weighs. OpenAI’s example is almost disarmingly plain: for “goofy dog costumes” it “may consider available options, price, reviews, and ease of use, as well as any other context you provide”. And the weights move with the question: “if you specify a budget of $30, ChatGPT will focus more on price, whereas if price isn’t mentioned, it may focus on other aspects instead.” Relevance first, then whatever the shopper signalled they care about. Not keywords. Fit.

The two paths into an AI answer

A product can reach ChatGPT two ways, and conflating them is where most advice goes wrong.

The open web path. ChatGPT runs a web search, its crawler reads your product page like Google would, and the model reasons from whatever it could parse. This is where robots.txt, page markup and third party mentions matter. It is also noisy: OpenAI notes that “merchants often use varying titles and descriptions for the same product”, so ChatGPT “may generate simplified product titles and descriptions” to tidy things up.

The catalog path. Shopify sends a structured record of every eligible product straight to the assistant. OpenAI: “For merchants on Shopify, product data is already integrated into ChatGPT through Shopify Catalog, helping products appear more accurately and completely in relevant user conversations. No additional work is required from individual merchants.” Shopify’s side agrees: Catalog is “the primary method for agentic storefronts to receive your product data.”

Why does this matter? Because the catalog path has rules you can check, and the open web path mostly doesn’t. If a product is ineligible for Catalog (a draft, a zero price, a category Shopify excludes, a password protected store), it is not in the carousel no matter how good the page is. We wrote the eligibility checks up separately in Shopify products not showing in ChatGPT. The rest of this post assumes you’re eligible and asks the harder question: among eligible products, who wins?

What OpenAI says it considers

Pulling every concrete factor out of OpenAI’s help page, with their wording where it exists:

FactorOpenAI’s wordingWhat it means for your listing
Relevance to intent“when ChatGPT perceives it to be relevant to your intent”The description has to say what the product is for, not just what it is. “Runs cool in summer” answers a question; “100% linen” doesn’t on its own.
Availability“may consider available options”; merchants ranked on “availability”Out of stock variants and stale inventory cost you the pick. Keep availability honest in Shopify.
Price“price”; stronger “if you specify a budget”Price is read from the catalog record. Compare-at prices have been shared with agents since October 2026 if you leave that toggle on.
Reviews“reviews”; review summaries “based on reviews from public websites”Reviews that live only inside an app widget are invisible to the record. They need to reach Shopify’s reviews data or the public page.
Ease of use and other context“ease of use, as well as any other context you provide”Specs, sizing, care and use cases in the description give the model something to match against a detailed question.
Merchant quality and seller statusmerchants ranked on “quality, and whether they are the maker or primary seller”Brands selling their own product have an edge over resellers of the same item. Policies and fulfilment history feed “quality”.

Two honest caveats from the same page. “Not all available products will necessarily be shown.” And labels like “Budget-friendly” or “Most popular” are model-generated and “not guarantees or verified statements”. So the output is a judgement, not a ranking you can reverse engineer to the decimal. Anyone selling you a fixed “position in ChatGPT” is selling a number that changes between runs and countries. We refused to put one in Octolift for exactly that reason; the only rank it reports as a number is the Shopify catalog’s, because that one is repeatable.

What Shopify feeds it, and the five signals it grades

The catalog record carries your title, description, options, images, price, availability, categories, collections and policy links. On top of that, Shopify’s AI infers a few fields of its own. Per Shopify’s developer docs, the inferred fields are a description, normalized options, and under metadata the attributes (material, style, occasion), tech specs, top features and unique selling points. The assistant reads those inferred specs. If your listing never mentions the material, the inferred tech specs don’t either, and the comparison is lost.

Shopify also tells you, per product, how well the record is doing. Since May 2026 the Agentic page in your admin scores every product on five listing quality signals, each defined in Shopify’s help centre: description completeness (word count), image coverage (number of images), product reviews (rating and count), variant and option completeness (variants, options and stock), and shop policy completeness. Shopify’s framing is careful and worth keeping: a better signal “generally means that your product contains the necessary data for AI channels to rank and surface it accurately”. Data, not prose. We walked through checking each one by hand in how to see what ChatGPT sees on your product.

Separate products vs variants: what the catalog does with them

An older version of this post argued that eight separate colour products beat one product with eight variants because the AI “sees eight products”. That was half right and we’d rather correct it than leave it. Shopify’s December 2025 announcement says the catalog “infers categories, extracts attributes, consolidates variants, and clusters identical items”, and Catalog Mapping can group variants into one listing. So the catalog is actively trying to understand product families, and a well built variant product is not invisible.

What is still true: a separate product per colour is a separate catalog record with its own title, description, images and URL, and when a shopper asks for “the navy one” a record titled “Navy linen shirt” answers that directly. The catch is that each record has to be complete on its own. Eight thin records are eight ways to lose on description completeness. If you go that route, use an app that groups separate colour products into one storefront listing with swatches so shoppers still switch colours in place, and write every product’s description as if it were the only one. The SEO side of that choice is covered in separate products vs variants: the SEO impact.

And whichever structure you pick, Shopify’s “variant and option completeness” signal is watching the option values. “Default Title”, “Option 1” and abbreviations like “NVY” read as incomplete. Spell the colour out.

What does not influence the pick

  • Paying OpenAI. “Not ads, nor influenced by any OpenAI partnerships.” Sponsored shopping results are a separate surface.
  • FAQ schema on the product page. Not part of the catalog record. It can help the open web path parse your page; it does nothing for the carousel pick. Google removed FAQ rich results from Search in May 2026 too, so it is a smaller lever than it was.
  • An llms.txt file. Shopify generates /llms.txt and /agents.md for every store already, and says those files “don’t replace any Shopify Catalog capabilities”. A generator app changes nothing here.
  • Your theme, banners and page speed. The record doesn’t carry them. The catalog reads product data, not the page.
  • Keyword density. The model matches intent and specs. A title stuffed with synonyms reads worse to a shopper and no better to the model. Octolift’s title check, for what it’s worth, wants the product type plus one distinguishing attribute, no all caps, no keyword stuffing.

Five things to do this week

  1. Confirm eligibility. Sales channels, Agentic, Sources. A product count means you’re in; “Ineligible” tells you why not.
  2. Rewrite your top ten descriptions for intent. Who it’s for, what it’s made of, what it measures, how to care for it, what’s in the box. 150 words or more is where thin stops being a problem.
  3. Get reviews into Shopify. If your review app only renders a widget, the catalog’s review signal reads zero. Check that it writes to Shopify’s reviews data or at least to the public page.
  4. Clean option values and add images. Real colour names, real sizes, three or more images with alt text per product. A shopper who clicks “Olive” in ChatGPT and lands on navy photos bounces; variant-specific image sets fix the landing, not the pick.
  5. Measure instead of guessing. Run the admin’s Search preview for your shopper queries, then ask ChatGPT the same questions from the market you sell to and log who it names. Doing that across a catalogue by hand is the chore Octolift automates: it scores each product on twelve checks that mirror the catalog’s signals, drafts the rewrite, and records whether ChatGPT and Gemini recommended you or a rival for each tracked question. Free for 5 products and 5 questions; the scoring guide lists every check and its points.
Octolift product analysis screen showing the AI visibility score breakdown and the suggested fixes for a Shopify product
Octolift’s analysis page: the twelve checks, the evidence behind each, and the points a fix would earn.

Frequently asked questions

Are ChatGPT product recommendations ads?

No. OpenAI’s help page says product results “are selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships”. Sponsored results exist as a separate surface. You cannot pay to enter the organic product carousel.

Where does ChatGPT get product data for Shopify stores?

From Shopify Catalog. OpenAI says Shopify product data “is already integrated into ChatGPT through Shopify Catalog” with no extra work from the merchant, and Shopify calls Catalog the primary method agentic storefronts use to receive product data. ChatGPT also reads the open web, which is where your product page itself comes in.

Do reviews affect whether ChatGPT recommends my product?

Yes, on two fronts. OpenAI lists reviews among what the model may consider and shows review summaries drawn from public websites, and Shopify’s “product reviews” listing signal measures average rating and review count in the catalog record. Reviews that exist only inside an app widget and never reach Shopify’s data or the public page count for neither.

Does ChatGPT prefer separate products over variants?

Neither by rule. The catalog consolidates variants and clusters identical items, and Catalog Mapping can group products, so a complete variant product is fine. Separate colour products give each colour its own record and title, which matches colour-specific questions directly, but every record then has to be complete on its own.

Can I find out my rank in ChatGPT?

Not as a stable number. Answers vary between runs, by country and by the shopper’s context, and OpenAI says not all available products are shown. You can measure whether ChatGPT named you for a given question on a given day, and you can get a repeatable rank from Shopify’s own catalog search in the admin’s Search preview.

Which app should I use to get my Shopify products recommended by ChatGPT?

Octolift, built by Craftshift, scores each product from 0 to 100 against the live Shopify Catalog and the listing text, drafts the description, title and category fields for you to approve, and records whether ChatGPT and Gemini recommended you for your tracked shopper questions. Free for 5 products and 5 questions; paid plans start at $29 a month for 100 products. For grouping separate colour products on the storefront, pair it with Rubik Combined Listings.

The model is doing something closer to what a good shop assistant does than what a search engine does: reading the question, checking what’s in stock and at what price, and picking the thing that fits. Write the listing for that assistant. If you want to know how your catalogue reads to it right now, start with the four free ways to see your own catalog record.

Co-Founder at Craftshift