Run every manual ChatGPT check under a written protocol. Use the exact wording from your panel, a fresh conversation and a recorded account state: signed out, or a Temporary chat set to non-personalized (OpenAI’s term; the screen may say Unpersonalized). Record the country and network you ran it from, and the model label if ChatGPT shows one.
Repeat each check at least three times, on more than one day. Log what actually came back (product cards, the merchant list, prices, labels, citations, or a failure) rather than a yes or a no. Even then, you’re seeing your own sessions under your own conditions. Repeated checks can’t show what ChatGPT tells other shoppers, and they can’t prove why a result changed. The protocol below is our proposal, with every setting tied to what OpenAI’s help pages say today.
The protocol on one page
| Step | What to do | Why |
|---|---|---|
| 1. Pick the case | One test case from your panel, wording copied exactly | A different sentence is a different request |
| 2. Set the account state | Signed out, or a new Temporary chat set to non-personalized (the screen may say Unpersonalized). Never your everyday chat | Memory and custom instructions shape results |
| 3. Fix the place | Same country, same network, VPN on or off, device location shared or not | ChatGPT can estimate location from your IP |
| 4. Record the product | Web or app, plan, the model label if shown, and whether search ran | Features vary by plan and model |
| 5. Run once, save everything | Screenshot plus copied text, timestamp with time zone | You’ll compare text, not memories |
| 6. Repeat | At least 3 runs per case per check date, each in a new conversation, on at least 2 dates | One run is an anecdote |
| 7. Log the result type | What came back, using the fields below | “Not shown” has several causes |
| 8. Log failures | Using the failure log | A failed run is data, not a skip |
The repeat count matches our monitoring plan, which this protocol plugs into. Your test cases should come from a shopping-intent panel, not from whatever wording occurs to you that day.
Before the run: pin the context
Account state
OpenAI says ChatGPT’s shopping carousel considers your query and your context, such as Memory or Custom instructions (Shopping with ChatGPT Search, checked October 27, 2026). Your everyday account may carry memories and instructions about your own store. Testing from it is like checking your shop’s search ranking on a phone that has visited the shop a hundred times.
| Account state | What OpenAI documents | Use it for |
|---|---|---|
| Signed out | People who aren’t signed in can use web search. Whether shopping results appear signed out: not documented on the pages we read | A low-context baseline, if results appear |
| Temporary chat, non-personalized (may show as Unpersonalized) | Doesn’t use memory, custom instructions or plugins, and doesn’t create memories. The choice is fixed once the chat starts. Account and workspace restrictions still apply | Your default for signed-in checks |
| Regular chat with Memory on | Memory can draw on past chats, saved memories, custom instructions, files and connected apps, depending on plan and region | Only when you deliberately test a personalized shopper, with that shopper’s context written down |
Sources: Temporary chat in ChatGPT, Memory in ChatGPT and Searching the web with ChatGPT. OpenAI also says limited safety context may still be used even with personalization off. “Non-personalized” means less context, not none.
Place and market
OpenAI says ChatGPT may estimate your location from your IP address, that a VPN or network location may change that estimate, that precise device location is optional and off by default, and that location saved in memory can influence results. So record the country, whether a VPN was on, and whether device location was shared. Keep each of these the same across repeats.
OpenAI’s shopping help page doesn’t list countries; it says only that shopping is available in ChatGPT on mobile and web. OpenAI’s merchant page is clearer: “Shopping is currently live in the U.S. and will expand to additional regions over time.” So run your baseline set from the US. Runs from anywhere else are a separate test of whether shopping appears there at all. Peec, a vendor, reports that as of October 2026 ChatGPT’s US shopping drew products from feeds OpenAI indexes itself, while Europe still drew from Google Shopping. That’s a vendor’s reading of debug traces, and we haven’t verified it. Either way, never pool runs from different countries into one count.
Model versus product
You’re testing ChatGPT, a product, not a model. The product decides when to search, what to show and how to rank merchants. The model is one part of it. Record the model label if the interface shows one, and write “not shown” if it doesn’t. Don’t guess.
It matters because features can depend on the model. OpenAI’s own search page, for example, says restaurant reservation search works only with two named models. Nothing on the shopping page says the same about product results, but a run on a different model is a different condition.
Also record the plan. OpenAI says web search is available on Free, Go, Plus, Pro, Business, Enterprise and Edu, subject to each plan’s usage limits.
During the run
Paste the exact wording. Don’t add “please” or fix a typo. If the panel case has a full brief and a one-line ask, they’re two separate cases.
Don’t ask follow-ups unless the protocol says so. If ChatGPT asks you a clarifying question, log it in the failure log, then answer with a scripted reply you wrote in advance (“No preference” or the constraint from the case) and mark the run as branched.
Keep shopping research apart. OpenAI describes it as a separate mode you start from selected products. It asks follow-up questions, may use merchant data supplied through the Agentic Commerce Protocol plus public product information, and returns a buyer’s guide after a few minutes (Using shopping research in ChatGPT). If you test it, give it its own cases and its own rows.
Save a screenshot and the copied text. A shared link isn’t enough on its own: OpenAI says Memory Sources aren’t included when you share a conversation by link.
What to record: the result type, not a yes or no
“Did we show up?” hides at least eight different outcomes. OpenAI’s shopping page describes most of them, and each needs its own field.
| What came back | What OpenAI says about it | What to log |
|---|---|---|
| Product cards in a carousel | Shown when ChatGPT perceives the product as relevant to the intent | Your position, or “absent”. The other products’ positions |
| Title and description on the card | ChatGPT may generate simplified versions | The exact text. Any wrong fact |
| Labels such as “Budget-friendly” | Generated by ChatGPT; not guarantees | The label, word for word |
| Review summary | Model-generated from public websites; not verified by OpenAI | Copy it. Note any claim your reviews don’t support |
| Price | From third-party providers; may be the first merchant’s, not the lowest; may lag after updates | Price shown, your live price, and the time |
| Merchant list | Ranked on factors like availability, price, quality and maker or primary-seller status | Your position in the list, and who sits above you |
| Instant Checkout | The help page says it may show for some eligible products and merchants; the merchant page says OpenAI is moving away from it toward checkout on merchant-owned sites | Shown or not shown |
| Citations or Sources | Web-search answers may include citations | How many were shown, and whether your domain was one |
Plan for checkout on your own site. On October 27, 2026 the two OpenAI pages disagreed. The shopping help article still describes Instant Checkout for some eligible products and merchants. The merchant page says: “We’re moving away from a standalone Instant Checkout experience in ChatGPT and prioritizing better shopping discovery and merchant-owned checkout experiences,” with purchases “completed on merchant-owned websites or apps.” Keep logging whether Instant Checkout appears, but expect the buyer to land on your checkout. Shopify documents no ChatGPT direct-checkout setting. Re-check both pages before acting.
Two more need care.
Citations. OpenAI doesn’t document a fixed number of citations per answer. Record the count you saw on each run. If a check depends on a citation, also record whether your page or someone else’s was cited for the fact that matters.
A text mention without a card. Log it as its own result. Being named in prose and being shown as a product card are different outcomes.
Then add one judgement per run, against the case’s constraints: every stated fact correct, a wrong fact, wrong variant, or offer mismatch (price, stock or seller). One rule overrides the repeat schedule. If ChatGPT states a wrong fact about your product, log it and trace the source that day. Don’t wait for three runs.
The log template
Add these columns to the ledger in our monitoring plan. It already covers the check ID, product, market, time and owner.
| Column | Allowed values | Notes |
|---|---|---|
| Account state | signed out / temporary non-personalized / regular with memory | Never blank |
| Location setup | Country; VPN on or off; device location on or off | Same on every repeat |
| Surface and plan | web or app; plan name | |
| Model label | As shown, or “not shown” | Never inferred |
| Search ran | yes / no / unclear | Did the answer show sources or product results? |
| Mode | standard chat / shopping research | Separate rows, separate counts |
| Run | 1, 2, 3… within the check date | |
| Result type | carousel / text mention / merchant list only / absent / failed | From the table above |
| Your position | Number, or “absent” | Carousel and merchant list separately |
| Shown text and price | Copied | For comparison with your record |
| Citations shown | Count; your domain yes or no | |
| Fact check | all correct / wrong fact / wrong variant / offer mismatch / not applicable | |
| Evidence | Screenshot and text file names |
The failure log
| Failure | What it looks like | Log as | Retry? |
|---|---|---|---|
| No search | An answer with no product cards and no sources | failed: no search | Yes, once, in a new conversation |
| No shopping results | Sources but no products | Result: absent. Note “no carousel” | No. That’s a result |
| Clarifying question | ChatGPT asks before answering | branched: answered with script | Continue with the scripted reply |
| Usage limit | A plan-limit message | failed: limit | Later, same conditions |
| Error or refusal | Error text, or a refusal | failed: error | Once |
| Wrong place | Prices in the wrong currency, or local results for the wrong area | failed: location | Fix the setup, then rerun the whole set |
Report failures beside results. “Returned in 2 of 3 runs” and “returned in 2 of 3 runs, 1 of which failed with no search” are different findings.
A worked case: the plan for one humidifier
Here is a protocol sheet for the humidifier that came back at position 4 when we searched Shopify’s agent catalog on October 26, 2026. We have not run these ChatGPT checks. The sheet is a plan. The only real row is the catalog baseline beside it, which comes from our saved snapshot.
| Field | Value |
|---|---|
| Cases | HUM-01 (full brief) and HUM-05 (one-line ask) from the worked panel |
| Account state | Temporary chat, non-personalized |
| Location setup | United States, no VPN, device location off. Any run from Canada is a separate set testing whether shopping appears there at all, never pooled |
| Surface and plan | Web; plan recorded |
| Model label | As shown |
| Repeats | 3 runs per case per date, on 2 dates a week apart |
| Fact to watch | Noise. The record says “runs quietly enough to leave on overnight” and gives no decibel figure |
| Baseline row | Shopify Catalog search, no buyer context, October 26, 2026: returned at position 4 of 10, coverage “up to 400 square feet”, noise in words only |
Why compare against a catalog row at all? Shopify’s search preview can show how a query might look in an AI channel, but Shopify says AI channels often re-rank results with their own logic. A catalog result is the input to a route, not ChatGPT’s answer. Our note on catalog limits lists what a catalog finding can and can’t claim.
What would each result let this merchant say?
- Shown in 0 of 6 runs, no failures: “Under these conditions, on these dates, ChatGPT did not show this product for these two requests.” Not “ChatGPT can’t see us.”
- Shown, but described as “quiet” with no figure, or with a figure we never published: a fact problem. Trace it and fix the source that day.
- Shown in some runs and not others: that’s what probabilistic systems do. Repeat on another date before reading anything into it.
What one check can’t prove
What other shoppers see. Every run is your session. Nobody outside ChatGPT can see a particular shopper’s conversation.
Why something changed. A product that appears after you edit a description may have appeared because of the edit, a model change, a competitor’s stock-out or a different day. Keep an unchanged control product in the panel. Count a change only when it holds across repeats on two dates and the control didn’t move the same way, as our monitoring plan sets out.
Sales. None of this measures orders. Shopify reports sales, orders, sessions and conversion by AI channel in its agentic storefronts analytics. That’s a separate measurement, kept in a separate field.
Rank as a number. “Position 3” in one carousel on one run is an observation, not a ranking. Report counts with their conditions: “shown in k of n runs, signed out, United States, web, on these dates.”
How we checked
On October 27, 2026 we read OpenAI’s help pages on shopping with ChatGPT search (updated that day), Temporary chat, Memory, web search and shopping research. We also read OpenAI’s merchant page, Shopify’s agentic storefronts management page and Peec’s US and Europe article. Every documented statement here paraphrases what those pages said on that date. Where a page was silent we wrote “not documented” rather than inferring.
The baseline row comes from a Shopify Global Catalog search we ran on October 26, 2026 with Shopify’s catalog command-line tool, top 10 results, no buyer context, re-read on October 27. We did not run any ChatGPT checks for this page and show no ChatGPT results. Checked on 2026-10-27; ChatGPT settings and features change, so re-check before acting.
Your next step
Pick two cases from your panel: one your product should win and one it should lose. Open a Temporary chat set to non-personalized, note your country, network and model label, and run each case three times in new conversations. Fill in one log row per run, including any failures. Run the same six checks again next week, and compare rows, not impressions.
