June 14, 2026 AEO Shopify AI Search How-To

How to Get Your Shopify Store to Show Up in ChatGPT

Answer Engine Optimisation (AEO) for Shopify is not a buzzword yet — most stores have never thought about it. We scanned five well-known Shopify brands through our live AEO engine on June 14, 2026. Every single one scores below 60/100. Every single one scores zero on answer-readiness — the sub-score that decides whether ChatGPT will quote you. Here is a concrete, honest guide to fixing that.


The data: even famous stores are invisible to AI

Before telling you what to fix, it is worth establishing what the baseline actually looks like. These are not tiny stores. They have large marketing budgets. They still fail on AI-visibility.

Scores were produced by running our AEO engine live against each store's public surface on 2026-06-14. No scores were fabricated. Raw engine JSON is cited in our brand teardown post.

Store Score Grade Answer-readiness Schema coverage
allbirds.com 47 D 0 / 100 0 / 100
gymshark.com 55 C 0 / 100 0 / 100
mejuri.com 10 F 30 / 100 0 / 100
brooklinen.com 31 F 0 / 100 0 / 100
deathwishcoffee.com 56 C 0 / 100 17 / 100

Death Wish Coffee is the highest scorer at 56 and they have only two JSON-LD types live: Organization and WebSite. No Product. No Offer. No FAQPage. Gymshark's discoverability is perfect (100/100 — they have llms.txt, agents.md, agentic sitemap, and an AI-friendly robots.txt) but their schema coverage is zero, so ChatGPT has nothing structured to quote.

What this means for your store: if Allbirds and Gymshark haven't cracked this, there is almost no chance you're ahead of them. But the gap is closable — and you can close it faster than they will, because you are reading this now.

What AI engines actually look for

When a shopper asks ChatGPT "what are the best running shoes under $150", ChatGPT does not search the web in real time (unless browsing is enabled). It draws on training data and, when browsing is enabled, it fetches pages that are structurally easy to parse. Both pathways reward the same five things:

  1. A machine-readable hint file (llms.txt) that tells AI crawlers what your store sells and where to look
  2. Structured data (JSON-LD schema) that encodes your products, prices, ratings, and Q&A in a format AI parsers natively understand
  3. Answer-ready FAQ content written at the question level so AI engines can quote it verbatim
  4. A complete product feed (/products.json) with rich descriptions, real variant names, and image alt text
  5. Being in the external sources that AI engines trust — publisher round-ups, niche review sites, comparison pages

Our engine scores each of these as a sub-dimension. Here is how Gymshark's 55/C score breaks down — they are strong on the infrastructure levers but have done nothing on the content and schema levers:

Discoverability
100
Feed completeness
72
Schema coverage
0
Answer-readiness
0
Multi-market
100

They could reach ~88/A by fixing three things (Product JSON-LD, FAQPage schema, and answer content). None of those require a developer — they are content and markup changes.


The five levers: what to actually do

  1. 1
    +15 to +25 pts on Discoverability

    Add and enrich your llms.txt

    Shopify auto-generates a minimal /llms.txt for most stores — usually just a product count. The enriched version is what actually moves the needle: your brand story in 2–3 sentences, your top product categories described in plain language, a table mapping target queries to key URLs, and (if you sell in multiple countries) per-market currency and language declarations.

    Check what yours looks like by visiting yourdomain.com/llms.txt in a browser right now. If it is less than 30 lines, it needs work. The llms.txt file is not a ranking signal in the traditional sense — it is an instruction document for AI crawlers that tells them what to index and how to describe you to their users.

    Mejuri's problem in one number: they serve 20 locale variants (en-us, en-ca, fr-ca, en-au, en-gb, de-de and more) but their llms.txt declares zero per-market currency or language context. Our engine flags this as a +60 pt opportunity. AI assistants citing Mejuri for a Canadian shopper may quote the wrong currency.

  2. 2
    +25 to +45 pts on Schema Coverage

    Add Product, Offer, and FAQPage JSON-LD

    Schema markup is the single highest-impact lever for AI search visibility. Without it, AI engines are guessing at your product's name, price, and stock status from raw HTML. With it, they can cite you precisely.

    The most valuable types for Shopify stores, in priority order:

    • Product — name, description, image, SKU or GTIN
    • Offer — price, priceCurrency, availability (InStock / OutOfStock), url
    • AggregateRating — ratingValue and reviewCount (requires you to have reviews)
    • FAQPage — your Q&A content marked up as machine-readable pairs
    • Organization — brand name, URL, sameAs (social profiles)
    • BreadcrumbList — helps AI engines understand your site structure

    Here is a minimal Product + Offer block you can add to a Shopify product page theme file. Replace the Liquid variables with your own:

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Product",
      "name": "{{ product.title | escape }}",
      "description": "{{ product.description | strip_html | escape | truncatewords: 100 }}",
      "image": "{{ product.featured_image | img_url: 'grande' }}",
      "sku": "{{ product.selected_or_first_available_variant.sku }}",
      "brand": {
        "@type": "Brand",
        "name": "{{ shop.name | escape }}"
      },
      "offers": {
        "@type": "Offer",
        "url": "{{ canonical_url }}",
        "priceCurrency": "{{ cart.currency.iso_code }}",
        "price": "{{ product.selected_or_first_available_variant.price | money_without_currency | remove: ',' }}",
        "availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"
      }
    }
    </script>

    Add this inside the <head> of your product.liquid (or product.json template in Dawn/OS 2.0). Validate with Google's Rich Results Test before pushing to production.

  3. 3
    +30 to +45 pts on Answer-Readiness

    Publish answer-ready FAQ content

    This is the lever every brand in our scan misses completely — including the C-grades. AI answer engines quote prose, not product pages. When someone asks "what are the best sustainable running shoes", ChatGPT does not show a product card — it writes a paragraph citing a page that answered that question directly.

    The formula: one question per H2 or H3 heading, direct answer in the first sentence of that section, FAQPage JSON-LD wrapping the whole block. Topics that work well for Shopify stores:

    • "How long does [product] last?" (durability questions AI loves)
    • "Is [product] worth it?" (buying-decision questions with high query volume)
    • "[Product] vs [competitor product]: what's the difference?"
    • "What size [product] should I get?" (fit / spec questions)
    • "Is [product] good for [specific use case]?"

    Here is the FAQPage JSON-LD wrapper structure. Add this alongside the content on any page that has Q&A sections:

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "How long do your running shoes last?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Our running shoes are designed to last 400–600 miles of active use. Rotation with a second pair extends lifespan significantly. The midsole typically shows wear before the outsole, so replace when cushioning feels flat rather than waiting for visible sole wear."
          }
        },
        {
          "@type": "Question",
          "name": "Are your shoes machine washable?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Machine wash on cold, gentle cycle, inside a mesh laundry bag. Air dry only — heat damages the foam. Do not put them in a dryer."
          }
        }
      ]
    }
    </script>

    The visible H2/H3 question headings and the JSON-LD must match. Cloaking (different content in schema vs. what users see) will get you penalised by Google and is not how you earn AI trust either.

  4. 4
    +15 to +40 pts on Feed Completeness

    Fix your product feed

    AI shopping agents (including the ones embedded in ChatGPT with browsing or plugins) parse /products.json to understand your catalog. If your feed is locked, broken, or thin, you are invisible to those agents.

    Mejuri's feed problem: /products.json returns HTTP 404. They blocked the public catalog API, likely for competitive reasons. But the unintended consequence is that AI shopping agents cannot read their catalog at all. Our engine assigns them a feed score of 0 as a result.

    Four feed quality checks to run right now:

    1. Is your feed public? Visit yourdomain.com/products.json?limit=5 in an incognito browser. If you get a 404 or empty result, your feed is blocked.
    2. Are descriptions long enough? Our engine uses 60 words as the threshold. Allbirds scored 0% on this metric — every one of their sampled products had thin descriptions. AI agents need enough context to understand and quote a product.
    3. Do your images have alt text? Gymshark: 0% alt text. Death Wish Coffee: 0% alt text. Alt text is how multimodal AI understands and cites your imagery. Every product image should have a descriptive alt attribute.
    4. Are your variant names real? Death Wish Coffee: 64% of products use "Default Title" as the variant name. That is a meaningless signal to AI. Real variant names (e.g. "12 oz / Whole Bean / Medium Roast") help AI agents recommend the right SKU.
  5. 5
    Hard to measure, high ceiling

    Get into the sources AI engines cite

    ChatGPT's training data is dominated by publisher content — articles, review sites, comparison pages, listicles. When a shopper asks "best sustainable sneakers", ChatGPT quotes from the pages that ranked for that topic, not from the brand's own store.

    This means your on-site AEO work (levers 1–4) gets you ready to be cited when browsing is enabled or when your store is in training data. But to win against established brands in generative answers, you also need coverage in the external sources AI engines trust.

    Practical actions:

    • Identify the 10 "best [product category]" listicles in your niche that appear in the first page of Google results. Those are almost certainly in AI training data. Get your products featured in them.
    • Pitch your product to niche bloggers and independent review sites (not just big publishers). AI models pull from a wide source distribution, not just tier-1 media.
    • Create your own comparison and buying-guide content that can get indexed and cited. "Our shoes vs. [competitor]" written honestly is a legitimate citation target.
    • Make sure your Google Merchant Center feed is complete — Google AI Overview surfaces products directly from it.

One more thing: check your robots.txt

Allbirds scores 90/100 on discoverability overall (they have llms.txt, agents.md, and an agentic sitemap) but their robots.txt blocks AI crawlers. Our engine flags this as a discoverability penalty. If your robots.txt does not explicitly allow major AI crawlers — GPTBot, ClaudeBot, PerplexityBot, Google-Extended — you are blocking your own AI indexing.

Check your robots.txt at yourdomain.com/robots.txt. Look for any Disallow: / rules under AI crawler user-agent strings. The correct default is to allow all crawlers unless you have a specific reason not to.

One common mistake: some Shopify stores install privacy or bot-management apps that add broad Disallow rules to robots.txt. If you have recently installed a security app, re-check your robots.txt to confirm it has not blocked AI crawlers you want to allow.

How to verify your current AI-visibility score

We built the same engine that produced the brand scores above into a free tool. Run your store through it at hatchloop.dev/tools/aeo-check/. It checks your store's public surface across the same five sub-dimensions — discoverability, feed completeness, schema coverage, answer-readiness, and multi-market hygiene — and returns a 0–100 score with your top gaps ranked by score impact.

It is a public-surface scan (the same view an AI crawler has). It does not require login. It takes under 60 seconds. Given that the best-scoring brand in our dataset is 56/C, there is a reasonable chance your store is in that range or below — and worth checking.


Frequently asked questions

Check your store's AI-visibility score — free

The same engine that scored Allbirds (47/D), Gymshark (55/C), and Mejuri (10/F) is available for your store. Enter your domain and get a 0–100 score with your top gaps ranked by impact. No login required.

Run free AEO scan

Takes under 60 seconds — public-surface scan only, no store credentials needed