Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Anatomy of an AI Shopping Answer - BrightonSEO ...

Anatomy of an AI Shopping Answer - BrightonSEO San Diego

Avatar for Metehan Yeşilyurt

Metehan Yeşilyurt

September 16, 2026

More Decks by Metehan Yeşilyurt

Other Decks in Marketing & SEO

Transcript

  1. BrightonSEO · San Diego · 2026 Anatomy of an AI

    shopping answer: where the sources actually come from Inside 3.6M+ shopping card conversations Metehan Yeşilyurt · Peec AI
  2. Hi, I am Metehan Metehan Yeşilyurt GEO Researcher at Peec

    AI I am a GEO Researcher at Peec AI and a digital marketing professional with over a decade of experience in the industry. Drop your photo here I work on Generative Engine Optimization (GEO), Answer Engine Optimization (AEO), and SEO. I research how Large Language Models and AI search engines find, rank, and cite content. I am a recurring speaker at major global search conferences and a contributor to publications such as Search Engine Land. I am also a proud father of a daughter. Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  3. The setting When ChatGPT shows shopping cards, a different web

    gets cited. Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  4. Methodology 3.6M+ conversations, June to September The dataset The window

    US market Jun 1 to Sep 10, 2026 ChatGPT conversations Four monthly buckets Shopping card chats only (product gallery answers) September is partial, Sep 1 to 10, marked with * 3.6M+ conversations, 23.7M citations Shares are within shopping card chats Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  5. 3.6M+ shopping card conversations analysed Successful chats that include a

    product gallery element Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  6. Chapter 01 · What the Peec data shows Who gets

    cited, and how it moved in four months
  7. Reddit falls out of the top 5 reddit.com 11.4% →

    7.3% → 2.8% → 0.5% Everyone else stays near 2% · Reddit appeared in 29% of chats in Jun, 4% in Sep* top 5 = 20.2% whowhatwear.com 2.0% forbes.com 2.0% top 5 = 16.0% tomsguide.com 2.2% techradar.com 2.1% vogue.com 2.6% vogue.com 2.1% whowhatwear.com 2.2% top 5 = 10.4% goodhousekeeping.com 1.6% top 5 = 8.2% tomsguide.com 2.3% tomsguide.com 1.8% whowhatwear.com 1.4% goodhousekeeping.com 1.5% vogue.com 2.1% reddit.com 11.4% rtings.com 1.5% rtings.com 2.1% reddit.com 7.3% tomsguide.com 1.8% reddit.com 2.8% Jun Jul Aug Top 5 cited domains by month, stacked · share of all citations within shopping card chats that month · Sep* = Sep 1 to 10 Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026 vogue.com 2.0% Sep* reddit.com 0.5% · out of the top 5
  8. UGC collapses, corporate gains Jun → Sep* 5.1% 14.0% 5.5%

    9.0% 30.4% 39.7% 43.4% Editorial 43.4% → 43.3% Corporate 34.6% → 43.4% UGC 14.0% → 2.0% Institutional 1.7% → 5.5% Reference 4.3% → 3.6% Other 2.0% → 2.2% 34.6% 50.9% 43.4% Jun Jul 44.8% 43.3% Aug Sep* Domain classification mix by month · % of citations within shopping card chats · Sep* = Sep 1 to 10 Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  9. Listicles are still nearly half of everything cited Listicle 45.5%

    Category page 11.6% Product page 8.8% Article 8.4% Other 7.1% Discussion 5.9% How-to guide 4.9% Comparison 4.4% Homepage 2.0% Profile 1.1% Alternative 0.4% Share of citations by content type within shopping card chats, Jun to Sep 10 weighted by citations · listicle and comparison highlighted Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  10. Discussion collapses, product and category pages gain 50% Listicle 42.7%

    40% 30% 20% Category page 14.1% Discussion 12.2% Product page 12.9% 10% Comparison 5.2% 0% Jun Jul Aug Share of citations by content type, by month · within shopping card chats · Sep* = Sep 1 to 10, dashed Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026 Discussion (Reddit) 0.6% Sep*
  11. The shift Reddit and discussion threads collapsed. Retailer product and

    category pages took the share. Discussion citations fell from 12.2% to 0.6% of the mix in four months, almost all of it Reddit. Product pages went from 7.2% to 12.9%, category pages from 9.6% to 14.1%. Listicles held between 43% and 50%. Watch merchant pages. Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  12. Four-to-five products per answer. 43.0% 19.4% 10.8% 17.2% 9.1% 0.5%

    1 2 3 4 to 5 6 to 10 11 to 20 Distinct products cited per shopping card chat · 43% cite 4 to 5 · only 1 in 10 names a single product · 1.19 merchants per product on average Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  13. A small detail with big consequences We found a leak

    inside the SSE stream. Every ChatGPT answer arrives with a hidden debug payload. Search queries, fetched pages, product candidates, scores, settings. It is all there, in the browser, on every turn. Two shopping turns, read end to end. Nothing in this chapter is an estimate. Read this before the numbers Everything in this chapter is what two accounts saw in two turns. Which engine runs, which ranker, which cutoff, all of it sits behind account level A/B test allocation (layer sonic_search_engine_all, experiment shopping-hqi-v2, group Control in one dump and unassigned in the other) and per market settings. OpenAI can ship an update at any time and change any part of this. Treat it as a snapshot from September 2026, not a specification. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  14. Two prompts, two dumps Setup Dump A · OAI shopping

    feed · US account, New York Dump B · Google Shopping via SerpApi · Türkiye account, Mersin What I typed What I typed “best running shoes for women” “best wireless noise cancelling headphones under $300 - show me products to buy” Model rewrote it into 1 product query best running shoes women 2026 and 1 web query best running shoes for women 2026 reviews (last 30 days) One plain question, no brand, no budget. 41 scored candidates, 32 in the prompt, 5 cards. Source of every OAI feed slide in this chapter. Model rewrote it into 5 product queries (round robin) wireless noise cancelling headphones under $300 sony wh-1000xm5 bose quietcomfort headphones sony ult wear sennheiser momentum 4 wireless soundcore space one pro and 4 web queries best noise cancelling headphones under $300 2026 … (30d, rtings, tomsguide, soundguys) 3 price queries, September 2026 (7d) Budget plus an explicit ask for products. 113 candidates, 18 in the prompt, 5 cards. Source of every Google Shopping slide. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  15. ChatGPT does not only lean on Bing and Google. It

    runs its own index and crawlers. Read the full piece: peec.ai/blog Peec AI blog · Tomek Rudzki · “ChatGPT built its own search index” · Sep 4, 2026
  16. What one SSE dump shows Method The SSE dump The

    shopping pipeline, same 7 steps in both dumps ChatGPT streams every answer over Server Sent Events. The stream carries more than the text. It also carries the retrieval debug payload: search queries, fetched pages, product candidates, scores and the settings that were active for that turn. 1 User prompt 2 Model writes product_query 3 Backend hydrates: country, city, plan 4 Commerce engine search 5 Ranking and cutoff 6 Product blocks go into the prompt We saved that payload for two shopping turns and read it. No API, no scraping. Just the stream the browser already receives. SSE dump · ChatGPT · two real shopping turns · Sep 2026 (this step changes) 7 Product cards in the answer
  17. Same pipeline, two different engines Dump A · US user

    · "best running shoes for women" "request_country": "US", "commerce_search_engines": { "labrador-shopping-v2": { "enabled": true, "topn": 400, "tags": ["internal", "oai-shopping"] }, "serpapi-shopping": { "enabled": false } } OpenAI’s own product index. Built from merchant feeds. Tagged internal. Engines Dump B · Türkiye user · "noise cancelling headphones under $300" "request_country": "TR", "commerce_search_engines": { "labrador-shopping-v2": { "enabled": false }, "serpapi-shopping": { "enabled": true, "topn": 40, "tags": ["external", "serp-shopping"] } } Google Shopping results pulled through SerpApi. Tagged external. The country field flips the engine. The model does not choose this. The settings do, per market. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  18. Personalization: the slots exist Both dumps What hydration attaches to

    the user The personalization slots What this tells us plan_type plus (both turns) "sellers_shown": null "sellers_clicked": null "brands_shown": null "brands_clicked": null "marketplace_sellers_shown": null "marketplace_sellers_clicked": null "shopping_preferences_dream": null "recent_shopping_conversation_info": null "personalisation_filled": [] The ranking input for personal history is designed in: which sellers and brands you were shown, which ones you clicked, your saved shopping preferences, your recent shopping chats. auth_status LoggedIn country / region / city US, New York, New York City | TR, Mersin, Mezitli locale / time_zone en-US, America/New_York latitude / longitude present, is_precise_location: null first_name_gender_lookup { gender: male, percentage: 1 } is_employee false SSE dump · ChatGPT · two real shopping turns · Sep 2026 settings should_fetch_shopping_preferences_dream: true fetch_oai_shopping_price_history: true fetch_product_popularity_from_chronon: false In both of our turns every slot was null. Fresh accounts, first shopping question. The system had nothing to personalize with, so what we measured is the unpersonalized baseline. Gender is inferred from the first name and attached to every turn. Location comes from IP. Plan type is passed through. Expect returning shoppers to see a different ranking than a fresh account. Test both.
  19. The OAI feed has also an allow list oai_index_feed_serving_policy 669

    feeds listed in the serving policy of the US turn. 606 switched OAI feed Feed names show the source "openai_nike": true, "openai_bright_nike": false, "openai_walmart": true, "openai_shopify_canary": true, "openai_bright_apple": true, "openai_bright_ikea": true, on, 63 switched off. These are feeds, not merchants. One feed "stripe_chatgpt_warby_parker": true, can carry thousands of stores. "salesforce_skechers": true Named brands enter through a direct or crawled feed. Shopify stores enter through one shared feed, openai_shopify_canary. openai_<merchant> is a direct feed (72). Google Shopping is open to any Merchant Center feed. This openai_bright_<merchant> is a crawled feed via Bright Data list is curated. (575). stripe_chatgpt_ and salesforce_ come through partners. openai_shopify_canary is one feed for many Shopify stores. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  20. The Shopify door: one feed, many stores OAI feed What

    it looked like in the US turn Trust flags on a Shopify offer Shopify settings in the dump 30 of 41 "is_verified_seller": true "shopify_submerchant_checkout_payload_all "merchant_tier": 2 owlist": "seller_domain_rank": 10000 candidates came from one Shopify store, "shopify_reliability_signal": 3 ["skims.com", "glossier.com", "spanx.com"] "shopify_submerchant_feed_blocklist": [] "product_metadata_shopify_cache_enabled": false "oai_index_merchant_url_blocklist": [ "cj8h0ja35tl8gghp89t.myshopify.com", "security-app-us.myshopify.com", … 14 domains ] aviationshop.com (piloteyes.myshopify.com), all through feed_id openai_shopify_canary. 25 → 0 25 of them reached the prompt. None made the 5 product carousel. Nike and Dick's took the slots. ids in the dump "feed_id": "openai_shopify_canary" "seller_id": "gid://shopify/Shop/…" "item_id": "shopify_productvariant_…" SSE dump · ChatGPT · two real shopping turns · Sep 2026 "shopify_lt": false "shopify_lt50": false "shopify_lt_2": false "shopify_lt100g": false "shopify_hr": false compare Nike tier 0 rank 18 verified Dick's tier 0 rank 9 not verified So the index is wider than 669 brands. Any Walmart tier 1 rank 1 not verified Shopify tier 2 rank 10000 Shopify store can be in it through the shared verified Rank 10000 is the default for a domain the system does not know. The twiddler sorts by seller_domain_rank, so unknown Shopify stores sit behind every known brand. feed. But it enters at the bottom of the trust order, and a small blocklist removes bad actors by domain. For Shopify merchants: the feed gets you in. Domain reputation decides where you land.
  21. OAI feed One search, 41 scored candidates One candidate row,

    as stored What each score means, in plain words rank_in_search { Final retrieval rank, 0 to 1. Higher is better. "ref": "turn0product0", "title": "Nike Women’s Vomero 18 Road Running emb_sonic_ee_shop_v0_ev3 Shoes", Query to product text closeness, shopping embedding model. "host": "nike.com", "gtin": "00198959722576", "product_category": "Apparel "is_verified_merchant": "rank_in_search": Accessories true, 0.6897, 0.0555, "ann": 0.6208, "rrf": 7 > Shoes", bm25 Plain keyword match. 0.7421, "emb_sonic_ee_shop_v0_ev3": "bm25": & } SSE dump · ChatGPT · two real shopping turns · Sep 2026 ann Nearest neighbour similarity. rrf Rank fusion. Constant 7 here, only one engine ran.
  22. OAI feed Trust sorts the list, then the funnel cuts

    it The twiddler pass, after scoring "twiddler": { "num_clusters": "topn": The funnel of this turn 41 → 32 → 5 3, 41, "sort_values": candidates { "is_verified_seller": true, "seller_domain_rank": 18, "original_rank": 0 prompt blocks product cards 32 of 41 candidates were verified merchants. } } 30 of 41 came from one unverified host. None became a card. Sort order: verified seller first, then seller domain rank, then The 5 cards came from nike.com and dickssportinggoods.com the original score rank. Relevance gets you into the list. only. Merchant trust decides who gets a card. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  23. The top 10, and where the cuts happened OAI feed

    41 candidates after the twiddler. Score is rank_in_search. # orig product seller 0 0 Nike Vomero 18, size 10 nike.com 1 2 Nike Vomero 18, size 9.5 nike.com 2 1 Nike Pegasus 41 dick’s 3 3 Nike Alphafly 3 dick’s 4 4 Nike Pegasus 42 dick’s 5 5 HOKA Bondi 9 dick’s 6 6 NB FuelCell SC Elite v5 dick’s ─── cliff: 0.588 → 0.000092, about 6,400x ─── 7 7 Fly Be Free Blue aviationshop 8 8 Fly Be Free White aviationshop 9 9 Fly Be Free Red aviationshop ... 31 35 Seamless 3D Airplanes aviationshop 32 36 Seamless Propellers Fashion aviationshop 37 11 Rokment Platform Wedge walmart.com Three cuts, three reasons score 0.742 0.722 0.734 0.694 0.661 0.638 0.588 emb 0.690 0.707 0.702 0.699 0.709 0.699 0.694 bm25 0.055 0.055 0.047 0.047 0.046 0.047 0.055 result carousel prompt prompt carousel carousel carousel carousel 0.000092 0.000080 0.000066 0.540 0.549 0.543 0.089 0.089 0.089 prompt prompt prompt 0.000019 0.000019 0.000037 0.547 0.541 0.504 0.089 0.089 0.091 last in prompt cut cut Reading the columns: orig is the rank before the twiddler. emb is the embedding score (sonic_ee_shop_v0). bm25 is keyword match. bm25 is higher for the airplane shoes than for Nike, so keyword match alone would have ranked the wrong products. The embedding score and the final ranker fixed it. Rank 1 dropped: size variant Rank 0 and rank 1 are the same shoe, Vomero 18 in size 10 and size 9.5. Both reached the prompt. The model picked one. The 9.5 had 1,706 reviews against 97, and still lost, because the size 10 offer ranked first. Rank 2 dropped: older model Pegasus 41 was rank 1 before the twiddler, rank 2 after. It reached the prompt, but the model chose Pegasus 42 from rank 4 instead. The ranker orders, the model decides. Cut at 32: Walmart pushed out Four Walmart offers sat at original ranks 11, 17, 18 and 23. Within the long tail cluster the sort is is_verified_seller first, so the verified Shopify store jumped ahead and Walmart landed at 37 to 40, outside the 32 blocks. Nothing to do with score. Carousel = 5 of the 7 brand candidates. 34 of 41 candidates never had a chance. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  24. What the model actually reads One prompt block, as sent

    to the model Nike Women’s Vomero 18 Road Running Shoes in White, Size: 10 (https://www.nike.com/t/vomero-18-womens-road-running-shoes-7rbVWb/IO9915-101? nikegos=true&utm_medium=feed) 【turn0product0】 *Desc:* Maximum cushioning in the Vomero provides a comfortable ride for everyday road runs... *Rating:* 4.8/5 (97 reviews) *Merchants:* - $155.00 (in_stock): Nike *Specs:* - Brand: Nike - Gender: female - Color: White - Size: 10 - Product Category: Apparel & Accessories > Shoes SSE dump · ChatGPT · two real shopping turns · Sep 2026 OAI feed Where it comes from Title, description, rating, price, stock, GTIN, category, attributes. All of it is merchant feed data. The model picks cards from these blocks. Feed quality is the content. utm_medium=feed The tracking tag for OAI feed clicks in your analytics.
  25. The token budget: the model reads your first 40 words

    One setting decides it "product_metadata_max_tokens": 50 The product description in the prompt block is cut at 50 tokens. In this turn that is 39 to 41 words, about 250 characters, then "...". from the Nike block *Desc:* Maximum cushioning in the Vomero provides a comfortable ride for everyday road runs. Our soft, cushioned ride has lightweight ZoomX foam stacked on top of responsive ReactX foam in the midsole. Plus, a redesigned traction pattern offers a smooth heel-to... The feed description is 113 words. The model saw 40 of them. SSE dump · ChatGPT · two real shopping turns · Sep 2026 OAI feed Where the tokens go What this means for your feed 495 to 615 Only the first 40 words of your description reach the model. Put the product type, the key benefit and the differentiator in that first sentence. Most of the block is not description. Title, rating, merchants, specs and category take 450+ tokens and are capped by count (max_serp_specs_in_snippet: 20), not by tokens. Complete structured fields matter more than long prose. 7 of 32 blocks in this turn were cut. 25 had a 3 word description, so they gave the model almost nothing to work with. Google Shopping path: no description at all in the block. Title, rating, price, seller. That is it. tokens per product block (num_tokens on each candidate row) 18,587 tokens for the 32 blocks that reached the prompt, out of 23,697 for all 41 context limits in the settings main model n_ctx_override: 32768 product ranker renderer n_ctx: 4096 (orig_query_v1, orion_200k) max_serp_specs_in_snippet: 20
  26. The web layer of Dump A Query fan-out, written by

    the model web_queries "best running shoes for women 2026 reviews" recency 30d product_queries "best running shoes women 2026" OAI feed Web results behind the cards 42 Internal models in this turn answer model gpt4o-sonic-1p-ev3 web results, all 42 fetched. Shopping and web run side by side in the same turn. web chunk ranker engines system2-web 12 · reddit 12 · news-7d 6 · web-pdf 6 · news-all 3 · youtube 2 · wiki 1 web embeddings top domains reddit.com 12 · tomsguide.com 5 · runnersworld.com 4 · forwardmotion.com 3 · youtube.com 2 cited in the answer 1 URL only: runnersworld.com, best running shoes for women. Cited 6 times next to the 5 product cards. (family gpt-4l) sonic-re-fh-chunk-ev3-sx2 sonic-emb-cotrain-ev3, ghosteryv32, synth product ranker sonic-re-shopping-v3a-ev3 levels) (bce, 5 product embedding sonic-ee-shop-v0-ev3 product update gpt-4.1-nano-2025-04-14-short-api-ev3 browse filters gpt-5-mini-2025-08-07-api-ev3 nav classifier nav_classifier_enabled: true SSE dump · ChatGPT · two real shopping turns · Sep 2026
  27. Five queries, round robin Google Shopping 5 product queries, results

    from Google Shopping Candidate order in the dump, by query index 0 "...headphones under $300 Sony WH-1000XM5" 1 1 "Bose QuietComfort Headphones" 40 2 "Sennheiser Momentum 4 Wireless" 21 3 "Sony ULT Wear" 40 4 "Soundcore Space One Pro" 11 0 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 . . . Round robin: result 1 from each query, then result 2 from each query, and so on. Query 0 drops out after its single result. The rest rotate until they run dry. 113 products The long query returned 1 product. Short brand plus model queries did the work. SSE dump · ChatGPT · two real shopping turns · Sep 2026 If your product name is not a clean, searchable string, you lose here.
  28. Thin data, slow path One Google Shopping candidate, as stored

    { } "provider": "serp", "request_query": "bose quietcomfort headphones", "serp_main_response": { "position": 2, "title": "Bose Quietcomfort Headphones", "price": "TRY 10,677.54", "rating": 4.6, "reviews": 7600, "source": "Microless.com", "provider": "google_shopping_light" } No rank_in_search, no embedding, no bm25, no GTIN, no specs, no verified flag. The only order signal is Google’s own position plus the round robin. SSE dump · ChatGPT · two real shopping turns · Sep 2026 Google Shopping The prompt block the model gets Sony WH-1000XM5 Wireless Headphones (https://chatgpt.com/? hints=search&q=Sony+WH-1000XM5+Wireless+Headphones) 【turn0product0】 *Rating:* 4.6/5 (18000 reviews) *Merchants:* - TRY 14,488.50: eBay No description, no specs, no stock. The link is a chatgpt.com search, not your product page. 4.1 s search latency, vs 0.58 s on the OAI feed 18 of 113 products reached the model, vs 32 of 41
  29. The web layer of Dump B Google Shopping Query fan-out,

    written by the model Web results behind the cards Internal models in this turn web_queries 98 answer model gpt4o-sonic-1p-ev3 (family gpt-4l) "best noise cancelling headphones under $300 2026 sony wh-1000xm5 bose quietcomfort momentum 4" 30d, only rtings, tomsguide, soundguys "bose quietcomfort headphones price september 2026" 7d "sennheiser momentum 4 wireless price september 2026" 7d "sony wh-1000xm5 price september 2026" 7d product_queries 5 queries, see the round robin slide web results, 96 fetched. 4 web queries next to the 5 product queries. web chunk ranker sonic-re-fh-chunk-ev3-sx4 engines web embeddings sonic-emb-cotrain-ev3, ghosteryv32, synth system2-web 48 · news-serpapi 22 · reddit 12 · web-pdf 6 · news 8 · youtube 1 · wiki 1 top domains akakce.com 12 · reddit.com 12 · soundguys.com 9 · cimri.com 8 · rtings.com 7 · bose.com 5 cited in the answer Turkish price comparison sites (akakce, cimri) enter through the price queries. The answer text is not part of this dump. SSE dump · ChatGPT · two real shopping turns · Sep 2026 product ranker none, Google position is used as is product update gpt-5.6-luna-api-ev3 browse filters gpt-5-mini-2025-08-07-api-ev3 nav classifier nav_classifier_enabled: true fetch scoring system2 cot ranking, cutoff 6.60
  30. Side by side Summary OAI shopping feed (US) Google Shopping

    feed (TR) Engine labrador-shopping-v2, internal serpapi-shopping, external Product source OAI feeds (+allow list) incl. one Shopify feed Google Shopping via SerpApi Queries per turn 1 5, round robin Candidates 41, all scored 113, no scores Reach the model 32 prompt blocks 18 prompt blocks Merchant trust is_verified_merchant is a sort key not present Data per product desc, rating, price, stock, GTIN, specs title, rating, price, seller Outbound link merchant URL, utm_medium=feed chatgpt.com search link Latency 0.58 s 4.1 s Cards shown 5 5 Same prompt type, different engine, different rules. Your market decides which one you get. SSE dump · ChatGPT · two real shopping turns · Sep 2026
  31. What to do with this 01 · Content 02 ·

    Community 03 · Own domain Listicles still lead Reddit was the shortcut Your product pages count now 43% to 50% of citations every month, 45.5% overall. Reddit went from 11.4% of citations in June to 0.5% in Product page share went from 7.2% to 12.9%, 1.8x in Be in the round-ups ChatGPT already cites. September, and from 29% of shopping chats to 4%. four months. Price, stock, reviews and specs on the September’s top domains: vogue, tomsguide, rtings, Next month it can move again. What matters is page itself, readable without JavaScript. goodhousekeeping, whowhatwear. spotting which format takes the share when one 45.5% of all citations 7.2% → 12.9% drops, and moving there fast. 11.4% → 0.5% 04 · Own domain 05 · Opportunity Category pages are the quiet Comparison is small but climbing winner Comparison pages sit at 4.4% overall but rose from Category page share went from 9.6% to 14.1%. Treat 3.4% in July to 5.2% in September. Real head-to-head them as citable content: intro copy, a comparison pages, with specs and prices, fill an open lane. table, filters that render server-side. 3.4% → 5.2% 9.6% → 14.1% 06 · Mix Brands and retailers gain as UGC fades Corporate domains went from 34.6% to 43.4% of citations while UGC fell from 14.0% to 2.0%. Editorial held at 43% to 51%. Own domain plus editorial, not one or the other. 34.6% → 43.4% Disclaimer ChatGPT is a moving target. Reddit went from 11.4% to 0.5% of citations in four months, and the engine settings in the next chapter sit behind account level A/B tests that OpenAI can change at any time. Treat these six as September 2026 readings, not rules. Re-measure every month. Peec shopping analytics · US · ChatGPT · Jun to Sep 10, 2026
  32. What to do with this, from the dumps Actions 01

    · OAI feed 02 · OAI feed 03 · OAI feed Get a feed into the index Write for 50 tokens Watch for cannibalization No feed, no US card. Direct feed (openai_<brand>), Shopify via the shared canary feed, or a partner (Stripe, Salesforce). The web layer can still name you, but without a card. Only the first 40 words of the description reach the model. Type, key benefit, differentiator, in one sentence. Then fill GTIN, rating, reviews, specs, price and stock. Those are capped by count, not by tokens. oai_index_feed_serving_policy, 669 feeds product_metadata_max_tokens: 50 Size 10 and size 9.5 of the same shoe entered as two candidates. One card, and the one with 97 reviews beat the one with 1,706. The flip side: many variants and colors of one product can fill the retrieval pool (30 of 41 here) and hold more slots through dedup. Test both. This can change. global_group_id, generic_dedup_count 04 · Google Shopping utside the US, it is Merchant Center, for now. O Google position is used as is. Only title, rating, price and seller reach the model. The card links to a chatgpt.com search, not your page. Price queries pull in comparison sites (akakce, cimri). Be listed there. serpapi-shopping, google_shopping_light SSE dump · ChatGPT · two real shopping turns · Sep 2026 05 · Both est like the system tests T resh account and warm account, US and non US, and again after every OpenAI update. Personalization slots were empty in our turns and the engine choice sits behind A/B allocation. F personalisation_filled: [], ab_test_infos
  33. Reach me Questions? Metehan Yeşilyurt · GEO Researcher at Peec

    AI Peec AI · BrightonSEO San Diego · Sep 2026 Email [email protected] Newsletter metehanai.substack.com X x.com/metehan777 LinkedIn linkedin.com/in/metehanyesilyurt Site metehan.ai
  34. Track your brand in AI search. peec.ai Visit us at

    Booth 60 Thank you, Metehan Yeşilyurt · Peec AI