Home › Blog › Product titles for AI agents
Shopify product titles for AI shopping agents: why the first 70 characters decide everything
Most Shopify product titles were written for Google's keyword algorithm — or for print catalogs before that. AI shopping agents read titles completely differently: as entity signals used to generate natural-language recommendations. A title that performs fine in organic search can still leave your products invisible to ChatGPT Shopping, Perplexity, and Google AI Mode. Here's why the first 70 characters carry compounding weight, what three failure modes are silently degrading your AI visibility, and how to rewrite titles that work across every AI shopping channel simultaneously.
On this page
- Why product titles matter more than they ever did
- How AI shopping agents parse product titles
- The 70-character rule: why front-loading is non-negotiable
- Three title failure modes destroying your AI visibility
- The compound problem: how a weak title degrades every other signal
- JSON-LD consistency: the silent confidence penalty
- Before / after: title rewrites across three verticals
- The entity-first title formula
- Auditing your title catalog
- FAQ
Why product titles matter more than they ever did
There's a moment in every Shopify store's history when someone decided the product titles looked "fine." Maybe they were migrated over from an old platform. Maybe they were written by whoever set up the store years ago. Maybe the theme makes them look good at first glance, so nobody questioned them.
For traditional SEO, "fine" often was fine. Google's algorithm weighed hundreds of signals — backlinks, page authority, click-through rate, time on site, structured data. The product title was one input among many, and a mediocre title could be compensated by a strong description, good internal links, or site authority.
AI shopping agents have no such fallback system. When ChatGPT Shopping receives a query — "find me a lightweight trail running shoe under $120 with good ankle support" — it resolves that query against the product title first, before accessing anything else. The title is the entity anchor. It's how the agent decides whether your product is even a candidate for consideration before it checks price, description, reviews, or availability.
A title that doesn't immediately signal "trail running shoe" with a differentiating attribute (lightweight, ankle support, a specific material, a weight measurement) may never surface in that query at all — regardless of how perfect your JSON-LD is, how detailed your description is, or how many reviews you have.
How AI shopping agents parse product titles
To understand why title structure matters so much, you need to understand what AI shopping agents actually do with a product title. It isn't keyword matching. It's entity extraction followed by query alignment.
When an agent ingests your product title, it attempts to extract a structured entity model from the text:
Once that entity model is constructed, the agent can match it against conversational queries that would never surface via keyword matching:
- "trail shoes for people with wide feet" → matches Trail Running Shoe + Wide Toe Box
- "minimalist running shoes for hiking" → matches Trail Running Shoe + Zero-Drop
- "shoes for plantar fasciitis-friendly runs" → may surface via brand entity association (Lems is a known minimalist brand in the agent's training data)
- "alternatives to Altra trail shoes" → brand entity cross-reference
None of those queries contain the exact phrase "trail running shoe." They are intent-based, not keyword-based. But a title with a clear entity model — brand, product type, two specific attributes — surfaces across all of them.
Now consider a common alternative title for the same product: "Lems Trail Shoe". The entity model the agent extracts: brand (Lems), product type (trail shoe). No attributes. The queries it matches: exact near-matches for "Lems trail shoe," maybe "trail shoes." Every high-intent, attribute-specific query that should be your highest-conversion traffic — invisible.
The 70-character rule: why front-loading is non-negotiable
There are two distinct reasons that the first 70 characters of your product title carry disproportionate weight. Most merchants know the first reason and ignore the second — and the second one is more important.
Reason 1: Display truncation
When ChatGPT Shopping renders a product recommendation, it displays a truncated version of the product title — typically around 70 characters before cutting to an ellipsis. What the shopper sees in the recommendation panel is those 70 characters. If your title is "Lems Shoes — Primal 2 Trail Runner, Zero-Drop, Wide Toe Box, Men's US 11," the shopper sees "Lems Shoes — Primal 2 Trail Runner, Zero-Drop, W…" — the actual differentiating information ("Wide Toe Box") is cut off.
Worse: a brand-first title like "Lems Primal 2 — Men's Trail Running Shoe, Zero-Drop, Wide Toe Box" gives the shopper "Lems Primal 2 — Men's Trail Running Shoe, Zero-Drop" at the 70-character mark. That's still reasonable. But "Lems Shoes, Inc. — The Original Primal 2 Trail Runner" gives the shopper "Lems Shoes, Inc. — The Original Primal 2 Trai…" — they see a legal entity name and a "The Original" marketing phrase before they see a single attribute.
Reason 2: Semantic weight distribution during ingestion
This is the one most merchants miss. When a language model processes a text sequence, earlier tokens influence its representation of the entire sequence more heavily than later ones. In practice, the first 60–80 characters of a product title have a larger impact on the model's entity-embedding for that product than the characters that follow.
This means that even for agents that ingest your full title (no display truncation), the front-loaded terms carry more weight in the entity model. A title that front-loads brand noise — "Acme Co. — Premium Quality [Product Name]" — teaches the model that your brand name and the word "premium" are the most important things about the product. When a shopper asks for something with a specific attribute that appears only after character 80, that attribute has less matching weight than if it had appeared first.
Per-agent truncation behavior
| Agent | Title display truncation | Full title ingested? | Source |
|---|---|---|---|
| ChatGPT Shopping | ~70 chars in recommendation panel | Yes — full title used for entity matching; truncated for display only | HTML title tag + JSON-LD name + /products.json title field |
| Perplexity Shopping | ~80–100 chars in answer cards | Yes | Direct page crawl + Bing Shopping feed |
| Google AI Mode | 150 chars (GMC hard limit) | Up to 150 chars (GMC feed limit) | Google Merchant Center feed title field |
| Meta AI Shopping | ~90 chars in product cards | Yes | Meta Commerce catalog title field |
Three title failure modes destroying your AI visibility
Analysis of under-performing titles in CatalogScan's scan database consistently shows three structural patterns. Each one creates a different type of AI visibility failure — and they're easy to identify once you know what to look for.
✅ "Waterproof Hiking Boot — Men's, Leather Upper, Vibram Sole — Acme Outdoor"
✅ "Men's Trail Running Shoe — Zero-Drop, Wide Toe Box, Size 8–14 — Black"
✅ "100% Grade-A Cashmere Crew-Neck Sweater — Mongolian Wool, Midweight, Hand-Wash"
The compound problem: how a weak title degrades every other signal
Here's what makes title quality uniquely important: a weak title doesn't just create one missed opportunity. It degrades the return on every other catalog signal you've invested in.
Suppose you've done everything right on a product: complete JSON-LD with GTIN, AggregateRating with 200 reviews at 4.7 stars, a 350-word description with all six signal types, correctly implemented OfferShippingDetails, and a CatalogScan score of 91/100. Then the product title is "Acme Sneaker — Blue." Here's what happens:
- Description signals can't be found: The agent builds an entity model from the title first. If the title is ambiguous ("sneaker" covers hundreds of subcategories), the agent uses the description to disambiguate. But the description's value is anchored to the title's entity confidence. A low-confidence entity anchor means the description's attribute signals are attributed to a vague product entity — the matching surface is smaller.
- GTIN value is reduced: GTIN enables cross-database entity matching (linking your product to the same item in Google's product knowledge graph, manufacturer catalogs, and price comparison sites). But the cross-database match starts with entity recognition — which starts with the title. An ambiguous title lowers match confidence even when the GTIN is valid.
- Review authority doesn't fully transfer: AggregateRating signals boost recommendation confidence for clearly-identified products. For ambiguously-titled products, the agent is less certain the review signal belongs to the specific product it's considering recommending — because it's less certain what specific product it's dealing with.
This is why title quality has an outsized ROI compared to other catalog improvements. It's not just a title fix — it's a multiplier on the return from every other optimization you've already done.
JSON-LD consistency: the silent confidence penalty
AI shopping agents don't just read your product title from one source. They read it from at least three: the visible <h1> or prominent title element on the page, the HTML <title> tag in the <head>, and the name field in your Product JSON-LD schema. For Shopify stores, there's a fourth source: the title field in /products.json.
When these four sources are consistent, the agent's confidence in the entity identity of the product is high. When they diverge — even slightly — the agent applies a consistency penalty: lower citation confidence means it's less likely to quote your product as a specific recommendation, defaulting instead to category-level references.
Common divergence patterns in Shopify stores:
- Theme modifies the display title: Some themes append collection names, variant labels, or promotional tags to the displayed title via Liquid. The product title in admin stays clean, but the rendered
<h1>reads "Running Shoes — SALE — Blue — Size 9." The JSON-LD name doesn't include "SALE" or "Size 9," creating a mismatch. - SEO apps write their own title tag: Many Shopify SEO apps allow (or default to) customizing the HTML
<title>tag independently of the product title. If the SEO title is "Best Running Shoes for Men | Acme Co." but the JSON-LD name is "Men's Trail Running Shoe — Zero-Drop, Wide Toe Box," the agent sees a three-way inconsistency across title tag, JSON-LD, and visible heading. - Manual JSON-LD name field: Merchants who hand-write their JSON-LD sometimes craft a "more SEO-optimized" name that differs from the product title in admin. The intent is good but the result is a confidence penalty on all AI shopping channels.
The fix is straightforward: output your product title directly into JSON-LD using Liquid, and ensure your SEO app is configured to use the raw product title (not a modified version) for the HTML title tag.
{% comment %} Product JSON-LD — title consistency block {% endcomment %}
"name": {{ product.title | json }},
Never write a separate name value that differs from {{ product.title }}. If the product title in admin needs to be different from what you want in JSON-LD, fix the product title in admin — don't create a bifurcated signal system.
Before / after: title rewrites across three verticals
The entity-first formula works differently in different product categories. Here are real rewrite examples across three verticals — with the specific query types each rewrite unlocks.
Apparel
"Nordvik Women's Hoodie — Heather Grey"
"Women's Oversized Fleece Hoodie — 400gsm Heavyweight, Kangaroo Pocket, Heather Grey — Nordvik"
Home goods
"Premium Ceramic Coffee Mug Set — White, Set of 4"
"Stackable Ceramic Coffee Mug Set — 14oz, Dishwasher-Safe, Matte White, Set of 4"
Skincare / Beauty
"Lumé Vitamin C Serum — Our Best Seller, 1oz"
"Vitamin C + Niacinamide Brightening Serum — 20% L-Ascorbic Acid, Fragrance-Free, 1oz — Lumé"
Notice the pattern across all three verticals: specificity replaces marketing language, numeric attributes replace vague descriptors, and the brand migrates toward the end of the title where it still gets indexed but doesn't consume high-weight front positions.
The entity-first title formula
The formula that produces consistent AI shopping visibility across all agents is simple to describe and hard to apply at scale:
A few clarifications on each slot:
Product type
Use the most specific product type term that fits — not a broad category, but the actual subcategory your product belongs to. Not "shoes" but "trail running shoe." Not "supplement" but "creatine monohydrate powder." Not "bag" but "roll-top waterproof backpack." The more specific the product type, the more targeted the query matching.
Primary differentiating attribute
The single most important thing that makes this product different from other products of the same type. For a trail shoe, it might be "zero-drop." For a protein powder, it might be "25g protein per serving." For a backpack, it might be "35L capacity" or "fits 15-inch laptop." If you're unsure which attribute to lead with, ask: what would a shopper who is specifically right for this product be searching for that a shopper who is wrong for it wouldn't be?
Secondary attributes
2–3 additional attributes that further qualify the product. Material, volume/capacity, color, certification (organic, vegan, certified B Corp), compatibility, or use case. These don't need to be in a specific order — they're all adding to the attribute surface area the agent can match against.
Brand
At the end. AI agents already know your brand from your Organization JSON-LD, your domain, and your product pages. Moving the brand to the end of the title doesn't hurt brand visibility — it just makes room for the attributes that actually drive recommendation matching.
| Slot | Characters (target) | What works | What doesn't |
|---|---|---|---|
| Product type | 10–30 chars | Specific subcategory term: "Trail Running Shoe," "Creatine Monohydrate," "Roll-Top Waterproof Backpack" | Broad categories: "Shoe," "Supplement," "Bag" |
| Primary attribute | 10–30 chars | Specific, measurable, falsifiable: "Zero-Drop," "25g Protein/Serving," "35L," "20% L-Ascorbic Acid" | Marketing words: "Premium," "Best," "Luxury," "High-Quality" |
| Secondary attributes | 15–40 chars | Materials, certifications, fit, compatibility: "Vibram Sole, Wide Toe Box," "Fragrance-Free, Vegan," "Fits 15" Laptop" | Redundant qualifiers, size variants (belongs in variant title), color-only (low signal) |
| Brand | 5–20 chars | Clean brand name at end: "— Lems," "— Lumé," "— Acme Outdoor" | Brand + descriptor: "Acme Co.," "Lems Shoes Inc.," "Official Lems" |
Auditing your title catalog
Manual title rewrites don't scale past ~50 products. For larger catalogs, you need a systematic audit to identify which products have the worst title signals so you can prioritize rewrites where they'll have the most impact.
The four metrics that matter for a title audit:
- Title length distribution: What percentage of products have titles under 50 characters? Under 40? These are your highest-urgency rewrites — too short to carry meaningful entity signals.
- Brand-noise rate: What percentage start with the brand name? Of those, how many have the product type as the second token? (Brand → product type is borderline; brand → marketing word → product type is a failure.)
- Attribute depth: Of titles in the 60–150 character range, how many contain at least one specific, measurable attribute? A title that's long because it includes "— Our Most Popular Item — Free Shipping!" is still attribute-empty.
- JSON-LD consistency: Does the
namefield in Product JSON-LD match the Shopify product title exactly? Any mismatch — however small — applies a confidence penalty.
CatalogScan's title audit surfaces all four metrics across your entire catalog, flagged by severity, and exports to CSV for bulk editing in Shopify admin. It cross-references your top products by estimated AI referral traffic and sorts the fix list by expected impact — so you're not rewriting product titles for items that are already invisible for other reasons.
Scan your product titles now
CatalogScan checks every product title for length issues, brand-noise patterns, attribute depth, and JSON-LD mismatches — across your entire catalog in one scan.
Run a free scan Technical implementation guide →FAQ
How long should a Shopify product title be for AI shopping agents?
Target 60–120 characters. Below 50, AI agents lack enough entity signals to confidently match the product to conversational queries. Above 150, critical information gets truncated at the display layer — ChatGPT Shopping's title display cuts off around 70 characters, so anything past that point is invisible in the rendered recommendation even if the agent ingested the full title. Front-load brand, product type, and the primary differentiating attribute within the first 70 characters.
Does my product title need to match the JSON-LD name field exactly?
Yes. AI shopping agents cross-reference the visible page title, the HTML <title> tag, and the JSON-LD name field. When these three diverge, agents apply a consistency penalty that reduces citation confidence. Output your Shopify product title directly into JSON-LD using {{ product.title | json }} rather than writing a separate name field manually.
What is the biggest product title mistake Shopify stores make?
Brand-noise front-loading: putting the store or brand name at the very start of every product title. "Acme Co. Blue Running Shoe — Lightweight Foam" wastes the first 10 characters on brand context that adds no query-matching value. AI agents already know your brand from the Organization JSON-LD and the domain. Start with the most specific product-type term and move the brand to the end or middle.
Can I use the same title for SEO and AI shopping agents?
Yes, and you should — the entity-first formula that works for AI agents also performs well in traditional search. The main difference is that traditional SEO prioritized keyword density in titles, which often created repetitive or awkward phrasing. AI agents respond to entity clarity and attribute specificity rather than keyword repetition, which naturally produces better-reading titles that also rank well in traditional search.
How do I audit all my product titles at once?
Run a CatalogScan on your store. The scan checks every product title for character-length issues, brand-noise patterns, missing product type terms, and JSON-LD name field mismatches — and surfaces a prioritized fix list sorted by the products most likely to be generating AI shopping referral traffic. You can also export the full title audit to CSV for bulk editing in the Shopify admin.