# Shopify product title to 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.

- **Canonical URL:** https://www.feedlab.io/knowledge/mappings/shopify-product-title-to-title
- **Last reviewed:** 18 September 2026
- **Source:** feedlab knowledge base
- **Licence:** free to quote and cite with attribution to feedlab


## The Shopify side

| Property | Value |
| --- | --- |
| API field | `product.title` |
| Called | Title |
| Found at | Product → Title |
| Feeds | `title` |


## Before and after

| 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

1. **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.
2. **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.
3. **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.
4. **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.
5. **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.




## Primary sources

- [Google: title attribute specification](https://support.google.com/merchants/answer/6324415)
- [Shopify: Product API reference](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product)



