Shopify field mapping
Shopify product title to title
product.title
title
The Shopify product title names the product, while the feed title has to name the specific variant, because each row is its own item. The mapping composes a title from the product name plus the attributes that distinguish the row, within the channel's character limit.
The Shopify side
- API field
- product.title
- Called
- Title
- Found at
- Product → Title
- Feeds
- title
Before and after
Real values on the left as Shopify stores them, on the right as a channel needs them.
| In Shopify | In the feed | Note |
|---|---|---|
| "Oxford Shirt", Black, M, vendor Northbound | Northbound Oxford Shirt, Black, Medium | Brand first, then product, then the distinguishing options. |
| "Northbound Oxford Shirt", Black, M | Northbound Oxford Shirt, Black, Medium | Brand already present, so not prepended again. |
| "Gift Card", Default Title | Northbound Gift Card | Placeholder option value skipped rather than appended. |
| "Shirt ** SALE **" | Northbound Shirt | Promotional text removed; it is against title policy on most channels. |
| a 210-character title | truncated at the last whole word before the limit | Cut on a word boundary, with the identifying part kept at the front. |
The transformation, step by step
-
Start from the product title, not the SEO title
The SEO title is written for a search engine result and is often truncated or keyword-stuffed. The product title is what the product is called, which is what the attribute asks for.
-
Append the distinguishing variant options
Two rows called "Oxford Shirt" are indistinguishable in a shopping result. Adding colour and size makes each row identifiable, which matters both for the shopper and for matching.
-
Prepend the brand where it is not already there
Shoppers search by brand, and a title that already begins with it should not repeat it. Checking before prepending avoids "Northbound Northbound Oxford Shirt", which is the standard result of an unconditional rule.
-
Strip Default Title and empty option values
A single-variant product has the option value "Default Title", and appending it verbatim is visible to every shopper. Skip placeholder values rather than filtering them out afterwards.
-
Truncate on a word boundary within the channel limit
Most channels cap the title at 150 characters and display far less. Put the identifying information first, then truncate on a word boundary, so what survives is the part that matters.
What goes wrong
Promotional text in titles is a policy breach
Merchants add "SALE", "FREE SHIPPING" and asterisks to titles because it works on their own storefront. In a feed it breaches title policy, and it is the kind of value that arrives through a bulk edit and affects hundreds of products at once.
Identical titles across variants
Sending the product title unchanged on every variant row produces a shopping result where six rows look like one repeated product. Nothing is reported, and the effect is that shoppers cannot tell which row is the one they want.
Doubled brand names
An unconditional rule that prepends the brand duplicates it on every product whose title already includes it, which in most catalogues is a large fraction of them. Checking first costs nothing.
Keyword stuffing backfires
Packing a title with search terms looks like optimisation and reads as spam to both shoppers and channels. A clear, specific title of brand, product and distinguishing options consistently outperforms a longer one.
How feedlab maps it
feedlab composes the title from brand, product title and the distinguishing variant options, skipping the brand when it is already present and ignoring placeholder option values, then truncates on a word boundary to each channel's limit. Promotional patterns can be stripped by rule rather than corrected product by product.
Frequently asked questions
Should the feed title include the variant options?
Yes. Each row is its own item, so the title has to identify that item. Six rows sharing one product title are indistinguishable in a shopping result.
Should I use the Shopify SEO title for the feed?
No. The SEO title is written for a search result, often truncated or keyword-heavy. The product title, extended with the variant options, is the right source.
Can I put "Sale" or "Free shipping" in a feed title?
No. Promotional text in the title breaches policy on every major channel, even though it may work well on your own storefront.
How long can a product feed title be?
Most channels cap it at 150 characters and display considerably less, so put the identifying information first and truncate on a word boundary.
Attributes involved
- title The title attribute is the product name a channel shows in a listing and matches against search queries, which makes it the single highest-leverage field in a product feed. On Shopify it usually needs building from the product title plus the variant's options, because the raw product title alone does not describe an individual variant.
- brand The brand attribute is the name of the brand a product belongs to, and it is what makes a manufacturer part number meaningful and a listing eligible for brand-based matching. On Shopify it maps most often from the vendor field, which is unreliable because merchants commonly use vendor to record a supplier or distributor rather than the consumer-facing brand.
- description The description attribute is the prose a channel uses to understand and display what a product is. On Shopify it maps from body_html, which is rich text, so it needs its HTML stripped and its entities decoded before it can be submitted.
Related concepts
Primary sources
Channel specifications change. These are the official documents this page is based on.