How AI Search (ChatGPT, Perplexity, Google AI Overviews) finds D2C stores — and how to be cited
Generative engines don't rank pages the way Google does. They retrieve, attribute, and quote. Six signals decide whether ChatGPT or Perplexity cites your D2C store when a customer asks "best Indian jewellery brand under ₹5K". JSON-LD schema, FAQPage markup, named entity coverage, and SSR vs CSR — explained for founders, not engineers.
Why AI Search is a different game from SEO
Old Google: you ranked #3 on a search for "ayurvedic skincare", and the user clicked through, browsed, and maybe bought. New AI Search: the user asks ChatGPT "what's the best Indian ayurvedic skincare brand for sensitive skin under ₹1,500?". The model responds with an answer paragraph and 3 citation links. If you're not in those 3 citations, the user never sees you — they don't scroll a list, they read an answer.
This is binary, not ranked. You're either cited or you don't exist. The good news: the field is wide open. Most Indian D2C stores haven't invested in GEO. The brands that ship the 6 signals below in 2026 will own the AI citation channel for the next 3 years.
Signal 1: Server-Side Rendering (SSR) — or you don't exist
AI crawlers (OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended, GPTBot) read your HTML. They do not reliably execute JavaScript. A modern CSR-only storefront — Next.js without SSR/ISR, React SPA, Vue SPA — returns an HTML response that looks like this:
<html><body><div id="root"></div><script src="bundle.js"></script></body></html>
An AI crawler reads that and sees: nothing. No product, no description, no price. Your full Glossier-class storefront might as well not exist.
The fix:
- Shopify: Shopify is SSR by default — you're fine.
- WooCommerce: SSR by default — you're fine.
- Next.js: Use
getServerSidePropsor App Router withforce-static/force-dynamicrendering. Avoid the all-client-component pattern. - React SPA: Migrate to Next.js, Remix, or Astro. Or run a prerender service (Prerender.io, Rendertron).
To test: curl -A "PerplexityBot" https://yourstore.com. Read the HTML response. If you don't see your product copy in plain text, your AI Search visibility is zero.
Signal 2: JSON-LD structured data (Product, Organization, FAQ, Article)
JSON-LD is structured data inside a <script type="application/ld+json"> tag. AI crawlers ingest these as the canonical machine-readable facts about your page. They're cheap, invisible to users, and disproportionately important for citation.
The four schemas that matter for D2C:
Product schema (every PDP)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Tarakshi 925 Silver Necklace",
"brand": { "@type": "Brand", "name": "Giva" },
"description": "Hallmarked sterling silver with rose-cut accents...",
"image": "https://giva.co/products/tarakshi.jpg",
"sku": "GVA-TKS-001",
"offers": {
"@type": "Offer",
"price": "2999",
"priceCurrency": "INR",
"availability": "https://schema.org/InStock",
"url": "https://giva.co/products/tarakshi"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "892"
}
}
Organization schema (root layout, every page)
Establishes your brand identity to the LLM. Include: name, logo, foundingDate, founder, address (with addressCountry: "IN"), sameAs (Instagram, LinkedIn, Wikipedia if applicable). The sameAs array is how AI cross-references your store with other entity mentions across the web.
FAQPage schema
This is the highest-leverage GEO signal in 2026. AI engines lift FAQ Q&A directly into their answers. If you have a Returns & Shipping FAQ marked up correctly, and a user asks ChatGPT "does Giva offer COD on jewellery?", your answer can be quoted verbatim with a citation to your page.
Every blog post in this article ships with FAQPage schema. Look at the source.
BreadcrumbList schema
Helps AI engines understand hierarchy: Home → Necklaces → Sterling Silver → Tarakshi. Small win, easy install.
Signal 3: Named entity coverage in copy
LLMs tokenize text into entities. When a user asks about "Indian ayurvedic skincare for sensitive skin", the model retrieves passages containing those entity tokens. If your product description says "gentle formula for delicate complexions", you've left the entity tokens unmentioned.
The rewrite: "Ayurvedic skincare for sensitive skin, formulated with neem, aloe vera, and turmeric for delicate complexions." Same meaning, three additional entity tokens (ayurvedic, neem, aloe vera, turmeric) that match common shopper queries.
This is not keyword stuffing. It's accurate description using the entity vocabulary your customers actually use. Indian shoppers say "kumkumadi", "ubtan", "haldi", "Hallmark", "BIS-certified", "925 silver", "GI tag", "organic by Bharat" — your copy should use these terms, not euphemisms.
Signal 4: FAQ pages with real Q&A (matched to actual shopper questions)
The single highest-ROI GEO move for D2C in 2026 is writing real FAQ pages. Not "What is your brand about?" filler. Specific questions that your support inbox answers daily.
Examples for an Indian D2C jewellery brand:
- "Is the silver in Giva products real 925 sterling?"
- "Does Giva offer Hallmark certification on every piece?"
- "What is the COD policy for orders above ₹5,000?"
- "How long does delivery take to Tier-2 cities like Indore or Coimbatore?"
- "Can I return jewellery if I don't like the size after delivery?"
Each Q&A answers a real shopper question, marked up in FAQPage JSON-LD. When a shopper asks ChatGPT the same question, your answer is the candidate the model retrieves. You become the citation.
Signal 5: robots.txt + AI crawler allowlist
By default, many storefronts have an overly aggressive robots.txt that blocks crawlers. Or worse, the default Shopify robots.txt isn't customized and your /pages/* are blocked. Check and explicitly allow:
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Bytespider
Allow: /
Sitemap: https://yourstore.com/sitemap.xml
Yes, you're paying egress cost letting these crawl. Yes, that cost is dwarfed by the citation value when a Perplexity result drives qualified shoppers.
Signal 6: External entity mentions (the "Wikipedia effect")
LLMs cross-reference your brand against the broader web. If you appear in Wikipedia, YourStory, Inc42, ET Prime, Mint, LiveMint, BW Disrupt — the model has multiple corroborating signals that your brand is "real". A brand that appears only on its own .com is treated with lower confidence.
Lowest-effort high-leverage moves:
- Get a YourStory or Inc42 feature (pitch the founder story).
- Submit to relevant Crunchbase / Tracxn entries with funding history.
- Earn one LinkedIn longform mention from a credible founder/investor.
- Submit to category-specific listicles (Indian D2C beauty round-ups, Best Jewellery brands lists).
Each mention is a corroborating training-data signal. By the next model refresh (Q3 / Q4 2026), you're more cite-able.
How does your store score on AI Search readiness?
D2CIQ measures all 6 signals automatically. JSON-LD coverage, SSR vs CSR, FAQPage markup, entity density, robots.txt, external mentions. Free, 60 seconds.
Audit my GEO score →Common D2C founder GEO mistakes (don't make these)
- Adding fake FAQ pages with thin answers. AI engines penalize this. Write only real Q&As you'd actually answer on WhatsApp.
- Using a CSR-only Next.js storefront because "it's faster". It's not faster than SSR for most stores, and you're invisible to AI Search.
- Skipping
priceCurrencyon Product schema. Without "INR", the AI assumes USD and your prices look 80× wrong. - Blocking GPTBot in robots.txt by default. You're paying for content you then forbid the world from reading.
- Relying on traditional backlinks. Backlinks still help, but entity mentions in editorial content (YourStory feature) matter more for GEO than 50 forum links.
- Treating GEO as a one-time install. Crawlers re-index quarterly. New product, new schema. New FAQ, new markup.
The 90-day GEO roadmap
| Week | Task | Effort |
|---|---|---|
| 1 | Audit SSR vs CSR. Fix any CSR-only PDPs. | 2–8 hours (depends on platform) |
| 2 | Add Organization schema in root layout. Validate. | 30 min |
| 3 | Add Product schema on every PDP. Validate. | 2 hours |
| 4 | Add BreadcrumbList on collection + PDP pages. | 1 hour |
| 5 | Write 10 real FAQ entries with FAQPage schema. | 3 hours |
| 6 | Update robots.txt to allow all major AI crawlers. | 15 min |
| 7–8 | Rewrite top 5 PDP descriptions with native entity vocabulary. | 4 hours |
| 9–12 | Earn 1 YourStory / Inc42 / Mint feature. Submit to 3 Indian D2C listicles. | Outreach |
| 13 | Re-audit. Check ChatGPT / Perplexity citation by manual query. | 1 hour |
How to measure GEO traffic
- Shopify Analytics: Filter referrer for
chat.openai.com,perplexity.ai,gemini.google.com,claude.ai. These referrers grew 4–8% of total traffic for several measured brands in the last 6 months. - Google Search Console: AI Overviews performance report (rolling out Q3 2026).
- Manual query testing: Once a month, ask 5 category-relevant queries in ChatGPT and Perplexity. Track citation hit rate.
- Brand mention monitoring: Set up Brand24, Mention.com, or a simple weekly Google Alerts for your brand name.