Skip to content
FeedShine

structured_title vs title in Google Merchant Center

Google has a separate field for product titles written by generative AI. If a generative AI wrote your product titles, they belong in that field, the structured title attribute, with a digital source type of trained_algorithmic_media rather than in the plain title attribute. Sending both attributes throws the declaration away, which is the rule we had to design around when we added the field to FeedShine.

This page covers what the attribute is, that rule, whether the swap changes performance, and what a declared title looks like in XML, in a spreadsheet and over the Merchant API.

Google Ads tips for Shopify stores

Grow sales without burning margin. One email at a time, unsubscribe whenever you want.

By subscribing you agree to receive emails from Digital Darts, the creators of FeedShine.

What is the structured title attribute?

Structured title is a Google product data attribute that carries the product title together with a record of how the title was written. Google's specification names it structured_title and gives it two sub-attributes.

  • digital_source_type takes one of two values. default means a person wrote the title. trained_algorithmic_media means a generative AI wrote it.
  • content holds the title text itself, 1 to 150 characters, the same limit the plain title attribute carries.

A matching structured_description attribute takes the same two sub-attributes, and Google's AI-generated content policy states that all descriptions created using generative AI must be provided through it. Product images have their own mechanism, an IPTC DigitalSourceType tag written into the image file rather than into the feed.

Google is the only shopping channel this app builds feeds for that accepts the attribute, so a structured title belongs in a Google feed and nowhere else. Sending it as a column to Meta or Microsoft produces a field they have no rule for.

Why does Google want AI titles declared?

The attribute exists so that Merchant Center knows which listing text came out of a generative model rather than out of a person.

Google borrowed the value rather than inventing it. trained_algorithmic_media comes from the IPTC Digital Source Type vocabulary, the same controlled list used to label AI-generated photographs, whose own human-readable name for the term is "Created using Generative AI". Google had already asked merchants to write that tag into AI-generated product images in February 2024, and the title and description attributes arrived in the April 2024 product data specification update, extending the same labeling to text.

Google's two pages describe the source type differently. In the attribute reference, digital_source_type is optional and an omitted value is treated as default. In the AI-generated content policy, supplying it is the whole purpose of using the attribute. An unset source type is therefore a positive claim that a person wrote the title.

What happens if you send both title and structured_title?

Google uses title and ignores the structured one. The specification says so directly. In Google's words, "if you provide both the structured title [structured_title] and title [title] attributes, we'll only use the title [title] attribute".

Adopting a new attribute usually means adding it and keeping the old one as a fallback, which is what makes this pair a trap. Every feed validator passes and Merchant Center shows approved products with correct titles, while the declaration does nothing.

<!-- Both fields present. Google reads <title> and drops the rest. -->
<title>Merino Wool Crew Neck Sweater Navy M</title>
<g:structured_title>
  <g:digital_source_type>trained_algorithmic_media</g:digital_source_type>
  <g:content>Merino Wool Crew Neck Sweater Navy M</g:content>
</g:structured_title>

So adopting the attribute is a swap, and the consequence lands on the shape of the file rather than on a few values inside it. A spreadsheet feed has one column set for every row. Replacing title with structured_title changes the header of the file, which means a catalog cannot be half declared inside one feed. If some of your titles are AI written and some are not, that is two feeds, or one feed with the declaration switched off until the rest catch up.

Warning

A feed sending both fields looks healthy in every report Merchant Center produces. Nothing flags it, because nothing is wrong. Google is using the attribute it said it would use.

Does it hurt or help performance?

No measured difference has been published either way. The feed management company VersaFeed tested both fields across 9,000 products and reported the same impressions, the same clicks and the same cost per click whichever attribute carried the title.

Google publishes no ranking boost for declaring an AI title and no penalty for leaving one undeclared. The AI-generated content page lists what to do and stops there.

That makes this a compliance job rather than an optimization, and the case for doing it rests on the shape of the two risks. Declaring costs nothing that anyone has been able to measure. Leaving an AI title undeclared puts your feed at odds with a documented policy, on a platform that decides on its own what to do about that and gives no notice when it changes its mind.

Are your titles actually AI written?

A title counts as AI written when a generative model produced the words, not when a rule assembled them from fields you already had.

  • Titles an AI assistant rewrote for you, in a feed tool or anywhere else, are AI written.
  • Titles generated in a chat tool and pasted into Shopping product data are AI written.
  • A template that joins brand, product name, color and size is not. No model produced the words.
  • A find and replace, a spelling correction or a capitalization fix is not.

Nothing in a feed can detect the difference, and Google does not try. The attribute is a declaration, which puts the judgement on the merchant, and the policy covers the words a model wrote rather than the tool that saved them.

The awkward case is a catalog that grew in layers, where last year's titles were written by hand and this quarter's bulk rewrite came out of a model. One feed cannot say both things. Splitting the catalog by how its titles were written is the only accurate answer, and for most stores the simpler one is to finish the rewrite so that the whole feed can make the same claim.

What each feed format looks like

The same title travels as one value in three different shapes. It becomes nested elements in XML, a single packed cell in a spreadsheet, and a nested object over the Merchant API.

In XML the sub-attributes are child elements of g:structured_title, and the plain title element is absent.

<item>
  <g:id>shopify_AU_812345_43210</g:id>
  <g:structured_title>
    <g:digital_source_type>trained_algorithmic_media</g:digital_source_type>
    <g:content>Merino Wool Crew Neck Sweater Navy M</g:content>
  </g:structured_title>
  <description>Fine gauge merino wool, ribbed cuffs.</description>
  <link>https://example.com/products/merino-crew</link>
</item>

In a TSV or CSV feed the two sub-attributes share one cell, separated by a colon. Google requires the content to be wrapped in double quotes when the title itself contains a colon, which is exactly the case a generated title full of punctuation runs into.

id	structured_title
shopify_AU_812345_43210	trained_algorithmic_media:Merino Wool Crew Neck Sweater Navy M
shopify_AU_812346_43211	trained_algorithmic_media:"Stride and Conquer: Trail Running Shoes Black 8"

Over the Merchant API the value is a nested object under the product attributes, using camel case field names as that API does throughout.

{
  "offerId": "shopify_AU_812345_43210",
  "contentLanguage": "en",
  "feedLabel": "AU",
  "productAttributes": {
    "structuredTitle": {
      "digitalSourceType": "trained_algorithmic_media",
      "content": "Merino Wool Crew Neck Sweater Navy M"
    }
  }
}

All three carry the identical string. Whatever builds your feed should hold the title once and present it three ways, because a tool that stores the packed spreadsheet form and takes it apart again for XML will break on the first title containing a colon.

If FeedShine builds your feed, this is one checkbox on the feed editor and every format follows. The steps are in Send AI written titles to Google, the rules behind the title itself are in the title attribute reference, and customizing feed attributes covers where titles come from in the first place. For everything Google accepts in a Shopping feed, see Google Shopping feeds.

Structured title FAQ

Is structured_title required?

Not for every product. Google's AI-generated content policy asks for it when a generative AI wrote the title. A title a person wrote belongs in the plain title attribute.

Does Google penalize AI written product titles?

Google publishes no penalty for an AI written title and no ranking boost for declaring one. What Google's AI-generated content policy asks is that a title written by generative AI travels in the structured title attribute instead of the plain title attribute. Declaring is a compliance step rather than a performance lever.

Will my products be disapproved if I don't use structured_title?

Google has published no disapproval reason for an undeclared AI title, and Merchant Center flags nothing when one is missing. The feed vendor FeedArmy warns that incorrectly submitted AI content may bring warnings or disapprovals. Treat that as a forecast, and treat an undeclared title as a documented policy gap Google can act on without notice.

Does structured_title change how my title appears in Shopping?

No. The content sub-attribute holds the same words the title attribute would have held, with the same 1 to 150 character limit, and shoppers see no difference.

What is trained_algorithmic_media?

It is the value that marks content as generative AI output. The term comes from the IPTC Digital Source Type vocabulary, which labels it as created using generative AI, and Google reuses it for feed text and for images.

Do other shopping channels support structured titles?

Google is the only channel this app builds feeds for that accepts the attribute. Feeds for Meta, Microsoft, Pinterest, TikTok, Snapchat and Criteo send the plain title attribute.

What about AI written descriptions?

Google has a matching structured description attribute with the same two sub-attributes, and its policy asks for AI written descriptions to use it.

Share this article

Set this up in FeedShine

Keep reading