NovoProduct Score, 4T Segmentation, Price War e Broken Size já estão disponíveis.Veja as novidades
Feedance
E-commerce

O guia completo de feeds de variantes de produtos

Como estruturar variantes no feed de produtos: item_group_id, cor, tamanho, exemplos em XML, CSV e JSON, regras por canal e os 12 erros de variantes mais comuns

Cagdas PolatCagdas Polat
30 min de leitura
O guia completo de feeds de variantes de produtos

A maioria dos problemas de feed não parece problema de feed. Parece uma reprovação no Google Merchant Center que você não consegue explicar, uma campanha Advantage+ que gasta todo o orçamento em uma única camiseta preta ou um anúncio do Shopping que leva um cliente que procura um sapato tamanho 42 a uma página em que só sobrou o tamanho 38.

Por trás de quase todos esses casos está a mesma coisa: variantes.

Uma variante é qualquer versão de um produto que se diferencia de uma forma visível e comprável — tamanho, cor, material, capacidade, acabamento. Elas são comuns no varejo e excepcionalmente difíceis nos feeds, porque cada canal as modela de um jeito e porque errar nelas falha em silêncio. Nada quebra. Seus anúncios simplesmente performam abaixo do esperado, sem alarde, e o diagnóstico está quatro camadas abaixo, em um arquivo de dados que ninguém abre.

Este guia cobre o assunto por inteiro: o que realmente conta como variante, como o item_group_id funciona e onde as pessoas o usam errado, cada atributo que define variantes com seus limites reais, exemplos de feed funcionais em XML, CSV e JSON, como Google, Meta, TikTok, Pinterest, Amazon e marketplaces regionais esperam que as variantes sejam estruturadas e uma tabela de diagnóstico para os erros que aparecem com mais frequência.

Ele é longo porque o tema é longo. Use o sumário para navegar.

1. O que uma variante realmente é

Uma variante é uma versão comprável de um produto que se diferencia das versões irmãs em pelo menos um atributo entre os quais o cliente escolheria, continuando a ser o mesmo produto.

Essa última parte faz muita diferença. Uma camiseta azul tamanho M e uma camiseta preta tamanho G são o mesmo produto. Uma camiseta azul e um moletom azul não são, mesmo que sejam da mesma marca e do mesmo tecido.

O modelo padrão na maioria dos canais é o de pai/filho:

  • O pai é o produto conceitual — "Suéter de Merino Gola Careca". Normalmente ele não é comprável sozinho.
  • Os filhos são as variantes — cada uma com seu próprio SKU, seu próprio nível de estoque e, às vezes, seu próprio preço e sua própria imagem.

Em um feed de produtos, isso quase sempre é expresso de forma plana: cada variante é sua própria linha ou <item>, e uma chave de agrupamento compartilhada as une. Não há aninhamento. Um suéter em 4 cores e 5 tamanhos são 20 linhas, todas com o mesmo ID de grupo.

O que não é uma variante

É aqui que os feeds dão errado antes mesmo de uma única linha de XML ser escrita.

Não é variantePor quêO que usar no lugar
Multipacks — um pacote com 6 vs. uma unidadeQuantidade diferente da mesma unidade, não um atributo escolhidoatributo multipack (Google)
Kits — câmera + lente + bolsaUm conjunto vendável distintoatributo is_bundle; produto separado
Produtos relacionados — blusa e saia que combinamProdutos diferentes que combinam bemItens separados; use recomendações
Recondicionado vs. novoCondição, não variaçãoatributo condition
Anúncios de varejistas diferentesMesmo produto, vendedor diferenteContas/feeds separados
Personalização — nome gravadoFeito sob encomenda, não uma opção em estoqueGeralmente um único item; mencione na descrição

Agrupar qualquer um desses itens sob um item_group_id compartilhado produz um grupo cujos membros não são intercambiáveis — o que confunde o seletor de variantes na página de destino e, em alguns canais, gera uma reprovação por divergência.

2. A decisão que determina todo o resto

Antes de escrever qualquer lógica de feed, responda a uma pergunta para cada tipo de produto que você vende:

Quando o cliente escolhe outra opção, ele vai para uma página diferente — ou para a mesma página em outro estado?

Esse é o teste prático, e ele corresponde diretamente à forma como você deve estruturar o feed.

Caso A — URLs separadas por variante. Cada cor tem sua própria página de produto (/merino-sweater-navy, /merino-sweater-charcoal). Envie cada variante como uma linha própria, com seu próprio link. Essa é a configuração mais limpa, oferece a melhor relevância de anúncio e é a que os canais preferem.

Caso B — uma URL, variante selecionada na página. Tudo fica em /merino-sweater e o cliente escolhe cor e tamanho em um seletor. Você ainda pode enviar todas as variantes, mas deve acrescentar um parâmetro de deep link para que o anúncio leve ao estado pré-selecionado correto:

 

https://example.com/merino-sweater?colour=navy&size=m

Sem esse parâmetro, um comprador que clicou em um anúncio de um suéter azul-marinho tamanho M chega a um estado padrão que mostra o cinza-chumbo tamanho P. Essa divergência é um dos maiores destruidores silenciosos de conversão na publicidade de variantes e, no Google, também pode gerar uma reprovação por "Mismatched value (page crawl)", porque o rastreador vê uma página cuja cor visível não corresponde ao color enviado.

Caso C — variantes que não vale a pena separar. Algumas variações não influenciam a decisão de compra o suficiente para justificar anúncios separados — o comprimento do cabo de um carregador, por exemplo. Nesse caso, você pode enviar deliberadamente uma única variante representativa. A seção 7 explica quando essa é a escolha certa.

Atributos que definem variantes vs. atributos descritivos

Cada atributo do seu feed se encaixa em uma de duas categorias, e confundi-las é uma causa frequente de grupos malformados.

Os atributos que definem variantes devem diferir entre os membros do grupo. São as coisas que o cliente escolhe: color, size, material, pattern, além de dimensões específicas do produto, como capacidade ou acabamento.

Os atributos constantes no grupo devem ser idênticos em todos os membros: brand, gender, age_group, item_group_title, google_product_category. Se duas linhas compartilham um item_group_id, mas têm valores de gender diferentes, você agrupou ou marcou os produtos de forma errada.

Os atributos específicos de cada linha, mas que não definem variantes variam por linha sem definir a variação: id, price, availability, gtin, image_link, link. Duas variantes podem legitimamente ter preços diferentes — um tamanho 3XL costuma custar mais — sem que o preço seja o que as distingue.

3. item_group_id: a base

O item_group_id é a chave compartilhada que diz a um canal "estas linhas são o mesmo produto". Todo o resto do tratamento de variantes depende de ele estar correto.

A especificação

PropriedadeGoogleMetaTikTok
Nome do campoitem_group_iditem_group_iditem_group_id
Tamanho máximo50 caracteres100 caracteres150 caracteres
Caracteres permitidosUnicode; ASCII recomendado — alfanuméricos, sublinhados, hifensStringString
Diferencia maiúsculas e minúsculasNão diferencia (ABC123 = abc123)DiferenciaDiferencia
Obrigatório?Obrigatório para listagens gratuitas e para anúncios do Shopping no Brasil, na França, na Alemanha, no Japão, no Reino Unido e nos EUA — quando há envio de variantesNecessário para agrupar variantesNecessário para agrupar variantes
Campo repetidoNão — um valor por itemNãoNão

Como o Google trata o valor sem diferenciar maiúsculas e minúsculas, mas a Meta e o TikTok diferenciam, padronize em minúsculas (ou maiúsculas) em todos os lugares. Um catálogo em que aparecem tanto SWTR-001 quanto swtr-001 será agrupado corretamente no Google e dividido em dois produtos na Meta.

Escolhendo o valor

O melhor item_group_id é o SKU pai que você já tem no seu ERP ou PIM. Ele existe, é estável e é único.

Bons:

 

SWTR-MERINO-CREW
12345
parent-8891

Ruins, e por quê:

ValorProblema
Merino Crew Neck SweaterEspaços e maiúsculas e minúsculas misturadas; ultrapassa os limites quando os títulos são longos; muda quando o marketing renomeia o produto
sweaterNão é único — junta toda a sua linha de suéteres em um único grupo
SWTR-MERINO-CREW-NAVY-MInclui as dimensões da variante, então cada linha recebe um valor único e nada é agrupado
Um número de linha ou hash gerado novamente a cada exportaçãoMuda entre as exportações; os canais perdem a continuidade do grupo e reaprendem do zero

Esse último merece destaque. O item_group_id precisa ser estável ao longo do tempo. Os canais acumulam histórico de desempenho associado ao grupo. Se a sua exportação gera os IDs novamente, você zera esse histórico a cada sincronização, e nenhuma otimização de lances vai compensar isso.

As três regras

  1. Todos os membros de um grupo compartilham o mesmo item_group_id.
  2. Cada membro tem um id único. Um id duplicado em qualquer parte do feed faz com que a linha posterior seja descartada silenciosamente.
  3. Cada membro se diferencia em pelo menos um atributo que define variantes. Duas linhas com o mesmo ID de grupo e a mesma cor e o mesmo tamanho são duplicatas, não variantes.

Uma convenção que atende às três:

 

item_group_id: SWTR-MERINO-CREW
id:            SWTR-MERINO-CREW-NAV-M
id:            SWTR-MERINO-CREW-NAV-L
id:            SWTR-MERINO-CREW-CHR-M

Legível, fácil de depurar e derivada de dados que você já tem.

item_group_title

Um atributo mais recente do Google, opcional, mas recomendado sempre que você enviar item_group_id. Ele traz o nome do produto pai — no máximo 150 caracteres — e deve ser idêntico em todas as variantes do grupo.

 

xml

<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>

Observe o padrão: o title é específico da variante; o item_group_title, não. Enviar a mesma string nos dois desperdiça o sinal.

variant_option

Também mais recente do lado do Google: uma forma estruturada de declarar quais propriedades definem a variação, em vez de deixar que o canal as deduza. Ele aceita até 30 pares de nome/valor (cada subatributo com até 250 caracteres, 5.000 caracteres no total).

 

xml

<g:variant_option>
  <g:name>Colour</g:name>
  <g:value>Navy</g:value>
</g:variant_option>
<g:variant_option>
  <g:name>Size</g:name>
  <g:value>M</g:value>
</g:variant_option>

Isso é especialmente útil para produtos cujos eixos de variação não são cobertos pelos atributos padrão de vestuário — capacidade de armazenamento, nível de processador, potência, número de lugares. Em vez de forçar "256GB" no campo size, você o declara corretamente.

4. Atributos que definem variantes, em detalhe

color

O atributo com mais regras na especificação e o que mais é rejeitado.

PropriedadeValor
Tamanho máximo (Google)100 caracteres no total, 40 por cor individual
Tamanho máximo (Meta / TikTok)200 caracteres
Várias coresSepare com /, com a cor principal primeiro
ObrigatórioPara vestuário nos países listados acima; para todas as listagens gratuitas de Apparel & Accessories

Não são aceitos:

  • Números — Colour 42, RAL 5013
  • Códigos hexadecimais — #001F5B
  • Letras isoladas — N para navy
  • Referências a uma imagem — see photo
  • Palavras alfanuméricas ou unidas — Navy1, NavyBlue (escreva Navy Blue)

Como lidar com nomes de cores de marketing. As marcas de moda raramente chamam uma cor de "azul-marinho". Elas a chamam de "Midnight Regatta". O canal precisa de uma cor que um comprador pesquisaria; sua marca precisa do próprio nome na página.

O meio-termo viável:

 

color:       Navy
description: ...available in Midnight Regatta (navy)...

Mapeie no feed os nomes de marketing para nomes padrão e mantenha o nome da marca visível na página de destino e na descrição. Não coloque o nome de marketing em color torcendo para dar certo — isso prejudica a correspondência com buscas que incluem cor, que estão entre as de maior intenção de compra em moda.

Produtos com várias cores:

 

color: Navy/White/Grey

A principal primeiro. O Google lê o primeiro valor como a cor predominante.

size

PropriedadeValor
Tamanho máximo (Google)100 caracteres
Tamanho máximo (Meta / TikTok)200 caracteres
ObrigatórioPara roupas e calçados nos países listados; para listagens gratuitas
Produtos de tamanho únicoone_size, OS ou OSFA

A regra que importa: seja específico o suficiente para não haver ambiguidade e consistente em todo o catálogo. M funciona se todos os produtos usarem M. Um feed que mistura M, Medium, med e M/L para o mesmo conceito fragmenta seus grupos de variantes e torna impossível a segmentação por tamanho.

Para produtos em que uma única dimensão não é suficiente, inclua as dimensões que os diferenciam no valor:

 

size: 32/34          (waist/inseam)
size: 15.5/34        (neck/sleeve)
size: 9.5 Wide       (shoe width)
size: 200x140cm      (rugs, bedding)

size_type e size_system

Opcionais, apenas para vestuário e pouco utilizados — ambos melhoram significativamente a correspondência para compradores que pesquisam usando esses qualificadores.

size_type — até 2 valores entre: regular, petite, maternity, big, tall, plus.

size_system — um destes: US, UK, EU, DE, FR, JP, CN, IT, BR, MEX, AU. Se for omitido, o canal presume o sistema do país de destino, o que é a origem de uma falha específica e cara: um varejista turco que vende para a Alemanha com tamanhos EU, mas sem declarar size_system, pode ter seus tamanhos interpretados na escala errada.

 

xml

<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>

material

No máximo 200 caracteres no Google. O material principal primeiro e, depois, até dois materiais secundários separados por /.

 

material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/Elastane

Obrigatório apenas se diferenciar suas variantes — uma bolsa vendida em couro e em lona. Caso contrário, é opcional, mas vale a pena enviar; o material é um qualificador de busca comum.

pattern

No máximo 100 caracteres. Texto livre que descreve a estampa ou o grafismo: Striped, Polka Dot, Paisley, Floral, Herringbone. A mesma regra — obrigatório se for o que varia.

age_group e gender

Ambos são constantes no grupo. Todas as variantes de um grupo devem ter o mesmo valor.

age_group: newborn, infant, toddler, kids, adult — um valor por produto.

gender: male, female, unisex.

Se uma peça é realmente oferecida em modelagens masculina e feminina, são dois grupos de itens separados, e não um único grupo com gêneros misturados. As modelagens são diferentes, os tamanhos são diferentes, e o comprador está escolhendo entre produtos, e não entre opções.

Tabela de referência

AtributoLimite no GoogleDeve diferirDeve ser igual em todo o grupo
item_group_id50 caracteres—✅
item_group_title150 caracteres—✅
id50 caracteres✅ (sempre único)—
title150 caracteresRecomendado—
color100 caracteres (40 por cor)Se for eixo de variação—
size100 caracteresSe for eixo de variação—
size_type2 valoresOpcional—
size_systemEnum—Geralmente ✅
material200 caracteresSe for eixo de variação—
pattern100 caracteresSe for eixo de variação—
genderEnum—✅
age_groupEnum—✅
brand70 caracteres—✅
google_product_category——✅
price—Pode diferir—
availabilityEnumPode diferir—

5. Exemplos reais de feed

XML (Google RSS 2.0)

Duas variantes de um grupo de seis. Observe o que muda e o que não muda.

 

xml

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
  <channel>
    <title>Example Store — Product Feed</title>
    <link>https://example.com</link>

    <item>
      <g:id>SWTR-MERINO-CREW-NAV-M</g:id>
      <g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
      <g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
      <title>Merino Crew Neck Sweater — Navy, Medium</title>
      <description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
      <link>https://example.com/merino-crew-sweater?colour=navy&amp;size=m</link>
      <g:image_link>https://cdn.example.com/swtr-merino-navy-1.jpg</g:image_link>
      <g:additional_image_link>https://cdn.example.com/swtr-merino-navy-2.jpg</g:additional_image_link>
      <g:availability>in_stock</g:availability>
      <g:price>89.00 EUR</g:price>
      <g:brand>Example</g:brand>
      <g:gtin>5012345678900</g:gtin>
      <g:mpn>SW-MC-NAV-M</g:mpn>
      <g:condition>new</g:condition>
      <g:google_product_category>1604</g:google_product_category>
      <g:color>Navy</g:color>
      <g:size>M</g:size>
      <g:size_system>EU</g:size_system>
      <g:size_type>regular</g:size_type>
      <g:material>Merino Wool</g:material>
      <g:gender>male</g:gender>
      <g:age_group>adult</g:age_group>
      <g:custom_label_0>core</g:custom_label_0>
      <g:custom_label_1>full-size-run</g:custom_label_1>
    </item>

    <item>
      <g:id>SWTR-MERINO-CREW-CHR-L</g:id>
      <g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
      <g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
      <title>Merino Crew Neck Sweater — Charcoal, Large</title>
      <description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
      <link>https://example.com/merino-crew-sweater?colour=charcoal&amp;size=l</link>
      <g:image_link>https://cdn.example.com/swtr-merino-charcoal-1.jpg</g:image_link>
      <g:availability>out_of_stock</g:availability>
      <g:price>89.00 EUR</g:price>
      <g:brand>Example</g:brand>
      <g:gtin>5012345678931</g:gtin>
      <g:mpn>SW-MC-CHR-L</g:mpn>
      <g:condition>new</g:condition>
      <g:google_product_category>1604</g:google_product_category>
      <g:color>Charcoal</g:color>
      <g:size>L</g:size>
      <g:size_system>EU</g:size_system>
      <g:size_type>regular</g:size_type>
      <g:material>Merino Wool</g:material>
      <g:gender>male</g:gender>
      <g:age_group>adult</g:age_group>
      <g:custom_label_0>core</g:custom_label_0>
      <g:custom_label_1>broken-size</g:custom_label_1>
    </item>

  </channel>
</rss>

Quatro pontos que vale a pena destacar:

  1. item_group_id e item_group_title são idênticos; id e title, não.
  2. O link traz parâmetros de deep link para que o anúncio leve ao estado pré-selecionado correto. O & é escapado como &amp; — obrigatório em XML e uma fonte frequente de falhas de leitura.
  3. O image_link é específico da variante. As duas linhas azul-marinho apontam para a fotografia azul-marinho. Enviar uma única imagem principal para todas as cores é o segundo erro de variantes mais comum, depois da ausência de IDs de grupo.
  4. A linha fora de estoque é marcada via custom_label_1, para que possa ser excluída ou receber lances menores sem ser removida do feed.

CSV / TSV

Os mesmos dados, em formato plano. Linha de cabeçalho mais duas variantes:

 

csv

id,item_group_id,item_group_title,title,description,link,image_link,availability,price,brand,gtin,condition,google_product_category,color,size,size_system,material,gender,age_group,custom_label_0
SWTR-MERINO-CREW-NAV-M,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Navy, Medium","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=navy&size=m,https://cdn.example.com/swtr-merino-navy-1.jpg,in_stock,89.00 EUR,Example,5012345678900,new,1604,Navy,M,EU,Merino Wool,male,adult,core
SWTR-MERINO-CREW-CHR-L,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Charcoal, Large","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=charcoal&size=l,https://cdn.example.com/swtr-merino-charcoal-1.jpg,out_of_stock,89.00 EUR,Example,5012345678931,new,1604,Charcoal,L,EU,Merino Wool,male,adult,core

O CSV é onde acontece a maior parte das quebras no mundo real, porque vírgulas dentro de títulos e descrições precisam estar entre aspas, e aspas dentro de campos entre aspas precisam ser escapadas. Se seus títulos contêm vírgulas — e títulos de produtos com cor e tamanho quase sempre contêm —, use TSV. Tabulações praticamente nunca aparecem em dados de produtos, e toda uma classe de bugs de leitura desaparece.

JSON

Para importação via API:

 

json

{
  "products": [
    {
      "id": "SWTR-MERINO-CREW-NAV-M",
      "item_group_id": "SWTR-MERINO-CREW",
      "item_group_title": "Merino Crew Neck Sweater",
      "title": "Merino Crew Neck Sweater — Navy, Medium",
      "link": "https://example.com/merino-crew-sweater?colour=navy&size=m",
      "image_link": "https://cdn.example.com/swtr-merino-navy-1.jpg",
      "availability": "in_stock",
      "price": { "value": "89.00", "currency": "EUR" },
      "brand": "Example",
      "gtin": "5012345678900",
      "condition": "new",
      "google_product_category": "1604",
      "variant_attributes": {
        "color": "Navy",
        "size": "M",
        "size_system": "EU",
        "material": "Merino Wool"
      },
      "gender": "male",
      "age_group": "adult"
    }
  ]
}

Uma grade de tamanhos completa

Seis variantes — duas cores × três tamanhos — com o padrão de IDs visível:

iditem_group_idcolorsizeavailability
SWTR-MC-NAV-SSWTR-MERINO-CREWNavySin_stock
SWTR-MC-NAV-MSWTR-MERINO-CREWNavyMin_stock
SWTR-MC-NAV-LSWTR-MERINO-CREWNavyLin_stock
SWTR-MC-CHR-SSWTR-MERINO-CREWCharcoalSout_of_stock
SWTR-MC-CHR-MSWTR-MERINO-CREWCharcoalMin_stock
SWTR-MC-CHR-LSWTR-MERINO-CREWCharcoalLout_of_stock

A cor Charcoal tem um tamanho disponível de três. A seção 9 explica o que fazer nesse caso.

6. Canal por canal

O conceito é universal. A implementação, não. Veja como cada um dos principais destinos espera receber as variantes e onde cada um é diferente.

Google Shopping / Merchant Center

O mais prescritivo e a implementação de referência que a maioria dos outros canais toma como base.

  • O item_group_id é obrigatório para listagens gratuitas e para anúncios do Shopping no Brasil, na França, na Alemanha, no Japão, no Reino Unido e nos EUA sempre que houver envio de variantes.
  • Os atributos que definem variantes precisam estar preenchidos: color e size são obrigatórios para vestuário nesses mercados.
  • gender e age_group são obrigatórios para vestuário e precisam ser consistentes em todo o grupo.
  • A página de destino precisa corresponder visivelmente aos valores de variante enviados, ou você corre o risco de uma reprovação por Mismatched value (page crawl).
  • Cada variante compete de forma independente no leilão. O Google escolhe qual membro de um grupo exibir para uma determinada busca, então um grupo incompleto significa um conjunto de candidatos mais fraco.
  • O image_link precisa ter pelo menos 500×500 pixels para vestuário — um mínimo que passa a ser aplicado a partir de 31 de janeiro de 2027 e que vale a pena auditar agora, em vez de às pressas.

Observação prática: o Merchant Center gera relatórios no nível da variante (id), e não do grupo. Para avaliar um produto corretamente, você mesmo precisa agregar os dados por item_group_id — o que é muito mais fácil se o ID de grupo for limpo e estável.

Meta (Facebook e Instagram)

A Meta usa o mesmo nome de campo, com restrições diferentes e um modelo de exibição significativamente diferente.

  • O item_group_id permite até 100 caracteres e diferencia maiúsculas e minúsculas.
  • color e size permitem até 200 caracteres.
  • Os valores de disponibilidade usam espaços, não sublinhados: in stock, e não in_stock. Essa única diferença quebra mais feeds da Meta do que qualquer outra, principalmente quando um feed do Google é reutilizado diretamente.
  • No Shops e nas superfícies de detalhe do produto, um conjunto agrupado corretamente é exibido como um único produto com seletor de variantes, em vez de vários anúncios quase idênticos.
  • Os anúncios de catálogo Advantage+ usam o grupo para evitar mostrar a um usuário seis versões do mesmo suéter em um único carrossel — um catálogo sem agrupamento gera anúncios visivelmente repetitivos e impressões desperdiçadas.
  • Os relatórios no nível da variante no Commerce Manager dependem de um agrupamento correto.

Observação prática: não aponte a Meta para o seu feed do Google sem modificações. No mínimo, transforme a disponibilidade e verifique os limites de caracteres. A maioria das plataformas de feed — incluindo a Feedance — trata isso como uma transformação no nível do canal, para que os dados de origem permaneçam intactos.

TikTok

  • O item_group_id permite até 150 caracteres.
  • O sku_id é o identificador único por variante — cada linha de variante precisa de um valor distinto.
  • color e size permitem até 200 caracteres.
  • O title permite até 255 caracteres; a description, até 10.000; o google_product_category é esperado.
  • O TikTok é o canal mais rigoroso em relação a imagens específicas por variante. Os cards de produto exibem um seletor de variantes, e variantes que compartilham uma única imagem genérica têm desempenho mensuravelmente pior. Se você for economizar em alguma etapa do seu fluxo de imagens, não economize aqui.

Pinterest

  • Segue de perto o modelo do Google; o item_group_id agrupa as variantes.
  • O Pinterest exibe as variantes dentro de um único Product Pin com opções selecionáveis.
  • A qualidade das imagens e as proporções verticais importam de forma desproporcional — o Pinterest é uma superfície de descoberta visual, e imagens de variantes que não se distinguem simplesmente não são salvas.

Amazon

A Amazon não usa item_group_id, e presumir o contrário gera muito trabalho desperdiçado.

A Amazon usa um modelo explícito de relacionamento pai/filho:

  • Um ASIN pai é criado como um anúncio não comprável.
  • Cada ASIN filho referencia o pai por meio dos campos parent_sku / parent_child.
  • É preciso declarar um tema de variação — SizeColor, Size, Color, SizeName-ColorName e assim por diante, variando conforme a categoria.
  • O tema precisa ser válido para aquela categoria específica; o mesmo nome de tema não está disponível em todas.

Se você exporta para o Google e para a Amazon a partir de uma única fonte, trate isso como uma transformação de verdade, e não como uma simples renomeação de campo. Sua camada de feed precisa construir o anúncio pai, atribuir o tema e mapear os filhos para ele.

Marketplaces regionais e comparadores de preços

Os canais da Turquia e da região MENA em geral têm convenções próprias, e muitas vezes elas são a diferença entre um catálogo que funciona e um catálogo quebrado nesses mercados.

  • A Trendyol usa seu próprio modelo pai/filho, com um conjunto obrigatório de atributos específicos por categoria. Cor e tamanho são campos estruturados separados, e as listas de atributos obrigatórios variam de acordo com a categoria.
  • A Akakçe e a Cimri são comparadores de preços. Normalmente, esperam uma linha por SKU comprável, e linhas duplicadas quase idênticas tendem a ser filtradas — então enviar uma grade de tamanhos completa sem dados diferenciados pode reduzir a visibilidade, em vez de aumentá-la.
  • A Hepsiburada e a N11 definem, cada uma, suas próprias chaves de agrupamento de variantes e atributos obrigatórios.

Esta é a área em que as ferramentas de feed globais genéricas mais costumam falhar, e em que um atributo mapeado de forma errada remove silenciosamente uma categoria inteira de um marketplace.

Comparação

 GoogleMetaTikTokPinterestAmazon
Chave de agrupamentoitem_group_iditem_group_iditem_group_iditem_group_idASIN pai
Tamanho máximo5010015050n/a
Diferencia maiúsculas e minúsculasNãoSimSimNãon/a
Sintaxe de disponibilidadein_stockin stockin_stockin stockQuantidade
Imagens por varianteRecomendadasRecomendadasEssenciaisEssenciaisObrigatórias
Exige tema explícitoNãoNãoNãoNãoSim
Relatórios no nível da varianteSimSimSimLimitadosSim

7. Separar ou consolidar?

Enviar todas as variantes é a recomendação padrão, mas não é correta em todos os casos. A verdadeira pergunta é se a variação muda o que o comprador quer.

Envie todas as variantes quando…

  • A variação é a decisão de compra. Vestuário, calçados, qualquer coisa em que o tamanho errado significa não vender.
  • O estoque varia significativamente por variante. Anunciar um produto cuja única opção restante é o tamanho 3XL desperdiça investimento.
  • O preço varia por variante. Mostrar €89 quando a opção selecionada custa €119 gera uma divergência de preço e um cliente irritado.
  • A demanda de busca inclui a variante. As pessoas pesquisam "suéter de merino azul-marinho M". Você não consegue aparecer para essa busca sem enviar essa variante.

Consolide em uma variante representativa quando…

  • O catálogo é muito grande e majoritariamente homogêneo. Uma loja de ferragens com 200.000 SKUs, em que 60% são variações triviais de comprimento, ganha pouco com a expansão completa e paga por ela em processamento do feed e em complexidade das campanhas.
  • O canal penaliza quase duplicatas. Vários comparadores de preços filtram linhas repetitivas; uma grade de tamanhos completa pode reduzir a visibilidade.
  • A variação não afeta preço, imagem nem disponibilidade. Se as doze variantes são idênticas em todos os aspectos comercialmente relevantes, doze linhas criam ruído, e não sinal.

Ao consolidar, escolha a variante representativa de forma deliberada: a variante em estoque mais vendida, e não a primeira linha em ordem alfabética. É exatamente aqui que os dados de desempenho mostram seu valor no feed — dados do GA4 ou da plataforma podem selecionar a representante automaticamente, em vez de deixar isso para a ordem de classificação.

Um caminho intermediário

Separe pelo eixo que define a decisão; consolide pelo que não define.

Em calçados, isso geralmente significa uma linha por cor, com os tamanhos consolidados — a cor é o eixo de descoberta, e o tamanho é a verificação de ajuste que acontece na página. Em um produto em que a capacidade define o preço, separe por capacidade e consolide por cor.

8. Os 12 erros de variantes mais comuns

#SintomaCausaSolução
1As variantes aparecem como produtos separados e sem relaçãoitem_group_id ausente ou único por linhaPreencha com o SKU pai; verifique se ele se repete em todo o grupo
2Algumas variantes não aparecem no canalValores de id duplicados — as linhas posteriores são descartadas silenciosamenteGaranta a unicidade na exportação; adicione uma verificação de duplicatas
3Reprovação por "Mismatched value (page crawl)"A página de destino mostra cor/tamanho/preço diferentes dos enviadosAdicione parâmetros de deep link; garanta que a página renderize o estado selecionado no servidor
4Todas as variantes mostram a mesma fotoUma única image_link principal reutilizadaMapeie imagens específicas por variante; use a imagem principal apenas quando não houver imagem da variante
5Cliques em anúncios levam a opções fora de estoqueavailability não sincronizada por varianteAumente a frequência de atualização; exclua out_of_stock das campanhas ativas
6color rejeitadoCódigo hexadecimal, número, letra isolada ou palavras unidasMapeie para nomes de cores simples; separe várias cores com /
7Os filtros de tamanho não funcionam; buscas por tamanho não encontram correspondênciaValores de tamanho inconsistentes no catálogo (M / Medium / med)Normalize com uma tabela de mapeamento aplicada no nível do feed
8O grupo se divide na Meta, mas não no GoogleInconsistência de maiúsculas e minúsculas no item_group_idForce um único padrão de maiúsculas/minúsculas em todo o campo
9A Meta rejeita o feed inteiroUso de in_stock onde a Meta espera in stockTransforme a disponibilidade por canal
10Grupo rejeitado por atributos inconsistentesgender ou age_group diferente dentro do grupoEsses atributos são constantes no grupo; separe as modelagens masculina e feminina em grupos distintos
11O histórico de desempenho é zerado a cada sincronizaçãoitem_group_id gerado novamente a cada exportaçãoDerive-o de um campo de origem estável, nunca da ordem das linhas nem de um hash
12O feed XML não pode ser lido& não escapado em URLs de deep linkEscape como &amp;; valide o XML antes de publicar

Os erros 1, 2, 4 e 11 respondem pela grande maioria do que vemos em auditorias reais. Nenhum deles é difícil; todos são invisíveis até que alguém vá procurar.

9. Tamanhos quebrados e saúde do estoque

Uma grade de tamanhos quebrada é um produto cujo grupo está tecnicamente no ar, mas na prática não vende — um suéter disponível apenas em PP e 3XL, um sapato com dois tamanhos restantes de nove.

Isso importa mais do que parece. Quando um comprador clica em um anúncio de um produto e descobre que seu tamanho não está disponível, você pagou por um clique que não tinha como converter e ainda gastou a boa vontade com a marca. Em escala, produtos com tamanhos quebrados podem consumir uma parte significativa do orçamento e contribuir quase nada para a receita.

Como detectar

Calcule, por item_group_id:

 

size_availability_ratio = in_stock_variants / total_variants

Depois, aja com base em limites. Um ponto de partida viável:

ProporçãoInterpretaçãoAção
> 0.7SaudávelAnuncie normalmente
0.4 – 0.7DiminuindoReduza os lances; acompanhe
0.2 – 0.4QuebradaExclua da prospecção; apenas remarketing
< 0.2Praticamente esgotadoExclua totalmente

Pondere isso pela demanda, e não apenas pela contagem. Perder PP e GG importa muito menos do que perder M e G, que normalmente concentram a maior parte do volume. Uma proporção que trata todos os tamanhos da mesma forma vai reagir pouco à perda dos seus tamanhos principais.

Como agir

A implementação mais limpa marca a condição no feed, em vez de remover o produto:

 

xml

<g:custom_label_1>broken-size</g:custom_label_1>

Marcar, em vez de excluir, preserva o histórico do produto no canal e permite reativá-lo instantaneamente quando o estoque voltar. Remover e adicionar novamente zera o aprendizado.

Dois refinamentos adicionais que vale a pena implementar:

  • Leve a informação de volta ao time de merchandising. Uma lista recorrente de tamanhos quebrados é um sinal de compra, e não apenas um problema de publicidade.
  • Verifique novamente a cada sincronização. O estoque muda; a marcação precisa acompanhar. Uma lista estática de tamanhos quebrados é pior do que nenhuma, porque suprime produtos que já foram repostos.

10. Usando variantes para segmentar campanhas

Quando as variantes estão estruturadas corretamente, os dados se tornam uma camada de segmentação — provavelmente o uso de maior retorno de um feed de variantes limpo.

O Google oferece cinco campos custom_label (0–4). Eles aceitam valores arbitrários e existem apenas para a lógica das suas próprias campanhas. Os dados de variantes são uma entrada ideal.

Um esquema viável

RótuloDimensãoValores de exemplo
custom_label_0Faixa de margemhigh-margin, standard, clearance
custom_label_1Saúde do estoquefull-size-run, thinning, broken-size
custom_label_2Faixa de desempenhobestseller, steady, long-tail
custom_label_3Sazonalidadess26, aw25, core, carryover
custom_label_4Faixa de preçounder-50, 50-100, 100-200, over-200

Com isso implementado, a lógica das campanhas fica simples:

  • Aumente os lances para bestseller + full-size-run + high-margin
  • Exclua broken-size da prospecção
  • Dê a clearance uma campanha própria, com um tROAS agressivo
  • Isole ss26 quando a temporada for lançada

Performance Max e Advantage+

Ambos são altamente automatizados, o que torna a segmentação no nível do feed mais importante, e não menos. Você não controla mais os lances por palavra-chave, então o feed se torna sua principal alavanca para direcionar o investimento.

No Performance Max, os custom labels definem a estrutura de grupos de recursos e grupos de produtos. Dividir um único grupo de recursos genérico em grupos baseados em margem ou na saúde do estoque é uma das poucas alavancas estruturais que restam, e depende inteiramente de os rótulos serem preenchidos com dados reais.

Nos anúncios de catálogo Advantage+, o agrupamento correto evita que o carrossel se encha com seis tons do mesmo suéter — e definições de conjuntos de produtos baseadas em atributos de variantes permitem separar o estoque de prospecção do de remarketing.

Enriquecendo os rótulos com dados de desempenho

Rótulos estáticos se deterioram. Um bestseller atribuído na temporada passada é desinformação nesta temporada.

A implementação mais robusta recalcula os rótulos a partir de dados de desempenho ao vivo — receita do GA4, taxa de conversão, número de visualizações — a cada sincronização do feed. Um produto que para de vender sai de bestseller automaticamente; um que começa a vender entra. Essa é uma parte central do que enriquecimento de feed significa na prática, e é a diferença entre rótulos que direcionam o orçamento e rótulos que apenas descrevem o último trimestre.

11. Medindo o desempenho das variantes

Os dados no nível da variante são onde a maioria dos relatórios desmorona silenciosamente.

O problema da agregação. O Merchant Center e o Ads geram relatórios no nível do id. Um suéter com 20 variantes aparece como 20 linhas, cada uma com uma fração do volume, nenhuma significativa individualmente. Qualquer conclusão tirada de uma única linha de variante provavelmente é ruído.

Sempre analise em dois níveis:

  1. Nível do grupo (item_group_id) — este produto funciona? Agregue investimento, conversões e receita de todos os membros.
  2. Nível da variante (id) — quais opções funcionam? Quais cores vendem, quais tamanhos acabam primeiro, quais combinações nunca saem.

É no segundo nível que estão as descobertas interessantes. Ele responde a perguntas que importam para o merchandising: o azul-marinho vende três vezes mais que o cinza-chumbo? As variantes de tamanho G convertem melhor porque estão sempre em estoque? Alguma cor está puxando a média do grupo para baixo?

Métricas que vale a pena acompanhar por grupo:

MétricaPor quê
Proporção de disponibilidade de tamanhosIndicador antecedente de investimento desperdiçado
Cobertura de variantes no canalEnviadas vs. realmente aprovadas — é nessa diferença que os problemas se escondem
Parcela de impressões por varianteRevela quais opções o canal realmente favorece
Taxa de conversão por corSinal para merchandising e compras
Taxa de reprovação por grupoDetecta cedo erros sistêmicos de atributos

Uma observação sobre atribuição. Muitas vezes, o comprador vê um anúncio de uma variante e compra outra — clica no azul-marinho e compra o cinza-chumbo. Por isso, o ROAS no nível da variante, tomado ao pé da letra, vai atribuir errado. Avalie os produtos no nível do grupo; use os dados de variantes para entender o comportamento, e não para tomar decisões de lances com amostras pequenas.

12. Checklist antes do lançamento

Execute esta checklist antes de colocar um feed de variantes no ar e depois de qualquer mudança estrutural.

Estrutura

  •  Cada variante tem um id único
  •  Todos os membros de um grupo compartilham um item_group_id idêntico
  •  O item_group_id é derivado de um campo de origem estável e não muda entre as exportações
  •  O item_group_id usa um padrão consistente de maiúsculas/minúsculas em todo o feed
  •  Cada membro se diferencia em pelo menos um atributo que define variantes
  •  O item_group_title está presente e é idêntico em todo o grupo

Atributos

  •  color usa nomes de cores simples — sem hexadecimais, números ou letras isoladas
  •  Várias cores são separadas com /, com a principal primeiro
  •  Os valores de size são normalizados em todo o catálogo
  •  size_system é declarado quando você vende em regiões com sistemas de tamanhos diferentes
  •  gender e age_group são idênticos dentro de cada grupo
  •  material e pattern são preenchidos quando definem a variação

Links e imagens

  •  O link de cada variante leva ao estado pré-selecionado correto
  •  O & é escapado como &amp; em XML
  •  O image_link é específico da variante, e não uma imagem principal compartilhada
  •  As imagens atendem às dimensões mínimas de cada canal

Transformações por canal

  •  Sintaxe de availability ajustada por canal (in_stock vs. in stock)
  •  Limites de caracteres respeitados em cada canal
  •  As exportações para a Amazon criam anúncios pai e declaram um tema de variação válido
  •  Conjuntos de atributos dos marketplaces regionais mapeados por categoria

Operação

  •  A frequência de atualização acompanha a velocidade real de giro do estoque
  •  A detecção de tamanhos quebrados é executada a cada sincronização
  •  A verificação de ids duplicados é executada antes da exportação
  •  O feed é validado como XML/CSV bem formado antes da publicação
  •  Há alertas configurados para quedas repentinas na quantidade de produtos

13. Perguntas frequentes

Preciso enviar absolutamente todas as variantes? Nem sempre, mas geralmente sim para vestuário e calçados, em que tamanho e cor são a decisão de compra. Em catálogos muito grandes e homogêneos, ou em canais que filtram quase duplicatas, enviar uma única variante representativa bem escolhida por grupo pode ter um desempenho melhor. Escolha a representante pelo desempenho de vendas e pelo estoque, e não por ordem alfabética.

O que acontece se eu omitir o item_group_id? Cada variante é tratada como um produto sem relação com as demais. Você perde o seletor de variantes na superfície de destino, os anúncios ficam repetitivos, os relatórios no nível da variante deixam de funcionar e, no Google, você pode descumprir um requisito — o item_group_id é obrigatório para listagens gratuitas e para anúncios do Shopping em vários mercados importantes quando há envio de variantes.

As variantes podem ter preços diferentes? Sim. O preço não é um atributo que define variantes, mas pode legitimamente variar por variante — tamanhos maiores costumam custar mais. O preço enviado precisa corresponder ao que a página de destino mostra para aquela variante específica.

As variantes fora de estoque devem permanecer no feed? Em geral, sim. Mantenha-as com availability: out_of_stock em vez de excluí-las. Remover e adicionar novamente zera o histórico do item no canal. Em vez disso, exclua-as das campanhas ativas usando uma regra ou um custom label.

Um produto pode pertencer a dois grupos? Não. O item_group_id aceita um único valor por item. Se um produto realmente pertence a dois grupos conceituais, você tem um problema de taxonomia de merchandising a resolver na origem.

Preciso de valores de item_group_id separados por canal? Não — e não deveria. Use o mesmo agrupamento lógico em todos os lugares. O que muda por canal é a transformação aplicada a ele: limites de caracteres, maiúsculas e minúsculas, sintaxe. Mantenha uma única fonte da verdade e adapte na exportação.

Como lidar com produtos que realmente têm tamanho único? Envie size como one_size, OS ou OSFA. Não deixe o campo vazio para vestuário em mercados em que o tamanho é obrigatório.

Versões masculina e feminina do mesmo design — um grupo ou dois? Dois. O gender precisa ser idêntico em todo o grupo. Modelagens e tamanhos diferentes fazem delas produtos diferentes do ponto de vista do comprador.

O que mais quebra na prática? Nas nossas auditorias: imagens principais compartilhadas entre variantes de cor, valores de item_group_id gerados novamente a cada exportação e a sintaxe de availability levada sem alterações de um feed do Google para a Meta. Os três são invisíveis na interface e só aparecem como um desempenho abaixo do esperado sem explicação.

Onde isso deixa você

Os feeds de variantes recompensam a precisão de uma forma que a maior parte do marketing digital não recompensa. Não há julgamento criativo no item_group_id — ou ele é estável e compartilhado, ou não é. Os valores de cor seguem a especificação ou são rejeitados. As imagens correspondem à variante ou o clique foi desperdiçado.

Essa é a boa notícia: trata-se de um problema solucionável, com uma resposta definida. O trabalho está em mantê-lo — porque os catálogos mudam todos os dias, o estoque muda a cada hora e cada canal ajusta sua especificação no próprio ritmo.

As empresas que acertam nisso tratam o feed de variantes como infraestrutura, e não como um arquivo. Elas derivam os IDs de grupo de dados de origem estáveis, normalizam os atributos uma única vez na origem, transformam por canal na exportação, recalculam a saúde do estoque a cada sincronização e geram alertas quando algo muda inesperadamente.

É exatamente para essa camada que a Feedance foi criada — Feed Rules para normalizar os atributos na origem, detecção de Broken Size recalculada a cada sincronização, enriquecimento com GA4 para manter os rótulos de desempenho atualizados e exportações por canal que aplicam a transformação certa para cada um dos mais de 200 destinos sem mexer nos seus dados de origem.

Se você quer saber como está sua estrutura de variantes antes de mudar qualquer coisa, nossa ferramenta gratuita de auditoria de feed avalia um feed existente quanto à completude, à qualidade dos dados e à saúde técnica — incluindo o agrupamento de variantes — sem nenhum custo.

Quer uma segunda opinião sobre o seu feed? Vamos revisá-lo com você e mostrar onde estão as lacunas antes do próximo envio.
Faça uma auditoria gratuita
Cagdas Polat
Escrito por
Cagdas Polat

Cofundador da Feedance, onde aproveita sua formação como engenheiro de computação e profissional de marketing para gerar insights analíticos. Com um forte foco em transformar dados em estratégias acionáveis, ele se dedica a ajudar marcas a alcançar um crescimento significativo no cenário digital.

LinkedIn

Descubra quais
produtos dão retorno.

Conecte seu feed e o GA4. Mostramos Product Score, 4T, Price War e Broken Size no seu próprio catálogo.