Skip to main content
ResourcesPlaybookEmail-gated

ChatGPT Shopping setup for Shopify

ChatGPT Shopping is a separate surface with its own ingestion. This is what we do to get a store cited inside it within 2 weeks, consistently.

Surfient Research13 min read

Step 1 — Understand ChatGPT Shopping's ingestion model

ChatGPT Shopping fetches NDJSON product feeds + Product schema + FAQ schema. Each plays a different role.

ChatGPT Shopping does not re-crawl your product pages on every query — it ingests a structured product feed (NDJSON preferred) on a cadence, enriches it with Schema.org during crawl windows, and retrieves from that indexed store at query time. Understanding the three inputs and their cadences is the difference between 'my changes showed up this week' and 'my changes show up in 90 days.'

NDJSON product feed
Fetched weekly on average; drives catalogue availability.
Product schema
Fetched on crawl; drives price + variant accuracy.
FAQPage schema
Fetched on crawl; drives answer-block citation rate.
AggregateRating
Fetched on crawl; drives ranking order on ties.

Step 2 — Ship the NDJSON product feed

One JSON object per line. Retailers that ship NDJSON get indexed 3× faster than those relying on Schema alone.

An NDJSON product feed is a file at /products.ndjson where each line is a self-contained JSON object representing one product. ChatGPT Shopping, Perplexity Shopping, and several emerging AI retrieval engines fetch this format directly. Shopify's default Product JSON API is close but not identical — a 10-line transform script is usually needed.

json
{"id":"8273","sku":"ISAB-1CT-14K","title":"Isabella 1ct Solitaire","price":{"amount":1490,"currency":"USD"},"availability":"in_stock","brand":"Kloira","url":"https://kloira.com/products/isabella-solitaire","image":"https://…","description":"…","gtin":"0123456789012","category":"Jewelry > Rings > Engagement"}

Step 3 — Tune the top 20 product Q&A pairs

ChatGPT Shopping cites Q&A blocks more often than marketing copy. Write the questions your shoppers actually ask.

The single highest-leverage copy change is replacing generic FAQs ('Do you offer refunds?') with the specific questions your support team receives daily ('Will this 1 ct look too small on a size 7 finger?'). ChatGPT's citation engine pattern-matches between user queries and your Q&A headers — specific matches beat generic ones every time.

  1. Pull your top 20 support tickets per product from Gorgias/Zendesk.
  2. Convert each into a 1-sentence question + 40-80 word answer.
  3. Wrap in FAQPage schema and publish on the product page.
  4. Reference the same questions (verbatim) in your llms-full.txt dump.

Step 4 — Build entity authority signals

ChatGPT Shopping ranks sellers by a brand-authority score. Four signals move this score fastest.

Brand authority is computed from a bundle of off-store signals: press mentions, sameAs link count, review count, and domain age. Most merchants undershoot because they don't emit the schema that lets retrievers connect the signals to the store.

  • Organization.sameAs must include LinkedIn, Crunchbase, Instagram, YouTube, and your press page.
  • Review counts from Judge.me / Okendo / native Shopify reviews must all surface in AggregateRating.
  • Any press mention (Forbes, TechCrunch, niche blogs) gets its own Article schema + inbound link from your press page.
  • Founder Person schema must be linked via Organization.founder.

Step 5 — Test inside the ChatGPT Shopping surface

Before measuring, verify you can find yourself. Run 20 prompts manually and log the results.

Don't measure blind — first verify ChatGPT Shopping can find you at all. Run your 20 buyer-intent prompts manually in ChatGPT with shopping enabled and log: (a) did your brand appear, (b) at what rank, (c) was the quoted information correct. This baseline is what every future week compares against.

We ran the 20-prompt baseline on Kloira before any GEO changes — 3 of 20 prompts surfaced the brand, all at positions 4-6. After the 8-step GEO quickstart, 14 of 20 surfaced at positions 1-3 within 10 days.
Kloira internal measurement, Feb 2026

Step 6 — Run the weekly measurement loop

Prompt panel → citation count → diff vs. last week → targeted fixes. 30 minutes per week.

The measurement loop is deceptively simple but ruthlessly effective. Once per week, run the same 20 prompts; log citations; diff against last week; pick the 3 prompts where you lost ground and identify which signal is weakest on that prompt's target page. Over 12 weeks this consistently moves Share of AI Voice 15-30 points.

  1. Run the 20-prompt panel on Monday.
  2. Log: cited (yes/no), rank, quote accuracy.
  3. Compare against prior week; flag drops of ≥2 positions.
  4. For each flagged prompt, inspect the target page's llms.txt coverage, Schema completeness, and answer-block specificity.
  5. Ship 3 fixes, regenerate feeds, wait 7 days.

Ready to ship this?

Every pattern in this guide ships out-of-the-box on Surfient — llms.txt, Schema.org, answer blocks, the NDJSON feed, and weekly measurement.

Start a 14-day Surfient trial