Here's something I keep running into when I audit Shopify stores: two shops sell almost the same thing, but ChatGPT recommends one and never mentions the other. A big reason is the Product schema. That's the block of structured data (JSON-LD) sitting in your page source that tells machines exactly what a product is, what it costs, and whether people like it. AI assistants read that block before they decide what to suggest.
In the audits I run, the pattern is hard to ignore. Stores that expose 10 or more useful Product schema properties get picked up by AI tools far more often than stores with under five. Thin schema (just a name and a price) reads as "I'm not sure this is a real, buyable product," so the AI plays it safe and names a competitor that looks more complete. If you want the full picture of why this happens, I wrote a companion piece on why AI ignores your products.
So let's go field by field. For each one I'll tell you whether a default Shopify theme already outputs it, how to check, and how to add it if it's missing. No developer required for most of this.
How to check what your store actually outputs
Before you change anything, see what you've got. Open any product page, then run that URL through Google's Rich Results Test (search "rich results test"). It shows you the Product block Google detected and every property inside it. You can also right-click a product page, choose "View page source," and search the text for "@type":"Product". Whatever properties appear there are what AI engines can read too. Do this first so you're fixing real gaps, not guessing.
The 10 fields, ranked by impact
1. offers (price, priceCurrency, availability)
This is the single most important block. The offers object holds the price, the currency, and whether the item is in stock. ChatGPT and Perplexity lean on this heavily because a buyable price is what separates a product from a blog post. Most Shopify themes built in the last few years output offers automatically through the product JSON-LD in theme.liquid or a schema snippet. Confirm availability resolves to https://schema.org/InStock when the item is in stock. If your theme outputs price but not availability, that's a gap worth closing.
2. name
Obvious, but it has to be the clean product name, not "Product 1 - Variant Blue - Copy." Every Shopify theme outputs name. Just make sure your product titles in the admin are the names a shopper would actually say out loud, because that's what the AI matches against the question being asked.
3. brand
This is one ChatGPT treats as a priority signal, and a lot of Shopify themes leave it out. brand tells the AI who makes the thing, which matters enormously when someone asks for "a good [brand-type] under 50 dollars." Shopify has a built-in product field called Vendor. Set Vendor on every product, then make sure your schema maps it into brand as a Brand object with a name. If your theme outputs Vendor anywhere but not as brand in the JSON-LD, that's a quick win.
4. aggregateRating
Along with brand and offers, this is the field I'd fight hardest to get right. aggregateRating carries your star rating and review count. AI assistants use it as a trust shortcut: a product with 4.7 stars across 200 ratings gets recommended over an identical product with no rating at all. Shopify's default theme does not invent this for you. It comes from your reviews app. Judge.me, Loox, Yotpo, Okendo and similar tools inject aggregateRating into your Product schema when they're set up correctly. If you have reviews showing on the page but no aggregateRating in the source, check the app's settings for a "rich snippets" or "structured data" toggle and turn it on.
5. image
A direct, full-resolution image URL. AI shopping experiences increasingly show a product thumbnail, and a missing or tiny image makes you look unfinished. Shopify themes output image from your product's featured image, so this is usually present. Just confirm the URL in the schema points to a real, large image and not a placeholder.
6. hasMerchantReturnPolicy
This one is becoming non-negotiable for Google's AI Overviews and Shopping surfaces. hasMerchantReturnPolicy describes your returns: the country, the return window in days, and the return method. Google has started flagging product listings that lack it, and items with a clear return policy get favored in AI-driven shopping answers. Default Shopify themes generally do not output this in JSON-LD. The cleanest path for a non-coder is a structured-data app (more on that below) or, if you're comfortable, adding a hasMerchantReturnPolicy object to your product schema snippet with your real policy values. Don't fake it; match what your store actually offers.
7. shippingDetails
Same family as returns, same rising importance. shippingDetails tells the AI your shipping cost and rough delivery time. When a shopper asks "where can I buy X with free shipping," this field is literally the answer. Shopify themes rarely output it by default. A schema app can populate it, or you add a shippingDetails object referencing your shipping rates. Keep it honest and consistent with your checkout.
8. gtin (or mpn)
A GTIN is the global barcode number (UPC, EAN, ISBN). It's a unique fingerprint that lets AI engines match your product to the same product across the web, which builds confidence that you sell a real, known item. Shopify has a barcode field on each variant. Fill it in, then make sure your schema maps it to gtin (or mpn if you only have a manufacturer part number). Resold branded goods benefit most here. For your own-brand products you can skip GTIN and lean on brand plus reviews instead.
9. availability (called out on its own)
It lives inside offers, but it earns its own line because stale availability quietly kills recommendations. If your schema says InStock on a sold-out product, AI tools that catch the mismatch learn not to trust your data. Good themes and apps keep this in sync with your real inventory. After any theme change, re-test a sold-out product and confirm it reports OutOfStock.
10. review
Different from aggregateRating: review embeds individual reviews with their author, rating, and text. This gives AI actual sentences to quote when summarizing why people like your product. Your reviews app is again the source. If it can output both aggregateRating and a few review entries in the schema, enable both. A couple of real, specific reviews in the markup beats a wall of generic ones.
How to add the missing fields without a developer
You've got two realistic routes. The first is your existing apps: your reviews app owns aggregateRating and review, so the fix there is usually flipping on its structured-data setting. The second route, for fields like hasMerchantReturnPolicy, shippingDetails, brand and gtin, is a dedicated JSON-LD or "rich snippets" app from the Shopify App Store. These let you map Shopify fields (Vendor, barcode, your policies) into a complete Product schema through a settings screen, no theme editing at all.
If you do want to touch the theme yourself, go to Online Store, Themes, the three-dot menu, Edit code, and find the product JSON-LD (often in a product section or a structured-data snippet). Edit a copy, test on a duplicate theme first, and re-run the Rich Results Test before you publish. A safe habit: change one field, test, then move to the next.
Whichever route you take, the goal is the same. Get your high-impact Product fields, especially brand, offers, and aggregateRating, into clean JSON-LD so the AI has something solid to cite. If you want a quick read on which fields you're missing right now, you can run a free AI visibility audit on your store and see exactly where the gaps are.
None of this is glamorous work. It's the digital equivalent of putting a clear price tag and a real review card on your shelf. But it's the difference between an AI saying "you should check out their store" and an AI naming someone else entirely.
See where your store stands
Run a free AI Visibility Audit and find out if AI recommends you.
Get my free audit →Questions store owners ask
Does Shopify add Product schema automatically?
Most modern Shopify themes output a basic Product schema with name, price, image and availability. But fields like brand, aggregateRating, hasMerchantReturnPolicy and shippingDetails are often missing. Check your product page source for "@type":"Product" and run it through Google's Rich Results Test to see what you actually have.
Which Product schema field matters most for ChatGPT?
ChatGPT leans hardest on offers (a real, buyable price), brand, and aggregateRating. Those three together tell it you sell a real product that people trust. If you only fix three things, fix those, then add returns and shipping for Google's AI Overviews.
How do I add aggregateRating to my Shopify store?
It comes from your reviews app, not the default theme. Apps like Judge.me, Loox, Yotpo or Okendo can inject aggregateRating into your Product schema. Open the app's settings and turn on its rich snippets or structured-data option, then re-test the page to confirm the rating now shows in the source.
AI VISIBILITY