Shopify product title SEO vs your Shopping feed, one title, two jobs
Why the title that ranks your Shopify PDP and the title that wins on Google Shopping are structured differently, and how a feed-side title layer lets you have both.
Your Shopify product title has to do two jobs that pull in opposite directions. On your product page it's a headline, short, readable, brand-forward, feeding your SEO title tag. In your Google Shopping feed it's the primary matching text, Google weighs roughly the first 70 characters, and wants brand, product type, colour and size packed in up front. Most merchants compromise one job to serve the other. A feed-side title layer means you don't have to.
One field, two masters
In Shopify you write one product title, and it gets read by two very different consumers:
- Your product page and organic search. The title is the PDP headline, the default for your SEO title tag (the "search engine listing" title, editable separately), and what appears in menus, carts and emails. Its job is to read well to a human.
- Your Google Shopping feed. The same field maps straight to the feed's
titleattribute: the single most heavily weighted text Google matches Shopping queries against. Its job is to contain, up front, the words shoppers actually search.
These jobs want different titles. Consider a dress:
| PDP / SEO title | Shopping feed title | |
|---|---|---|
| Example | The Rio Midi Dress | Whistles Rio Floral Midi Wrap Dress: Green, Size 12 |
| Optimised for | A human on your site or a results page | Query matching in the first ~70 characters |
| Brand position | Often implicit (it's your site) | Explicit and early |
| Colour/size | Absent (the variant picker handles them | Present) each feed offer is one variant |
| Style | Headline; short; on-brand | Attribute-dense; front-loaded; no flourish |
"The Rio Midi Dress" is a good storefront title and a poor feed title: no brand, no "floral", no "wrap", no colour, nothing for the query "green floral midi wrap dress" to match. The feed version is a strong feed title and a clunky headline. Neither is wrong; they're answers to different questions.
What each side actually rewards
On the PDP/SEO side, the title feeds your page's H1 and (by default) its title tag. Organic search rewards a title that matches intent and earns the click, but it reads the whole page (description, structured data, reviews) so the title doesn't have to carry every attribute. It has room to be a headline. Keyword-stuffing it ("Whistles Rio Floral Midi Wrap Dress Green Sizes 8 10 12 14 Wedding Guest") makes every heading, breadcrumb and cart line on your site read like a spam listing, and truncates to gibberish in browser tabs and search snippets, which are cut around 50–60 characters.
On the Shopping side, the title is disproportionately the whole game. Google matches Shopping queries primarily against title text, weighs the early characters most, and displays roughly 70 before truncation (fewer on mobile). Attributes that aren't in the title (or in their own attributes) simply don't match. And because each feed offer is a single variant, the title has to identify the variant: the green size 12, not just "the Rio dress". The full attribute rules live in the product title attribute guide.
The tension is structural, not a matter of writing skill. No single string is simultaneously a clean headline and an attribute-dense, variant-specific match target.
The usual bad compromises
With one field and two jobs, merchants land in one of three places:
- Storefront wins (most common). Titles stay clean and branded; the feed inherits headlines with no brand, colour or type. Products match fewer queries and impressions quietly underperform: no error, no warning, just less traffic.
- Feed wins. Titles get stuffed for Shopping; the storefront now shouts "Whistles Rio Floral Midi Wrap Dress: Green, Size 12" from every collection page, cart and confirmation email, and the SEO title tag truncates mid-attribute.
- Manual overrides in a feed app. Someone hand-writes feed titles per product in a spreadsheet or app field. Fine at 40 products; at 4,000 it's a part-time job, and the overrides silently go stale as products, prices and seasons change.
All three treat a structural problem as a writing problem.
The resolution: a feed-side title layer
The actual fix is architectural: keep one title in Shopify, written for your store, and generate the Shopping title in a feed-side layer that never touches your store data.
The layer reads what Shopify already knows about each variant (your title, vendor, product type and category, option values (colour, size), description) and composes a feed title per variant: brand and product type up front, distinguishing attributes in the first ~70 characters, variant specifics included. Your Shopify title is an input to this, not the output: so "The Rio Midi Dress" plus vendor "Whistles", options "Green / 12" and a floral-wrap description becomes a fully-shaped feed title without a single character of your storefront changing.
This is why the advice in writing product data that enriches well is "write your title for the shopper": the feed shaping is handled downstream, and the better your source fields (vendor, options, description), the better the composed title. Note the direction of data flow: the layer reads Shopify and writes only to its own supplemental feed. Your titles, your SEO, your PDPs stay exactly as you wrote them.
Deep dive Anatomy of a strong feed title, variant by variant
It's worth seeing precisely what the feed layer builds, because "front-load the attributes" hides real per-category and per-variant decisions.
Start with the raw Shopify data for one product:
- Title: The Rio Midi Dress
- Vendor: Whistles
- Category/type: Dresses
- Options: Colour (Green, Navy), Size (8–16)
- Description: mentions floral print, wrap front, midi length
That's one product but ten sellable variants, and the feed carries ten offers. Each needs its own title, because a shopper searching "navy wrap dress size 14" should match the navy 14: Google's matching and the shopper's judgement both work variant by variant. The composed titles:
Whistles Rio Floral Midi Wrap Dress: Green, Size 8 Whistles Rio Floral Midi Wrap Dress: Navy, Size 14 …and eight more.
The ordering logic, roughly: brand first (strong matcher, builds trust in the snippet), distinguishing product words next ("Rio Floral Midi Wrap Dress"(the product type enriched with the attributes shoppers query: silhouette, print, length), variant attributes last (colour, size) needed for matching and for the shopper to know which offer this is, but lower-value words than the product itself). Everything essential lands inside the ~70-character display window; the green size 8 title above is 51 characters to the em-dash and 68 in full.
Category changes the recipe. For apparel, colour and size earn their place. For consumables, pack size and count matter more ("Grind House Colombian Ground Coffee, 227g: Pack of 2"). For hard goods, the model number is often the highest-value token because that's what buyers search ("Bosch GBH 2-28 F SDS-Plus Rotary Hammer Drill 880W"). A single store-wide title formula gets this wrong; per-category composition gets it right.
And because the layer recomputes from source on every sync, the titles don't rot. Add a colourway, and its variants get correct titles immediately. Rename the product for a rebrand, and every feed title follows. Retire "midi" from the description and the composed titles adjust. Compare that with 4,000 hand-written overrides, each one a small promise to maintain forever. The full composition rules (including how the layer avoids promotional text, all-caps and other title policies that trigger disapprovals) are in product titles.
How /tools handles this
/tools composes feed titles in its supplemental layer from your Shopify title, vendor, category, option values and description (brand and product type front-loaded, variant attributes included, essentials inside the ~70 characters Google displays) and recomputes them on every sync so they track your catalogue without maintenance. Your Shopify titles are read, never written: your PDP headlines, SEO title tags and storefront stay entirely yours, which is the whole point. Title quality and attribute coverage feed into your Feed Health Score, and where the source data is too thin to compose a strong title (no vendor, unnamed options), the score tells you which source fields to improve rather than asking you to write titles by hand.
Frequently asked questions
Should my Shopify title be optimised for SEO or for Google Shopping?
For your product page and organic search, that's the job only the Shopify title can do. The Shopping feed title can come from a separate feed-side layer, so optimising your store title for the feed sacrifices your PDP for a problem that has a better solution.
What's the difference between a good SEO title and a good feed title?
An SEO title is a readable headline ("The Rio Midi Dress") that earns clicks on a results page and keeps the PDP scannable. A feed title front-loads searchable attributes, brand, product type, colour, size, into the first ~70 characters, because Shopping matches queries against title text, not against your page.
Does Shopify's search engine listing title affect my Shopping feed?
No. The "search engine listing" title (the SEO title tag) only changes what organic results display, the feed reads the product title itself. Editing one never fixes the other, which catches a lot of merchants out.
Do variant details like colour and size belong in my Shopify title?
Not for the storefront, the variant picker handles them on the page. But each feed offer is a single variant and its title must say which one, so colour and size belong in the feed title. That's exactly the kind of difference a feed layer resolves per variant.