A maioria dos problemas de feed não se parece com problemas de feed. Eles se parecem com uma reprovação inexplicável do Google Merchant Center, uma campanha Advantage+ que gasta todo o orçamento em uma única camiseta preta ou um anúncio do Shopping que envia um cliente procurando um sapato tamanho 42 para uma página onde só há o tamanho 38 disponível.
Por trás de quase tudo isso, existe a mesma coisa: variantes.
Uma variante é qualquer versão de um produto que difere em um único aspecto visível e comercializável — tamanho, cor, material, capacidade, acabamento. Elas são comuns no varejo e particularmente difíceis de modelar em feeds, porque cada canal as representa de forma diferente e porque erros nesse modelo resultam em falhas silenciosas. Nada quebra. Seus anúncios simplesmente têm um desempenho abaixo do esperado, e o diagnóstico fica oculto em um arquivo de dados que ninguém acessa.
Este guia aborda o assunto em sua totalidade: o que de fato é considerado uma variante, como o item_group_id funciona e onde ele é usado incorretamente, cada atributo que define uma variante com seus limites reais, exemplos de feeds funcionais em XML, CSV e JSON, como o Google, Meta, TikTok, Pinterest, Amazon e marketplaces regionais esperam que as variantes sejam estruturadas e uma tabela de diagnóstico para os erros mais comuns.
É extenso porque o assunto é extenso. Use o índice para navegar entre as seções.
1. O que é, de fato, uma variante?
Uma variante é uma versão comercializável de um produto que difere de suas versões semelhantes em pelo menos um atributo entre os quais o cliente escolheria, embora continue sendo o mesmo produto.
Essa última cláusula é muito importante. Uma camiseta azul tamanho médio e uma camiseta preta tamanho grande 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 é pai/filho :
- O principal O produto conceitual é o "Suéter de Gola Redonda em Lã Merino". Normalmente, ele não está disponível para compra separadamente.
- O crianças 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 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 tem 20 linhas, todas com o mesmo ID de grupo.
O que é a não uma variante
É aqui que os feeds começam a dar errado, antes mesmo de uma única linha de XML ser escrita.
| Não é uma variante | Porque | O que usar em vez disso? |
|---|---|---|
| Multipacks — um pacote com 6 unidades versus uma única | Quantidades diferentes da mesma unidade, não um atributo escolhido. | atributo multipack (Google) |
| Bundles — câmera + lente + bolsa | Um composto comercializável distinto | Atributo is_bundle; produto separado |
| Produtos Relacionados — blusa e saia combinando | Produtos diferentes que combinam bem | Itens separados; utilize as recomendações. |
| Recondicionado vs. novo | Condição, não variação | atributo de condição |
| Listagens de diferentes varejistas | Mesmo produto, vendedor diferente | Contas/feeds separados |
| Personalização — nome gravado | Feito sob encomenda, não é uma opção de estoque. | Geralmente um item; observe na descrição. |
Agrupar qualquer um desses itens sob um mesmo item_group_id cria 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, aciona uma reprovação por incompatibilidade.
2. A decisão que determina tudo
Antes de escrever qualquer lógica de feed, responda a uma pergunta para cada tipo de produto que você vende:
Quando um cliente escolhe uma opção diferente, ele é direcionado para uma página diferente — ou para a mesma página em um estado diferente?
Este é o teste prático, e ele se relaciona diretamente com a 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 separada com seu próprio link. Esta é a configuração mais limpa, proporciona a melhor relevância para os anúncios e é a preferida pelos canais.
Caso B — um URL, variante selecionada na página. Tudo está em /merino-sweater e o cliente escolhe a cor e o tamanho com um seletor. Você ainda pode enviar todas as variantes, mas deve adicionar um parâmetro de link direto para que o anúncio seja direcionado para o estado pré-selecionado correto:
https://example.com/merino-sweater?colour=navy&size=mSem esse parâmetro, um comprador que clicou em um anúncio de um produto azul-marinho tamanho médio é direcionado para uma página inicial com a cor cinza-carvão tamanho pequeno. Essa discrepância é um dos maiores obstáculos silenciosos à conversão em anúncios com cores diferentes e, no Google, também pode gerar uma reprovação por "Valor incompatível (rastreamento da página)" , pois o rastreador identifica uma página cuja cor visível não corresponde à cor enviada.
Caso C — variantes que não valem a pena dividir. 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 variante representativa. A seção 7 aborda quando essa é a decisão correta.
Atributos definidores de variantes versus atributos descritivos
Cada atributo no seu feed se enquadra em uma de duas categorias, e confundi-las é uma causa frequente de grupos malformados.
Os atributos que definem as variantes devem diferir entre os membros do grupo. São as escolhas do cliente: cor, tamanho, material, padrão, além de dimensões específicas do produto, como capacidade ou acabamento.
Os atributos constantes do grupo devem ser idênticos em todos os membros: marca, gênero, faixa etária, título do grupo de itens e categoria do produto do Google. Se duas linhas compartilharem um mesmo ID de grupo de itens, mas apresentarem valores de gênero diferentes, significa que você agrupou os produtos incorretamente ou os etiquetou de forma errada.
Atributos específicos da linha, mas que não definem a variante, variam por linha sem definir a variação: id, preço, disponibilidade, gtin, link da imagem, link. Duas variantes podem legitimamente ter preços diferentes — um tamanho 3XL geralmente custa 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 informa a um canal que "estas linhas representam o mesmo produto". Todo o resto no gerenciamento de variantes depende de que ele esteja correto.
A especificação
| Propriedade | Meta | TikTok | |
|---|---|---|---|
| nome do campo | item_group_id | item_group_id | item_group_id |
| comprimento máximo | 50 caracteres | 100 caracteres | 150 caracteres |
| caracteres permitidos | Unicode; ASCII recomendado — alfanumérico, sublinhados, hífens | Tanga | Tanga |
| Sensibilidade a maiúsculas e minúsculas | Sem distinção entre maiúsculas e minúsculas (ABC123 = abc123) | Maiúsculas e Minúsculas | Maiúsculas e Minúsculas |
| Requeridos? | Obrigatório para anúncios gratuitos e para anúncios do Google Shopping no Brasil, França, Alemanha, Japão, Reino Unido e Estados Unidos — quando variantes são enviadas. | Necessário para o agrupamento de variantes | Necessário para o agrupamento de variantes |
| Campo repetido | Não — um valor por item | Não | Não |
Como o Google trata o valor sem distinção entre maiúsculas e minúsculas, mas o Meta e o TikTok sim, padronize o uso de letras minúsculas (ou maiúsculas) em todos os lugares. Um catálogo onde SWTR-001 e swtr-001 aparecem será agrupado corretamente no Google e dividido em dois produtos no Meta.
Escolhendo o valor
O melhor item_group_id é o SKU pai que você já possui em seu ERP ou PIM. Ele existe, é estável e é único.
Bom:
SWTR-MERINO-CREW
12345
parent-8891Ruim, e porquê:
| Valor | Problema |
|---|---|
| Suéter de gola redonda em lã merino | Espaços e letras maiúsculas e minúsculas misturadas; excede os limites quando os títulos são longos; muda quando o marketing renomeia o produto. |
| suéter | Não é exclusivo — agrupa toda a sua coleção de suéteres em um único grupo. |
| SWTR-MERINO-TRIPULAÇÃO-MARINHA-M | Inclui as dimensões variantes, de forma que cada linha receba um valor único e nada seja agrupado. |
| Um número de linha ou hash era gerado a cada exportação. | Alterações entre exportações; os canais perdem a continuidade do grupo e reaprendem do zero. |
Esse último ponto merece destaque. O item_group_id precisa ser estável ao longo do tempo. Os canais acumulam histórico de desempenho em relação ao grupo. Se a sua exportação regenera IDs, você redefine esse histórico a cada sincronização, e nenhuma otimização de lances compensará isso.
As três regras
- Todos os membros de um grupo compartilham o mesmo item_group_id.
- Cada membro possui um ID único. Um ID duplicado em qualquer lugar do feed fará com que a linha seguinte seja descartada silenciosamente.
- Cada membro difere em pelo menos um atributo que define uma variante. Duas linhas com o mesmo ID de grupo e Os itens da mesma cor e tamanho são duplicados, não variantes.
Uma convenção que satisfaça todas as 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-MLegível, depurável e derivado de dados que você já possui.
título_do_grupo_de_itens
Um atributo do Google mais recente, opcional, mas recomendado sempre que você enviar o item_group_id. Ele contém o nome do produto principal — máximo de 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 título é específico da variante, enquanto o título do grupo de itens não é. Enviar a mesma string em ambos desperdiça o sinal.
opção_variante
Outra novidade do Google: uma forma estruturada de declarar quais propriedades definem a variação, em vez de deixar o canal inferir isso. Aceita até 30 pares nome/valor (cada subatributo com até 250 caracteres, totalizando 5,000 caracteres).
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 é particularmente ú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 do processador, potência, número de assentos. Em vez de forçar "256 GB" no tamanho, você o declara corretamente.
4. Atributos que definem variantes, em detalhes
cor
O atributo mais sujeito a regras na especificação e o mais frequentemente rejeitado.
| Propriedade | Valor |
|---|---|
| Comprimento máximo (Google) | 100 caracteres no total, 40 por cor. |
| Comprimento máximo (Meta / TikTok) | 200 caracteres |
| Múltiplas cores | Separe com /, começando pela cor primária. |
| Exigido | Para vestuário nos países listados acima; para todos os anúncios gratuitos de vestuário e acessórios. |
Não aceito:
- Números — Cor 42, RAL 5013
- Códigos hexadecimais — #001F5B
- Letras individuais — N de Navy (marinha)
- Referências a uma imagem — veja a foto
- Palavras alfanuméricas ou unidas — Navy1, NavyBlue (escreva Navy Blue)
Lidar com nomes de cores no marketing. Marcas de moda raramente chamam cores de "azul-marinho". Elas as chamam de "Regata da Meia-Noite". O canal precisa de uma cor que o consumidor pesquisaria; sua marca precisa de um nome próprio na página.
A solução de compromisso viável:
color: Navy
description: ...available in Midnight Regatta (navy)...Mapeie os nomes de marketing para os nomes padrão no feed e mantenha o nome da marca visível na página de destino e na descrição. Não use cores para o nome de marketing sem critério — isso prejudica a correspondência para consultas qualificadas por cor, que estão entre as buscas com maior intenção de compra no setor de vestuário.
Produtos multicoloridos:
color: Navy/White/GreyPrimário primeiro. O Google interpreta o primeiro valor como a cor dominante.
tamanho
| Propriedade | Valor |
|---|---|
| Comprimento máximo (Google) | 100 caracteres |
| Comprimento máximo (Meta / TikTok) | 200 caracteres |
| Exigido | Para roupas e calçados nos países listados; para anúncios gratuitos. |
| Produtos de tamanho único | tamanho único, OS ou OSFA |
A regra que importa: seja específico o suficiente para não haver ambiguidade e mantenha a consistência em todo o catálogo. "M" é aceitável se todos os produtos usarem "M". Um catálogo que mistura "M", "Médio", "médio" e "M/G" para o mesmo conceito fragmenta seus grupos de variantes e impossibilita a segmentação por tamanho.
Para produtos em que uma única dimensão seja insuficiente, inclua as dimensões distintivas 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
Opcional, exclusivo para vestuário e pouco utilizado — ambos melhoram significativamente a correspondência para compradores que pesquisam com esses qualificadores.
size_type — até 2 valores entre: regular, petite, maternidade, big, tall, plus.
size_system — um dos seguintes: US, UK, EU, DE, FR, JP, CN, IT, BR, MEX, AU. Se omitido, o canal assume o sistema do país de destino, o que é a origem de uma falha específica e dispendiosa: um varejista turco que vende para a Alemanha com numeração da UE, mas sem um size_system declarado, pode ter os tamanhos interpretados em uma escala incorreta.
xml
<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>material
Máximo de 200 caracteres no Google. Primeiro o material principal, depois até dois materiais secundários separados por /.
material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/ElastaneObrigatório apenas se diferenciar suas variantes — uma bolsa vendida em couro e lona. Caso contrário, é opcional, mas vale a pena enviar; o material é um qualificador de busca comum.
de cinto de segurança
Máximo de 100 caracteres. Texto livre descrevendo a estampa ou o desenho: Listrado, Bolinhas, Paisley, Floral, Espinha de Peixe. Mesma regra — obrigatório se for o que varia.
faixa etária e gênero
Ambas são constantes de grupo . Cada variante em um grupo deve ter o mesmo valor.
faixa etária: recém-nascido, bebê, criança pequena, criança, adulto — um valor por produto.
Gênero: masculino, feminino, unissex.
Se uma peça de roupa é realmente oferecida em cortes masculino e feminino, tratam-se de dois grupos de itens distintos , e não de um único grupo com modelos de ambos os sexos. Os cortes 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
| Atributo | Limite do Google | Deve ser diferente | Deve haver correspondência em todo o grupo. |
|---|---|---|---|
| item_group_id | 50 caracteres | - | ✅ |
| título_do_grupo_de_itens | 150 caracteres | - | ✅ |
| id | 50 caracteres | ✅ (sempre único) | - |
| título | 150 caracteres | Recomendado até | - |
| cor | 100 caracteres (40 por cor) | Se o eixo de variação | - |
| tamanho | 100 caracteres | Se o eixo de variação | - |
| tipo_de_tamanho | 2 valores | Opcional | - |
| sistema de tamanho | enum | - | Normalmente ✅ |
| material | 200 caracteres | Se o eixo de variação | - |
| de cinto de segurança | 100 caracteres | Se o eixo de variação | - |
| gênero | enum | - | ✅ |
| faixa etária | enum | - | ✅ |
| interesse? | 70 caracteres | - | ✅ |
| google_product_category | - | - | ✅ |
| preço | - | Pode diferir | - |
| disponibilidade | enum | Pode diferir | - |
5. Exemplos reais de feeds
XML (Google RSS 2.0)
Duas variantes de um grupo de seis variantes. Observe o que muda e o que permanece igual.
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&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&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:
- item_group_id e item_group_title são idênticos; o ID e o título não são.
- O link carrega parâmetros de link profundo Assim, o anúncio é exibido no estado pré-selecionado correto. O caractere "&" é escapado como "&" — um caractere obrigatório em XML e uma causa frequente de falhas de análise.
- O link da imagem é específico para cada variante. Ambas as fileiras de cores da Marinha apontam para a fotografia da Marinha. Enviar uma única imagem principal para todas as cores é o segundo erro mais comum em variantes, depois da ausência de IDs de grupo.
- A linha com produto fora de estoque está etiquetada. via custom_label_1, para que possa ser excluído ou ter seu lance reduzido sem ser removido do feed.
CSV / TSV
Os mesmos dados, simplificados. 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,coreO formato CSV é onde a maioria dos problemas reais ocorre, porque as vírgulas dentro de títulos e descrições precisam ser colocadas entre aspas, e as 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 em vez disso. Tabulações praticamente nunca aparecem em dados de produtos, e toda uma classe de erros de análise desaparece.
JSON
Para ingestão baseada em 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 gama completa de tamanhos
Seis variantes — duas cores × três tamanhos — com o padrão de identificação visível:
| id | item_group_id | cor | tamanho | disponibilidade |
|---|---|---|---|---|
| SWTR-MC-NAV-S | SWTR-MERINO-TRIPULAÇÃO | marinha | S | em estoque |
| SWTR-MC-NAV-M | SWTR-MERINO-TRIPULAÇÃO | marinha | M | em estoque |
| SWTR-MC-NAV-L | SWTR-MERINO-TRIPULAÇÃO | marinha | L | em estoque |
| SWTR-MC-CHR-S | SWTR-MERINO-TRIPULAÇÃO | Carvão vegetal | S | fora de estoque |
| SWTR-MC-CHR-M | SWTR-MERINO-TRIPULAÇÃO | Carvão vegetal | M | em estoque |
| SWTR-MC-CHR-L | SWTR-MERINO-TRIPULAÇÃO | Carvão vegetal | L | fora de estoque |
O carvão vegetal tem apenas um tamanho restante em três. A seção 9 explica o que fazer a respeito.
6. Canal por canal
O conceito é universal. A implementação, não. Veja como cada destino principal espera variantes e onde cada um difere.
Google Shopping / Merchant Center
A implementação mais prescritiva e a referência da qual a maioria dos outros canais se apropriam.
- item_group_id é requeridos Para anúncios gratuitos e para anúncios do Google Shopping no Brasil, França, Alemanha, Japão, Reino Unido e Estados Unidos, sempre que variantes forem enviadas.
- Os atributos que definem as variantes devem ser preenchidos: cor e tamanho são obrigatórios para vestuário nesses mercados.
- O gênero e a faixa etária são informações obrigatórias para as roupas e devem ser consistentes para todo o grupo.
- A página de destino deve corresponder visualmente aos valores de variantes enviados, caso contrário, você corre o risco de... Valor incompatível (rastreamento de página) desaprovação.
- Cada variante compete de forma independente no leilão. O Google escolhe qual membro de um grupo exibir para uma determinada consulta, portanto, um grupo incompleto significa um conjunto de candidatos mais fraco.
- O link da imagem deve ter pelo menos 500×500 pixels para vestuário — um mínimo que está sendo imposto a partir de 31 de Janeiro de 2027Vale a pena auditar agora, em vez de às pressas.
Nota prática: o Merchant Center gera relatórios no nível da variante (ID), não no nível do grupo. Para avaliar um produto corretamente, você precisa agregar os dados por item_group_id manualmente — o que é muito mais fácil se o ID do grupo for claro e consistente.
Meta (Facebook e Instagram)
Meta usa o mesmo nome de campo com restrições diferentes e um modelo de exibição substancialmente diferente.
- item_group_id permite até 100 caracteres e é maiúsculas e Minúsculas.
- A cor e o tamanho permitem até 200 caracteres.
- Uso de valores de disponibilidade espaços, não sublinhados: em estoque, não em_estoque. Essa simples diferença quebra mais feeds Meta do que qualquer outra, especialmente quando um feed do Google é reutilizado diretamente.
- Nas lojas e nas superfícies de detalhes do produto, um conjunto corretamente agrupado é renderizado como um produto com um seletor de variantes, em vez de vários anúncios quase idênticos.
- Os anúncios de catálogo Advantage+ usam o agrupamento para evitar mostrar ao usuário seis versões do mesmo suéter em um único carrossel — um catálogo sem agrupamento produz anúncios visivelmente repetitivos e impressões desperdiçadas.
- A geração de relatórios em nível de variante no Commerce Manager depende do agrupamento correto.
Nota prática: Não configure o Meta para usar seu feed do Google sem modificá-lo. No mínimo, verifique a disponibilidade de transformações e os limites de caracteres. A maioria das plataformas de feeds — incluindo o Feedance — lida com isso como uma transformação em nível de canal, de modo que os dados de origem permaneçam intactos.
TikTok
- item_group_id permite até 150 caracteres.
- O sku_id é o identificador único por variante — cada linha de variante precisa de um valor distinto.
- A cor e o tamanho permitem até 200 caracteres.
- O título pode ter até 255 caracteres; a descrição, até 10,000; o parâmetro `google_product_category` é obrigatório.
- O TikTok é o canal mais rigoroso em relação a imagens específicas da varianteOs cartões de produto exibem um seletor de variantes, e as variantes que compartilham uma única imagem genérica têm um desempenho consideravelmente pior. Se você for economizar em algum aspecto do seu fluxo de trabalho de imagens, não economize aqui.
- Segue de perto o modelo do Google; o item_group_id agrupa variantes.
- O Pinterest exibe variantes dentro de um único Pin de Produto com opções selecionáveis.
- A qualidade da imagem e as proporções verticais importam de forma desproporcional — o Pinterest é uma plataforma de descoberta visual, e imagens variantes que não são distintas simplesmente não são salvas.
Amazon
A Amazon não usa o item_group_id, e presumir o contrário causa um grande desperdício de trabalho.
A Amazon utiliza um modelo explícito de relação pai/filho :
- A ASIN pai é criado como um anúncio não comprável.
- Cada ASIN da criança Faz referência ao pai através dos campos parent_sku / parent_child.
- A tema de variação Devem ser declarados — SizeColor, Size, Color, SizeName-ColorName e assim por diante, variando conforme a categoria.
- O tema deve ser válido para aquela categoria específica; o mesmo nome de tema não está disponível em todos os lugares.
Se você estiver exportando para o Google e para a Amazon a partir de uma mesma fonte, considere isso como uma transformação genuína, e não como uma simples renomeação de campos. Sua camada de feed deve construir o anúncio principal, atribuir o tema e mapear os anúncios filhos a ele.
Mercados regionais e mecanismos de comparação
Os canais turcos e os canais da região MENA em geral têm suas próprias convenções, e essas convenções frequentemente representam a diferença entre um catálogo funcional e um catálogo problemático nesses mercados.
- Trendyol Utiliza seu próprio modelo pai/filho com um conjunto de atributos obrigatórios específicos para cada categoria. Cor e tamanho são campos estruturados separados, e as listas de atributos obrigatórios variam conforme a categoria.
- Akakce e avarento São mecanismos de comparação de preços. Normalmente, esperam uma linha por SKU disponível para compra, e linhas duplicadas quase idênticas tendem a ser filtradas — portanto, enviar uma consulta completa sem dados diferenciados pode reduzir, em vez de aumentar, a visibilidade.
- Hepsiburada e N11 Cada um define suas próprias chaves de agrupamento de variantes e atributos obrigatórios.
É nessa área que as ferramentas genéricas de feeds globais geralmente falham, e onde um atributo mapeado incorretamente remove silenciosamente uma categoria inteira de um marketplace.
Comparação
| Meta | TikTok | Amazon | |||
|---|---|---|---|---|---|
| Chave de agrupamento | item_group_id | item_group_id | item_group_id | item_group_id | ASIN principal |
| comprimento máximo | 50 | 100 | 150 | 50 | não aplicável |
| Maiúsculas e minúsculas | Não | Sim | Sim | Não | não aplicável |
| Sintaxe de disponibilidade | em estoque | em estoque | em estoque | em estoque | Qtd. |
| Imagens variantes | Recomendado até | Recomendado até | Críticas | Críticas | Exigido |
| É necessário especificar o tema. | Não | Não | Não | Não | Sim |
| Relatórios em nível de variante | Sim | Sim | Sim | Limitada | Sim |
7. Dividir ou colapsar?
Enviar todas as variantes é a recomendação padrão, mas não é universalmente correta. A verdadeira questão é se a variação altera o que o comprador deseja.
Enviar todas as variantes quando…
- A variação reside na decisão de compra. Roupas, calçados, qualquer produto em que o tamanho errado não seja considerado venda.
- O estoque varia significativamente de acordo com a variante. Anunciar um produto cuja única opção restante é o tamanho 3XL é um desperdício de dinheiro.
- O preço varia conforme a versão. Exibir o preço de €89 quando a opção selecionada custa €119 gera uma discrepância de preços e um cliente insatisfeito.
- A demanda de pesquisa é qualificada por variantes. As pessoas pesquisam por "suéter de lã merino azul-marinho tamanho médio". Você não pode aparecer nos resultados de busca sem enviar o anúncio.
Reduzir a uma única variante representativa quando…
- O catálogo é muito extenso e, em sua maior parte, homogêneo. Uma loja de ferragens com 200,000 SKUs, onde 60% são variações de comprimento triviais, ganha pouco com a expansão total e paga por isso em processamento de feeds e complexidade de campanhas.
- O canal penaliza conteúdos quase idênticos. Diversos mecanismos de comparação filtram linhas repetidas; uma sequência completa pode reduzir a visibilidade.
- A variação não afeta o preço, a imagem ou a disponibilidade. Se todas as doze variantes forem idênticas em todos os aspectos comercialmente relevantes, doze linhas criarão ruído em vez de sinal.
Ao consolidar os resultados, escolha o representante deliberadamente: a variante mais vendida e disponível em estoque , e não a primeira linha em ordem alfabética. É exatamente aqui que os dados de desempenho mostram seu valor no feed — o GA4 ou os dados da plataforma podem selecionar o representante automaticamente, em vez de deixar a ordem de classificação por conta do sistema.
Um caminho do meio
Dividir no eixo que determina a decisão; colapsar no que não determina.
Para calçados, isso geralmente significa uma linha por cor, com os tamanhos agrupados — a cor é o eixo de descoberta, o tamanho é a verificação de ajuste que ocorre na página. Para um produto em que a capacidade de produção influencia o preço, divida por capacidade e agrupe por cor.
8. Os 12 erros de variantes mais comuns
| # | Sintoma | Causar | Fixar |
|---|---|---|---|
| 1 | As variantes aparecem como produtos separados e não relacionados. | item_group_id ausente ou único por linha | Preencha com o SKU principal; verifique se ele se repete em todo o grupo. |
| 2 | Algumas variantes estão completamente ausentes do canal. | Valores de ID duplicados — linhas posteriores foram removidas silenciosamente. | Garantir a unicidade na exportação; adicionar uma verificação de duplicados. |
| 3 | "Desaprovação por "valor incompatível (rastreamento de página)" | A página de destino mostra uma cor/tamanho/preço diferente do que foi enviado. | Adicione parâmetros de link direto; assegure-se de que a página renderize o estado selecionado no servidor. |
| 4 | Todas as variantes mostram a mesma foto. | Imagem única do herói_link reutilizado | Imagens específicas da variante do mapa; recorrer à imagem principal somente quando não existir uma imagem da variante. |
| 5 | Os cliques nos anúncios direcionam para opções fora de estoque. | A disponibilidade não está sincronizada por variante. | Aumentar a frequência de atualizações; excluir produtos fora de estoque das campanhas ativas. |
| 6 | cor rejeitada | Código hexadecimal, número, letra única ou palavra composta. | Mapeie para nomes de cores simples; separe os múltiplos com / |
| 7 | Os filtros de tamanho não funcionam; as consultas de tamanho não correspondem. | Valores de tamanho inconsistentes em todo o catálogo (M / Médio / med) | Normalizar com uma tabela de mapeamento aplicada ao nível de alimentação. |
| 8 | A divisão de grupos ocorre no Meta, mas não no Google. | Inconsistência entre maiúsculas e minúsculas em item_group_id | Forçar um único caso para todo o campo |
| 9 | Meta rejeita todo o feed. | in_stock é usado onde Meta espera que haja estoque | Disponibilidade de transformação por canal |
| 10 | Grupo rejeitado por atributos inconsistentes | gênero ou faixa etária difere dentro do grupo | Essas são constantes do grupo; cortes separados para homens e mulheres em grupos distintos. |
| 11 | O histórico de desempenho é redefinido a cada sincronização. | item_group_id regenerado por exportação | Derive de um campo de origem estável, nunca da ordem das linhas ou de um hash. |
| 12 | O feed XML não pôde ser analisado. | URLs sem escape e em links diretos | Escape como &; valide o XML antes de publicar |
Os erros 1, 2, 4 e 11 representam a grande maioria dos problemas que observamos em auditorias reais. Nenhum deles é difícil de detectar; todos são invisíveis até que alguém comece a procurá-los.
9. Tamanhos quebrados e saúde do estoque
Uma grade de tamanhos quebrada é um produto cujo lote está tecnicamente ativo, mas praticamente impossível de vender — um suéter disponível apenas nos tamanhos PP e 3XG, um sapato com apenas dois tamanhos restantes em nove opções.
Isso importa mais do que parece. Quando um cliente 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 gerou conversão e, de quebra, desperdiçou a boa vontade da marca. Em grande escala, produtos com tamanhos diferentes podem consumir uma parcela significativa do orçamento, contribuindo quase nada para a receita.
Detectá-lo
Calcular, por item_group_id:
size_availability_ratio = in_stock_variants / total_variantsEm seguida, aja com base em limites predefinidos. Um ponto de partida viável:
| Relação | Interpretação | Ação |
|---|---|---|
| > 0.7 | Saudável | Anuncie normalmente |
| 0.4 - 0.7 | Desbaste | Reduza os lances; fique atento. |
| 0.2 - 0.4 | Quebrado | Excluir da prospecção; somente remarketing. |
| <0.2 | Esgotado. | Excluir completamente |
Leve isso em consideração a demanda , não apenas a quantidade. Perder tamanhos XXS e XXL importa muito menos do que perder tamanhos M e L, que normalmente representam a maior parte do volume de vendas. Uma proporção que trata todos os tamanhos igualmente terá uma reação insuficiente à perda dos tamanhos principais.
Agindo de acordo com isso
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>A marcação, em vez da exclusão, preserva o histórico do produto no canal e permite reativá-lo instantaneamente quando o estoque retornar. Remover e adicionar novamente o produto reinicia o aprendizado.
Duas melhorias adicionais que valem a pena implementar:
- Retorne o feedback para o merchandising. Listas de tamanhos variados recorrentes são um sinal de compra, e não apenas um problema de publicidade.
- Verifique novamente a cada sincronização. O estoque se move; a etiqueta deve se mover junto. Uma lista estática de tamanho variável é pior do que nenhuma, porque suprime produtos que já foram repostos.
10. Utilizando variantes para segmentação de campanhas
Uma vez que as variantes estejam estruturadas corretamente, os dados se tornam uma camada de segmentação — possivelmente o uso mais rentável de um feed de variantes limpo.
O Google fornece cinco campos custom_label (0–4). Eles aceitam valores arbitrários e existem exclusivamente para a lógica da sua campanha. Dados variantes são a entrada ideal.
Um plano viável
| O rótulo | Dimensão | Valores de exemplo |
|---|---|---|
| rótulo_personalizado_0 | Nível de margem | alta margem, padrão, liquidação |
| rótulo_personalizado_1 | Saúde do estoque | tamanho normal, desbaste, tamanho quebrado |
| rótulo_personalizado_2 | Nível de desempenho | best-seller, constante, cauda longa |
| rótulo_personalizado_3 | Sazonalidade | ss26, aw25, núcleo, transferência |
| rótulo_personalizado_4 | Faixa de preço | Menos de 50 anos, de 50 a 100 anos, de 100 a 200 anos, mais de 200 anos |
Com esses elementos definidos, a lógica da campanha torna-se simples:
- Aumente o lance para best-seller + tiragem completa + alta margem de lucro
- Excluir tamanhos quebrados da prospecção
- Dê autorização para sua própria campanha com um tROAS agressivo
- Isolar ss26 quando a temporada começar
Desempenho Máximo e Vantagem+
Ambos são amplamente automatizados, o que torna a segmentação em nível de feed ainda mais importante. Você não controla mais os lances por palavra-chave, então o feed se torna sua principal ferramenta para direcionar os gastos.
No Performance Max, os rótulos personalizados definem a estrutura dos grupos de ativos e dos grupos de listagem . Dividir um único grupo de ativos abrangente em grupos baseados em margem ou em saúde das ações é uma das poucas alavancas estruturais restantes e depende inteiramente de os rótulos serem preenchidos com dados reais.
Nos anúncios de catálogo do Advantage+, o agrupamento correto impede que o carrossel seja preenchido com seis tons do mesmo suéter — e as definições de conjunto de produtos baseadas em atributos de variantes permitem separar o inventário de prospecção do inventário de remarketing.
Enriquecendo rótulos com dados de desempenho
Rótulos estáticos perdem a validade. O título de mais vendido da temporada passada é desinformação desta temporada.
A implementação mais robusta recalcula os rótulos com base em dados de desempenho em tempo real — receita do GA4, taxa de conversão, número de visualizações — a cada sincronização de feed. Um produto que para de vender sai automaticamente da lista de mais vendidos; um que começa a vender entra nela. Essa é uma parte fundamental do que o enriquecimento de feeds 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. Medição do desempenho das variantes
Os dados ao nível das variantes são onde a maioria dos relatórios falha silenciosamente.
O problema da agregação. O Merchant Center e o Google Ads reportam os resultados por ID. Um suéter com 20 variantes aparece como 20 linhas, cada uma com uma fração do volume, nenhuma delas individualmente significativa. Qualquer conclusão tirada de uma única linha de variante provavelmente será ruído.
Analise sempre em dois níveis:
- Nível de grupo (item_group_id) — faz isso PRODUTOS Funciona? Agregue os gastos, as conversões e a receita de todos os membros.
- Nível de variante (id) — que opções Funciona? Quais cores vendem, quais tamanhos esgotam primeiro, quais combinações nunca vendem.
A segunda parte é onde se encontram as descobertas interessantes. Ela responde a perguntas que interessam ao setor de merchandising: o azul-marinho vende três vezes mais que o cinza-escuro? As variantes de tamanho G têm melhor desempenho porque estão sempre em estoque? Uma cor específica está prejudicando a média de vendas do grupo?
Métricas que vale a pena acompanhar por grupo:
| métrico | Porque |
|---|---|
| proporção de disponibilidade de tamanho | Indicador principal de gastos desperdiçados |
| Cobertura de variantes no canal | Submetido versus efetivamente aprovado — é nessa lacuna que os problemas se escondem. |
| Participação de impressões por variante | Revela quais opções o canal realmente prioriza. |
| Taxa de conversão por cor | Merchandising e sinal de compra |
| Taxa de desaprovação por grupo | Detecta erros sistêmicos de atributos precocemente. |
Uma observação sobre atribuição. Um comprador frequentemente vê um anúncio de uma variante e compra outra — clica no azul-marinho e compra o cinza-escuro. Portanto, interpretar literalmente o ROAS (Retorno sobre o Investimento em Publicidade) por variante levará a uma atribuição incorreta. Avalie os produtos em nível de grupo; use os dados de variantes para entender o comportamento, não para tomar decisões de lances com base em amostras pequenas.
12. Lista de verificação pré-lançamento
Execute este comando antes de publicar uma versão variante do feed e após qualquer alteração estrutural.
Estrutura
- Cada variante possui 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 se altera entre as exportações.
- item_group_id usa maiúsculas e minúsculas consistentes em todo o feed.
- Cada membro difere em pelo menos um atributo que define uma variante.
- O item_group_title está presente e é idêntico em todo o grupo.
Atributos
- A cor utiliza nomes de cores simples — sem códigos hexadecimais, números ou letras individuais.
- As cores múltiplas são separadas por /, com a primária primeiro.
- Os valores de tamanho são normalizados em todo o catálogo.
- O sistema de tamanhos é declarado onde você vende em diferentes regiões de tamanho.
- O gênero e a faixa etária são idênticos dentro de cada grupo.
- O material e o padrão são inseridos onde definem a variação.
Links e imagens
- O link de cada variante resolve para o estado pré-selecionado correto.
- O caractere "&" é escapado como "&" em XML.
- O link da imagem é específico da variante, não uma imagem principal compartilhada.
- As imagens atendem às dimensões mínimas para cada canal.
Transformações de canal
- Sintaxe de disponibilidade ajustada por canal (em estoque vs. em estoque)
- Limites de caracteres respeitados por canal
- A Amazon exporta, cria anúncios principais e declara um tema de variação válido.
- Conjuntos de atributos de mercado regional mapeados por categoria
Operações
- A frequência de atualização corresponde à velocidade real de movimentação das ações.
- A detecção de tamanho quebrado é executada em 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.
- O sistema de alertas está configurado para quedas repentinas na quantidade de produtos.
13. FAQ
Preciso enviar todas as variantes? Nem sempre, mas geralmente sim para vestuário e calçados, onde tamanho e cor são os principais fatores de decisão de compra. Para catálogos homogêneos muito grandes ou canais que filtram itens quase idênticos, enviar uma variante representativa bem escolhida por grupo pode ter um desempenho melhor. Escolha a variante representativa com base no desempenho de vendas e no estoque, não em ordem alfabética.
O que acontece se eu omitir o item_group_id? Cada variante é tratada como um produto não relacionado. Você perde o seletor de variantes na página de destino, os anúncios se tornam repetitivos, os relatórios em nível de variante são interrompidos e, no Google, você pode não atender a um requisito — o item_group_id é obrigatório para anúncios gratuitos e para anúncios do Shopping em vários mercados importantes quando variantes são enviadas.
As variantes podem ter preços diferentes? Sim. O preço não é um atributo que define uma variante, mas pode legitimamente variar entre elas — tamanhos maiores geralmente custam mais. O preço enviado deve corresponder ao preço exibido na página de destino para aquela variante específica.
As variantes fora de estoque devem permanecer no feed? Geralmente sim. Mantenha-as com a disponibilidade definida como "fora de estoque" em vez de excluí-las. Remover e adicionar novamente o item redefine seu histórico no canal. Exclua-as de campanhas ativas usando uma regra ou um rótulo personalizado.
Um produto pode pertencer a dois grupos? Não. O campo `item_group_id` aceita apenas um valor por item. Se um produto realmente pertence a dois grupos conceituais, você tem um problema de taxonomia de merchandising a ser resolvido em etapas anteriores.
Preciso de valores `item_group_id` separados para cada canal? Não — e você não deveria. Use o mesmo agrupamento lógico em todos os lugares. O que difere em cada canal é a transformação aplicada: limites de caracteres, maiúsculas e minúsculas, sintaxe. Mantenha uma única fonte de verdade e adapte-a na exportação.
Como devo proceder com produtos que são realmente de tamanho único? Informe o tamanho como tamanho_único, OS ou OSFA. Não deixe o campo em branco para roupas em mercados onde o tamanho é obrigatório.
Versões masculina e feminina do mesmo modelo — um grupo ou dois? Dois. O gênero deve ser idêntico em todo o grupo. Cortes e tamanhos diferentes fazem com que sejam produtos diferentes da perspectiva do comprador.
O que mais frequentemente apresenta problemas na prática? Em nossas auditorias: imagens principais compartilhadas entre variantes de cores, valores de item_group_id regenerados em cada exportação e sintaxe de disponibilidade transferida inalterada de um feed do Google para o Meta. Todos os três são invisíveis na interface e só se manifestam como um desempenho abaixo do esperado sem explicação.
Onde isso te deixa
Os feeds de variantes recompensam a precisão de uma forma que a maioria do marketing digital não faz. Não há espaço para julgamento criativo no `item_group_id` — ou ele é estável e compartilhado, ou não é. Os valores de cor ou seguem a especificação, ou são rejeitados. As imagens ou correspondem à variante, ou o clique foi desperdiçado.
Essa é a boa notícia: este é um problema solucionável com uma resposta definitiva. O trabalho está em mantê-lo funcionando — porque os catálogos mudam diariamente, o estoque se movimenta a cada hora e cada canal ajusta suas especificações de acordo com seu próprio cronograma.
As empresas que fazem isso corretamente tratam o feed de variantes como infraestrutura, e não como um arquivo. Elas derivam 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 integridade do estoque a cada sincronização e geram alertas quando algo se move inesperadamente.
Essa é exatamente a camada para a qual o Feedance foi desenvolvido: regras de alimentação para normalizar atributos na origem, detecção de tamanho incorreto que recalcula a cada sincronização, enriquecimento GA4 para manter os rótulos de desempenho atualizados e exportações de canal que aplicam a transformação correta para cada um dos mais de 200 destinos sem alterar seus dados de origem.
Se você deseja saber como está a estrutura de variantes do seu feed antes de fazer qualquer alteração, nossa ferramenta gratuita de auditoria de feeds avalia um feed existente quanto à integridade, qualidade dos dados e saúde técnica — incluindo o agrupamento de variantes — sem nenhum custo.