Insights diários de Google, Meta, TikTok, LinkedIn e Microsoft
Mesma unidade, mesmo nível e mesma definição de conversão em todas
Tabela única por plataforma, conta, campanha e dia
Dashboard de mídia, relatório e agente de IA
O que resolve
- O investimento de cada plataforma na tabela bate com o gerenciador dela, no dia e no mês.
- Clique, conversão e custo significam a mesma coisa em todas as plataformas antes de serem comparados.
- CTR, CPC, CPM e custo por conversão saem certos em qualquer recorte, sem média de médias.
Perguntas de negócio que responde
Faça estas perguntas ao seu agente quando o caso estiver pronto.
O que você precisa
- As plataformas de mídia conectadas na Nekt, com todas as contas de cada uma e a lista de contas esperadas
- A conversão que conta como resultado em cada plataforma, com o stream de conversões por ação do Google ativo no conector
- A moeda de cada conta do Google e o critério de imposto ou taxa sobre a verba, se houver
O que você recebe
- Uma tabela plataforma x conta x campanha x dia com o mesmo schema para todas
- Totais por plataforma que batem com cada gerenciador
- Dashboard comparativo com taxas recalculadas a partir das somas
- Um agente de IA que responde sobre mídia sem misturar unidades
Onde ativar
Investimento, cliques, conversões e taxas por plataforma, conta e campanha, lidos da tabela unificada.
Responde sobre verba e eficiência com unidades e definições de conversão já resolvidas.
Aviso diário quando uma conta esperada para de gastar, quando uma campanha com conversão a cobrar fica dias sem converter ou quando a verba vai acabar antes do mês.
As regras são fechadas, mas cada plataforma tem suas armadilhas de unidade, nível e data. Comece com Google e Meta e acrescente as outras no mesmo schema. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.
Cada plataforma entrega custo numa unidade, clique com uma definição e conversão com uma regra de atribuição própria. O Google manda custo em micros, o Meta manda tudo como texto, e a coluna de conversões do Google pode somar até rota no mapa e visualização de página. Quem empilha as tabelas e soma direto entrega um painel que não bate com nenhum gerenciador, e o gestor volta para as abas de cada plataforma.
Como costuma ser feito, e a regra
Cada linha é um erro que já aconteceu na prática.
spend na mesma coluna.Google Ads: metrics_cost_micros dividido por 1.000.000. Meta Ads: spend chega como texto, em moeda da conta, e precisa virar número. LinkedIn: costInLocalCurrency também é texto. Faça a conversão em cada plataforma antes de unificar, e guarde a moeda da conta numa coluna. No Meta, a moeda vem do campo currency da tabela de contas. No Google, a tabela de desempenho não traz moeda: declare a moeda de cada conta no context document. Conta em dólar é convertida com uma taxa declarada.
A tabela única tem as mesmas colunas para todas as plataformas: data, plataforma, conta, campanha (id e nome), investimento, impressões, cliques, conversões, valor de conversão e moeda. Cada bloco da união lista as colunas pelo nome. Quando uma conta ganha uma coluna nova no conector, a união não quebra nem desloca valores.
Investimento, impressões e cliques vêm só da tabela diária de desempenho. Campanhas, conjuntos e contas apenas enriquecem com nome, objetivo e status. Campanha pausada, renomeada ou excluída continua com o gasto que teve. O Meta entrega os insights por anúncio e dia: agregue para campanha e dia antes de unir. O desempenho de campanha do Google não traz a conta: tire o customer_id do resource_name da tabela de campanhas (customers/<id>/campaigns/<id>). As tabelas de configuração guardam várias versões por id: fique com a mais recente (maior updated_time; quando a tabela não tem updated_time, maior _nekt_sync_at) antes de cruzar.
No Meta, a coluna clicks conta qualquer clique no anúncio, inclusive curtida, perfil e expandir texto. O número que bate com o gerenciador e se compara com o clique do Google é link_click da lista de ações (ou inline_link_clicks). No Google, clicks já é clique no anúncio.
metrics_conversions soma só as ações marcadas como principais, mas se a conta marcou visualização de página, clique em botão ou rota no mapa como principal, elas entram. Abra por ação de conversão (o stream de conversões por campanha segmentado por segments.conversion_action, que precisa estar ativo no conector) e escolha as ações que valem como resultado. Se o stream não estiver ativo, use metrics_conversions e registre a limitação no context document. Nunca use metrics_all_conversions. GET_DIRECTIONS e STORE_VISIT são estimativas de topo de funil; PHONE_CALL_LEAD, CONTACT e SUBMIT_LEAD_FORM são o mais perto de um contato real.
O resultado de cada campanha é o action_type do objetivo de otimização (optimization_goal) do conjunto. LEAD_GENERATION: lead. OFFSITE_CONVERSIONS: o evento de promoted_object.custom_event_type (LEAD vira lead, PURCHASE vira purchase, COMPLETE_REGISTRATION vira complete_registration). CONVERSATIONS: onsite_conversion.messaging_conversation_started_7d. LINK_CLICKS, LANDING_PAGE_VIEWS, REACH, THRUPLAY e VISIT_INSTAGRAM_PROFILE não têm conversão a cobrar. Objetivo fora desta lista é declarado no context document antes de entrar. lead já soma formulário e pixel, então nunca some lead com onsite_conversion.lead_grouped e offsite_conversion.fb_pixel_lead.
CTR = soma de cliques / soma de impressões. CPC = soma de investimento / soma de cliques. CPM = soma de investimento / soma de impressões x 1000. Custo por conversão = soma de investimento / soma de conversões. As colunas de taxa que as plataformas entregam ficam fora da tabela, porque somar ou tirar média delas dá número errado em qualquer recorte.
Performance Max não tem anúncio individual, e o relatório por anúncio perde essas campanhas. A tabela unificada fica no nível de campanha. Quem precisa de anúncio usa o relatório de anúncios para pesquisa, display e vídeo e o de campanha só para Performance Max, sem sobrepor os dois.
Cada plataforma corta o dia no fuso da conta. Use a data que a plataforma entrega, sem converter de novo. Meta e Google reajustam conversões dos últimos dias (no Meta, até cerca de 28 dias), então a carga regrava pelo menos os últimos 30 dias por plataforma, conta, campanha e dia, sem duplicar. Se a fonte manda várias extrações do mesmo dia, fique com a mais recente antes de somar.
Plataforma sem valor de conversão (como campanha de conversa no Meta) fica com valor nulo, não zero, e o ROAS dela é nulo. O Google devolve 0 em metrics_conversions_value quando a conta não mede valor: se nenhuma ação de conversão da conta tem valor, trate como nulo. Conta compartilhada entre marcas ou entre cliente e agência é filtrada por um padrão de nome de campanha declarado. Fonte antiga que foi substituída sai da união: antes de unir, procure tabelas da mesma plataforma com o mesmo account_id em outro conector ou prefixo e compare o gasto mensal; se os valores coincidem, só uma fica.
De cada plataforma para o schema comum
Campo de origem de cada métrica e o tratamento antes da união.
Definições
Armadilhas que já aconteceram
O custo do Google em micros foi somado com o spend do Meta em reais e o Google virou quase todo o investimento do painel.
Converta cada plataforma para reais antes da união e confira o total de cada uma com o gerenciador.
A coluna de conversões do Google somava micro-conversões e mostrava 43 mil conversões contra menos de 7 mil leads do Meta no mesmo período. A comparação entre plataformas estava errada por um fator de seis.
Ative o stream de conversões por ação no conector do Google e use só as ações que valem como resultado.
O conector de uma única conta ganhou uma coluna nova e a união por posição quebrou o pipeline de todas as contas.
Liste as colunas pelo nome em cada bloco da união.
O investimento do Google foi montado pelo relatório de anúncios, que não tem as campanhas de Performance Max e Demand Gen. O total ficou abaixo do gerenciador.
Use o nível de campanha como base e trate o anúncio só onde ele existe.
Os conectores vivos cobriam só parte das contas de uma plataforma, e o investimento do ano ficou subestimado em 15% a 36% sem ninguém perceber.
Mantenha um cadastro de contas esperadas por plataforma e alerte quando uma conta não aparece na tabela. Sem cadastro, use como lista esperada as contas ativas da tabela de contas do conector.
O Meta reajustou conversões dos dias anteriores e a carga que só lia o dia novo deixou a tabela diferente do gerenciador.
Regrave a janela recente a cada carga e avise no relatório que os últimos dias ainda podem mudar.
Teste de aceitação
O caso está pronto quando todos os itens passam.
- O investimento de cada plataforma no mês fechado bate com o gerenciador dela, com diferença abaixo de 1%.
- A soma da tabela por campanha no mês é igual ao investimento do mês numa série mensal de referência (um relatório mensal já validado ou um export do gerenciador), para cada plataforma.
- Não existe mais de uma linha por plataforma, conta, campanha e dia.
- CTR, CPC e CPM de qualquer recorte são iguais à razão das somas daquele recorte.
- Todas as contas do cadastro de contas esperadas (sem cadastro, as contas ativas da tabela de contas do conector) aparecem na tabela com gasto no mês, ou estão marcadas como pausadas.
Pacote para o agente
Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.
Mídia paga unificada - Fonte do investimento, impressões, cliques e conversões: a tabela unificada no grão plataforma x conta x campanha x dia. Não some tabelas de plataforma por fora. - Investimento em reais. Google veio de metrics_cost_micros / 1.000.000; Meta de spend convertido para número; LinkedIn de costInLocalCurrency convertido. A moeda das contas do Google é a declarada nas exceções. - Clique no Meta é clique no link (link_click). Clique no Google é clique no anúncio. - Conversão do Google = só as ações de conversão escolhidas como resultado, nunca metrics_all_conversions. Conversão do Meta = action_type do objetivo de otimização do conjunto. Se o Google não tem conversões por ação, avise que o número inclui todas as ações primárias. - Campanha de alcance ou reconhecimento não tem conversão a cobrar. Diga isso, não diga zero conversões. - CTR, CPC, CPM e custo por conversão são sempre recalculados das somas do recorte. Nunca some nem faça média de taxas. - Valor de conversão nulo significa não medido. ROAS fica nulo nesses casos. - Os últimos 30 dias ainda podem mudar porque as plataformas reajustam conversões. Avise ao reportar o mês corrente. - Conversão de plataforma não é lead do CRM. Para lead, venda e receita por canal use os casos de funil e atribuição. Exceções por cliente: - <cliente>: ações de conversão do Google que contam como resultado: <lista de ações>. - <cliente>: investimento reportado <com|sem> imposto de <percentual> sobre a verba. - <cliente>: conta compartilhada; só entram campanhas cujo nome contém <padrão>. - <cliente>: moeda das contas do Google: <moeda>; taxa de conversão declarada: <taxa>. - <cliente>: contas esperadas por plataforma: <lista de contas>; fonte substituída fora da união: <fonte>.
Construa no meu workspace Nekt o caso "Marketing unificado (Google + Meta)" seguindo as regras em https://academy.nekt.com/casos/marketing-unificado.md. 1) Encontre as tabelas de origem e confirme as colunas usadas pelas regras. 2) Crie uma transformação no grão indicado aplicando todas as regras. 3) Rode o teste de aceitação e me mostre o resultado de cada item. 4) Crie o context document do caso no workspace, com as exceções dos meus clientes em aberto para eu preencher.
Variações
Um cadastro conta para cliente define o cliente de cada linha, nunca o nome da tabela ou da conta.
Cruze com o plano de mídia aprovado por mês e campanha e mostre o ritmo de gasto, com e sem imposto.
TikTok, Microsoft Ads e mídia de marketplace entram no mesmo schema, cada uma com sua conversão de resultado declarada.