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

Adicionando cost_of_goods_sold ao seu feed do Google: um playbook da exportação de COGS às faixas de margem

Passo a passo para adicionar cost_of_goods_sold ao feed do Google, alinhar IDs do carrinho e transformar lucro bruto em faixas de margem.

Cagdas PolatCagdas Polat
11 min de leitura

A maioria dos relatórios de Performance Max mostra receita e ROAS. Poucos mostram lucro bruto, porque o Google só consegue calculá-lo quando cada produto do seu feed traz um custo. O Google afirma que esse custo pode ser aproximado: o próprio guia de configuração sugere estimar o COGS como 80% do preço do produto quando você não tem os valores exatos. Este guia é para gestores de feed e líderes de mídia paga que têm uma coluna de custo em algum lugar (uma exportação de ERP, uma lista de preços de fornecedor) e querem levá-la para dentro do feed do Merchant Center. Ao final, você terá um atributo cost_of_goods_sold formatado corretamente, uma tag de conversão compatível com ele e um primeiro relatório de margem que pode ser transformado em faixas de custom label.

O que o cost_of_goods_sold faz e o que não faz

cost_of_goods_sold é um atributo do Merchant Center que viabiliza relatórios de lucro bruto. O Google descreve o lucro bruto como receita menos COGS. O atributo não altera quais produtos são aprovados, como eles são classificados nem quanto você dá de lance. Ele apenas fornece ao Google Ads um custo para subtrair da receita que já é registrada para cada item vendido.

Ele é opcional para a maioria dos lojistas. O Google o lista como obrigatório apenas para descontos automáticos e promoções dinâmicas. Para todos os demais, é um upgrade de relatórios, e esses relatórios só funcionam se a tag de conversão também enviar dados de carrinho no nível do item.

O atributo não é uma configuração de lances, e a Feedance não gerencia lances. O que os dados oferecem é uma visão confiável de quais produtos e campanhas dão lucro, de modo que as decisões de estrutura e de orçamento tomadas em outros lugares se apoiem em lucro, e não em receita.

Passo 1: Decida de onde virá o custo de cada produto

O Google aceita valores exatos, médias e estimativas, então a primeira decisão é qual fonte você considera confiável o bastante para manter. Classificamos as opções abaixo pela frequência com que continuam precisas após o primeiro mês.

Fonte do custoPrecisãoEsforço de manutençãoUse quando
Exportação de ERP ou sistema de estoque, por SKUAltaBaixo depois de automatizadoOs custos já são armazenados por variante
Lista de preços do fornecedor cruzada por SKUMédia a altaMédio; as listas mudam a cada estaçãoNão há ERP, mas há um arquivo de fornecedor limpo
Média por categoria (por exemplo, 0.62 x preço para uma categoria)MédiaBaixoAs margens são uniformes dentro da categoria
Percentual fixo do preço (exemplo do Google: 80%)BaixaNenhumVocê precisa de um primeiro relatório esta semana e vai refinar depois

Um percentual fixo produz um lucro bruto que se move exatamente junto com a receita, então ele nunca vai dizer que um produto rende mais por venda do que outro. Use-o para ligar os relatórios, não para tomar decisões de margem.

Passo 2: Formate o atributo exatamente

A especificação do Google para cost_of_goods_sold é um número seguido de um código de moeda ISO 4217, sem repetição, com ponto como separador decimal. Descumprir qualquer uma dessas regras pode tornar os produtos inelegíveis para relatórios, o que gera dados incompletos.

Em um feed delimitado por tabulação, o valor fica assim:

412.50 TRY

Em XML:

<g:cost_of_goods_sold>412.50 TRY</g:cost_of_goods_sold>

Use para o COGS a mesma moeda do preço informado pela sua tag de conversão. O Google recomenda isso para evitar inconsistências por causa de taxas de câmbio. Lojistas que vendem em lira turca e têm um fornecedor que fatura em euros precisam converter o custo para liras dentro do feed antes da exportação, usando uma taxa atualizada periodicamente.

Estes são os erros de formatação que mais vemos em colunas de custo e o que cada um causa:

Valor de origemProblemaValor corrigido
412,50 TRYVírgula como separador decimal, comum em exportações com localidade turca412.50 TRY
412.50Sem código de moeda412.50 TRY
TL 412.50Não é um código ISO 4217 e está na ordem errada412.50 TRY
1,412.50 TRYSeparador de milhar dentro do número1412.50 TRY
0.00 TRYCusto vazio exportado como zero, o que é lido como 100% de margemOmita o atributo para esse produto

A última linha é uma decisão de julgamento, não uma regra do Google. Um custo zero é um número válido, então o Google o aceita, e isso vai inflar o lucro bruto desse item. Nós omitimos o atributo quando o custo é desconhecido.

Passo 3: Entregue o valor ao Merchant Center

O Google lista três formas de fornecer dados de COGS: o feed de produtos, a Content API (e sua sucessora, a Merchant API) ou um feed suplementar. A rota do feed suplementar costuma ser a mais segura quando os dados de custo vêm de um sistema diferente do catálogo de produtos, porque você pode enviar um arquivo de duas colunas (id e cost_of_goods_sold) sem mexer no feed principal.

Se você gerencia feeds com uma plataforma, o equivalente é uma camada que adiciona um atributo sem reescrever a fonte. Na Feedance, é para isso que servem os feeds suplementares, e as feed rules podem calcular um custo médio por categoria a partir do preço quando você usa uma estimativa. Não publicamos um exemplo de cliente para esse uso específico, então considere que a mecânica é a descrita nessas páginas de funcionalidades.

Passo 4: Confirme que os dados de carrinho batem com os IDs do seu feed

O custo só é usado quando o Google consegue associar um item vendido a um item do feed. A ajuda do Google informa que os IDs de item no array de itens da tag de conversão devem corresponder exatamente ao atributo id do seu feed no Merchant Center, e que só são processados itens de uma conta do Merchant Center vinculada à conta do Google Ads. As conversões elegíveis precisam ser conversões de compra com lance, usando a tag do Google ou o Google Tag Manager.

Percorra esta checklist antes de esperar pelos dados:

  1. A conta do Merchant Center está vinculada à conta do Google Ads que é dona da conversão de compra.
  2. A tag de compra envia um array de itens com ID, preço e quantidade para cada item do pedido.
  3. O ID na tag é exatamente a mesma string do id do feed, incluindo maiúsculas/minúsculas e qualquer sufixo de variante. Se a sua tag envia o SKU pai e o seu feed usa IDs de variante, nada corresponde.
  4. O preço na tag usa a mesma moeda dos valores de COGS.
  5. Os diagnósticos da ação de conversão não mostram avisos de IDs sem correspondência. O Google indica essa seção de diagnósticos para encontrar divergências.

Divergências de ID de item são o motivo mais comum para uma implantação de COGS mostrar traços em vez de números. O Google observa que, sem o atributo de COGS, os valores de COGS e de lucro bruto aparecem em branco ou como um traço nos relatórios.

Passo 5: Leia o primeiro relatório e confira com os números do financeiro

O Google Ads expõe os resultados como lucro bruto, margem de lucro bruto, custo das mercadorias vendidas, receita e unidades vendidas. Para Performance Max, a Google Ads API documenta essas métricas como metrics.gross_profit_micros, metrics.gross_profit_margin e metrics.cost_of_goods_sold_micros, disponíveis em asset_group_product_group_view, campaign, customer e shopping_performance_view.

Duas ressalvas da documentação da API afetam a leitura dos primeiros números. As métricas de dados de carrinho não ficam disponíveis até que todas as conversões dos produtos associados tenham sido registradas, então os primeiros dias vão parecer incompletos. E, a partir de 15 de junho de 2026, a shopping_performance_view passa a incluir dados de todas as redes do Performance Max, e não apenas da Rede de Display, de modo que as métricas podem subir uma única vez quando esses dados forem adicionados. Se você comparar antes e depois, não trate esse salto pontual como efeito da mudança no seu feed.

Valide com uma checagem de sanidade: escolha uma semana, pegue a receita que o Google Ads atribui aos dados de carrinho, subtraia o custo do seu financeiro para os mesmos produtos e compare. Espere uma diferença se o seu COGS for uma média. Não espere que ela seja zero.

Passo 6: Transforme o lucro bruto em faixas de margem

Quando a margem de lucro bruto estiver visível por produto, agrupe os produtos em algumas faixas e grave a faixa em um custom label. O Google permite de custom_label_0 a custom_label_4, cada um com até 100 caracteres, com um valor por produto por atributo e até 1.000 valores únicos por label. De três a cinco faixas são suficientes.

Um esquema ilustrativo (os números são exemplos, não benchmarks):

Margem bruta sobre o preço do feedValor de custom_label_1Uso típico
Abaixo de 20%margin_lowGrupo de listagem separado; avalie por lucro por clique, não por ROAS
De 20% a 40%margin_midGrupo padrão
Acima de 40%margin_highCandidato a mais orçamento
Sem COGSmargin_unknownLista de revisão; corrija os dados

A faixa é um cálculo feito no lado do feed a partir de price e cost_of_goods_sold, então uma feed rule pode gravá-la automaticamente a cada vez que o feed for reconstruído. Nosso artigo anterior sobre custom labels, product type e item ID para grupos de listagem do Performance Max explica quantas dimensões de label uma árvore de grupos de listagem aguenta antes de se fragmentar. Se você quiser verificar se a mudança ajudou, o nosso método para medir uma mudança no feed em relação ao ROAS se aplica sem alterações.

Passo 7: Mantenha a coluna de custo viva

O custo fica desatualizado mais rápido que o preço. Defina um responsável e uma cadência de atualização para ele. Reexporte a cada mudança de preço do fornecedor, a cada oscilação cambial que importe para a sua margem e a cada estação. Um produto cujo custo ultrapasse o preço deve aparecer com margem negativa na sua própria checagem antes de chegar a qualquer relatório.

Onde isso falha

O relatório de COGS mede o lucro bruto dos itens vendidos. Ele não inclui subsídios de frete, devoluções, taxas de pagamento nem investimento em anúncios, então um produto pode mostrar uma boa margem bruta e ainda assim dar prejuízo. A própria documentação do SA360 do Google dá o exemplo do custo de atacado antes de impostos, frete e custos de publicidade, o que confirma esse escopo.

Ele também depende de os dados de carrinho estarem implementados corretamente e exige que a compra seja uma conversão que o Google consiga atribuir. Apenas compras informadas como conversões com dados de carrinho podem aparecer nessas métricas.

Médias escondem variações. Se uma categoria mistura um acessório com 15% de margem e um produto principal com 55% de margem, uma média por categoria vai representar mal os dois.

Concorrentes também cobrem esse tema. A DataFeedWatch publica um guia sobre como adicionar o custo das mercadorias vendidas a um feed para relatórios de lucro bruto, e plataformas posicionadas em torno da rentabilidade de produtos, como a ROI Hunter, podem atender melhor se a lógica de lucro for a sua principal necessidade (veja nossa comparação). A Feedance prepara os dados; ela não define lances nem orçamentos a partir deles.

FAQ

O cost_of_goods_sold é obrigatório para o Google Shopping?

Não. O Google o trata como opcional, exceto para descontos automáticos e promoções dinâmicas, em que ele é obrigatório. Sem ele, seus anúncios rodam normalmente, mas as métricas de COGS e de lucro bruto aparecem em branco.

O custo precisa ser exato?

Não. O Google diz que os dados servem para relatórios e não precisam ser exatos. Se o custo varia por produto, informe uma média ou uma estimativa aproximada, como 80% do preço.

Os clientes conseguem ver o custo?

O Google descreve o atributo como um insumo de relatórios usado quando as conversões são informadas com dados de carrinho. A documentação não o apresenta como conteúdo de anúncio, mas não testamos todas as superfícies, então confirme na sua própria conta.

Por que meus relatórios mostram um traço no lucro bruto?

Normalmente, ou o atributo está ausente ou os IDs na tag de conversão não correspondem ao id do feed. Verifique primeiro os diagnósticos da ação de conversão em busca de IDs divergentes.

Qual moeda devo usar?

A moeda do preço informado pela sua tag de conversão. O Google recomenda que sejam iguais para evitar inconsistências de câmbio.

Funciona com Performance Max?

Sim. A Google Ads API documenta as métricas de dados de carrinho, incluindo lucro bruto e margem de lucro bruto, para campanhas Performance Max em que as Conversões com dados do carrinho estão implementadas.

Onde adiciono o atributo se não quiser editar o feed principal?

Use um feed suplementar ou a Content API ou Merchant API. O Google as lista, junto com o feed principal, como métodos de envio aceitos.

Qual é a diferença em relação aos custom labels?

O atributo de custo alimenta os relatórios de lucro do Google. Um custom label é um segmento que você define para a estrutura das campanhas. Você usa o primeiro para calcular a margem e o segundo para agir sobre ela.

Verifique seu feed antes de adicionar a coluna de custo

Uma coluna de custo só ajuda se o resto do feed estiver em ordem. Passe seu feed pela ferramenta gratuita de auditoria de feed de produtos para encontrar atributos ausentes e malformados antes de construir faixas de margem sobre eles.

Fontes

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.