ROAS real cross-platform: como pedir pro ChatGPT comparar GA4, Google Ads e Meta Ads via MCP

ROAS real cross-platform: como pedir pro ChatGPT comparar GA4, Google Ads e Meta Ads via MCP

Quem gerencia 5 a 30 contas de cliente sabe que o ROAS do Gerenciador de Anúncios da Meta nunca bate com o ROAS do Google Ads, e nenhum dos dois bate com a receita declarada do GA4. Para fechar o relatório do mês, a agência abre três interfaces, exporta planilhas, cruza por campaign_name na mão e ainda precisa explicar para o cliente por que os três números divergem. A pergunta central, "de cada R$ gasto em Meta Ads e Google Ads, quanto virou purchaseRevenue no GA4?", não é respondida por nenhuma das três ferramentas isoladas. Com o ROAS real cross-platform via MCP da Kondado, você faz essa pergunta em português dentro do ChatGPT ou do Claude e recebe a resposta em uma frase, baseada em dados reais replicados das três fontes para um destino SQL único.

O MCP da Kondado entrega purchaseRevenue do GA4 e cost do Google Ads e Meta Ads no mesmo destino SQL, e o ChatGPT ou o Claude faz o JOIN por campaign_name e responde em PT natural na mesma sessão. O setup tem três passos: replicar GA4, Google Ads e Meta Ads para o destino Via Kondado, conectar o endpoint MCP https://mcp.kondado.io/mcp ao cliente compatível e autorizar via OAuth. O JOIN é feito por campaign_name, não por ID, porque IDs de campanha não bate entre plataformas e o nome bate na maioria dos casos quando a agência segue convenção de naming. A mesma sessão responde também atribuição cross-channel ("quanto Meta Ads gerou em engagedSessions no GA4" e "quanto virou purchaseRevenue") sem precisar montar dashboard nem abrir três telas.

Por que o ROAS do Gerenciador de Anúncios não fecha com o GA4?

O ROAS que o Gerenciador da Meta mostra é calculado a partir de eventos do Pixel/CAPI com atribuição click-through e view-through, geralmente em janela de 7 dias após clique e 1 dia após view. O Google Ads usa modelo de atribuição próprio, frequentemente data-driven, que dá crédito parcial a múltiplos toques. O GA4 usa last-click do session attribution por padrão e enxerga apenas o evento purchase disparado no site. Os três números divergem por construção, não por bug. A pergunta de negócio que o cliente faz, "quanto da minha receita declarada veio de mídia paga e quanto de cada plataforma?", precisa de uma fonte única que olhe os três dados lado a lado. O ROAS real cross-platform via MCP da Kondado entrega essa fonte única.

Como conectar GA4, Google Ads e Meta Ads ao ChatGPT em 3 passos?

  1. Replique as três fontes para um destino Via Kondado. No painel da Kondado, conecte o GA4 com OAuth analytics.readonly, o Google Ads com OAuth de leitura e o Meta Ads com login Facebook Business. Escolha as tabelas mínimas para ROAS cross-platform: ga4_ecommerce_revenue_daily, ga4_traffic_acquisition_daily, campaign_performance do Google Ads e ad_insights do Meta Ads. Replique para o destino SQL da sua preferência, listado no catálogo de destinos.

  2. Adicione o conector MCP no ChatGPT ou Claude. No cliente compatível, cole a URL https://mcp.kondado.io/mcp e siga o fluxo OAuth 2.1 que abre a página de consent em app.kondado.com.br. Cada sessão fica vinculada ao seu Via Kondado, e as queries são KSQL read-only sobre o destino que você acabou de configurar. Detalhes do fluxo estão na página de IA e MCP da Kondado.

  3. Pergunte ROAS real em português. No chat, escreva: "Compare purchaseRevenue por sessionCampaignName no GA4 com cost por campaign_name no Google Ads e Meta Ads no mês passado. Calcule ROAS real igual a purchaseRevenue dividido por cost. Liste as 20 campanhas com maior ROAS." O LLM monta o JOIN entre as três tabelas e devolve a resposta pronta para enviar ao cliente.

Qual a leitura SQL mental do JOIN GA4 + Google Ads + Meta Ads?

A consulta que o ChatGPT gera tem dois passos. Primeiro, soma purchaseRevenue por sessionCampaignName na tabela ga4_ecommerce_revenue_daily para o mês de referência. Segundo, soma cost por campaign_name em campaign_performance (Google Ads) e em ad_insights (Meta Ads) no mesmo recorte de datas. O JOIN é feito por campaign_name quando ele bate, ou por campaign_id quando a agência mantém naming consistente entre as plataformas. O cálculo final divide purchaseRevenue por cost, retornando ROAS real por campanha. Em texto SQL aproximado, a leitura é a seguinte. Some purchaseRevenue agrupado por sessionCampaignName filtrado para date entre o primeiro e o último dia do mês alvo, em ga4_ecommerce_revenue_daily. Una com a soma de cost agrupado por campaign_name em campaign_performance filtrado pelas mesmas datas, e por campaign_name em ad_insights filtrado pelas mesmas datas. Junte as três por campaign_name. Calcule ROAS como purchaseRevenue dividido por cost. Ordene por ROAS decrescente. Isso é o que o LLM lê quando você manda a pergunta em PT natural, e é por isso que a resposta volta certa na primeira tentativa.

Por que usar campaign_name e não campaign_id no JOIN?

IDs de campanha são únicos dentro de cada plataforma, mas não bata entre Meta Ads, Google Ads e GA4. Quando a agência cria a mesma campanha promocional em Meta Ads e Google Ads, ela aparece com IDs completamente diferentes em cada lado, e o GA4 só enxerga o que o utm_campaign registrou. Cruzar por ID exige uma tabela de correspondência manual que a agência precisa manter, o que devolve o problema original de planilha intermediária. Cruzar por campaign_name resolve o JOIN no momento da query, desde que a agência siga uma convenção de naming consistente, do tipo [YYYYMM]_[cliente]_[plataforma]_[tema]. O brief de pesquisa do cluster MCP-GA4 documenta este ponto como Learning 104, observado em conversas com agências da base. Se o naming não bate, o LLM avisa na resposta quais campanhas ficaram órfãs e a agência ajusta a convenção no mês seguinte.

Quais perguntas de ROAS real você consegue responder na mesma sessão?

A mesma conexão MCP que entrega o ROAS por campanha responde a uma lista de variantes que normalmente exigiriam relatórios separados em cada plataforma. Estão aqui as principais.

  1. Qual canal pago me deu maior ROAS real, descontando refund? O LLM consulta ga4_ecommerce_revenue_daily e usa purchaseRevenue no lugar de totalRevenue, porque purchase menos refund é o cálculo correto para e-commerce puro.
  2. Quais campanhas estouraram o CPA alvo neste mês, considerando atribuição GA4 last-click? O LLM divide cost por transactions agrupado por campanha, e ordena por CPA decrescente.
  3. De cada R$ gasto em Meta Ads no mês passado, quanto virou engagedSession no GA4 e quanto virou purchase? A consulta filtra sessionsourcemedium para padrões com facebook ou instagram em ga4_traffic_acquisition_daily, junta com ad_insights por data e devolve as duas taxas de conversão lado a lado.
  4. Qual a diferença entre conversões reportadas pela Meta via Pixel/CAPI e transactions no GA4 para a mesma campanha? O LLM compara purchases de ad_insights com transactions de ga4_ecommerce_revenue_daily para a mesma janela. A diferença é o gap clássico entre atribuição da plataforma de mídia e atribuição last-click do GA4, e o LLM ajuda a explicar a divergência ao cliente em PT.
  5. Qual ticket médio por campanha cruzada? Divide purchaseRevenue por transactions agrupado por sessionCampaignName e ordena.

Quais armadilhas semânticas o LLM precisa saber para não errar o ROAS?

Três armadilhas aparecem com frequência quando o LLM responde sobre ROAS cross-platform e a agência precisa conhecê-las para auditar a resposta.

  1. purchaseRevenue é diferente de totalRevenue. Para e-commerce puro, use purchaseRevenue, que já desconta refund. totalRevenue soma também assinatura e receita de anúncios, o que infla o ROAS de quem tem app monetizado por IAP. Se a pergunta pedir "receita de e-commerce", o LLM precisa selecionar purchaseRevenue. Se selecionar totalRevenue por padrão, o ROAS sai inflado em 10% a 40% dependendo da composição.

  2. bounceRate vai de 0 a 100, não de 0 a 1. Quando o LLM precisa filtrar campanhas por engagement antes de calcular ROAS, bounceRate igual a 94 significa 94% de rejeição, que é ruim. Se o LLM interpretar 94 como 0.94, ele acha que está bom e inverte o diagnóstico. Sempre peça para tratar bounceRate como percentual.

  3. Dados do GA4 finalizam em até 48 horas. O Google Analytics 4 só fecha os números do dia em até 48h. Se a agência pergunta "ROAS de ontem", o LLM deve avisar que os dados ainda não estão finalizados e sugerir D-2 como cutoff seguro. A Kondado replica seu GA4 na frequência que você escolher na integração, dentro do delay nativo do GA4.

Como reportar ROAS real para o cliente sem montar planilha?

Depois que o LLM devolve o ROAS real cross-platform por campanha, a agência tem duas saídas igualmente válidas. A primeira é continuar a conversa no chat e pedir o texto pronto para o relatório mensal: "Escreva um parágrafo em PT explicando por que o ROAS real ficou abaixo do ROAS do Gerenciador da Meta, citando a divergência entre atribuição CAPI e last-click GA4, e proponha duas ações de otimização." O LLM gera o parágrafo usando os números que acabou de calcular. A segunda saída é pedir uma exportação tabular para colar em apresentação: "Liste as 10 campanhas com maior ROAS real em formato de lista numerada, com campaign_name, cost, purchaseRevenue e ROAS." Em qualquer caso, os números vêm dos destinos replicados pela Kondado, não de exportações da última terça, e isso é o que diferencia o relatório cross-platform de uma planilha que vira pó na próxima alteração de campanha.

Por que via Kondado e não pedir pro ChatGPT ler GA4, Google Ads e Meta Ads direto?

Existem três razões práticas que decidem. A primeira é que GA4, Google Ads e Meta Ads não publicam servidor MCP oficial: qualquer conexão "direta" depende de scrapers ou conectores OAuth instáveis, que estouram quota de property quando o LLM bate muitas vezes na mesma sessão. A segunda é que a Kondado replica os dados na frequência que você escolher para um destino que você controla, e o LLM consulta o destino, não a API original. Sua quota fica intacta, o custo da consulta é previsível e a latência fica baixa. A terceira é o JOIN: cruzar GA4 com Google Ads e Meta Ads "direto" exige três conexões separadas, três sessões OAuth, e o LLM ainda precisa montar a junção no buffer da conversa, o que falha em volume. Com a Kondado, as três fontes vivem no mesmo destino e o JOIN é uma query SQL que o LLM gera em segundos.

Perguntas Frequentes

O ChatGPT consegue calcular ROAS real cruzando GA4, Google Ads e Meta Ads em uma sessão?

Sim, desde que as três fontes estejam replicadas para o mesmo destino SQL via Kondado e o conector MCP esteja autenticado no cliente. O ChatGPT acessa o destino via KSQL read-only, monta o JOIN por campaign_name e devolve ROAS real, ticket médio e CPA por campanha na mesma resposta.

Como o MCP da Kondado decide o que cada cliente pode consultar?

Cada sessão OAuth do MCP é vinculada a um Via Kondado específico. O LLM só enxerga as tabelas e modelos daquele Via Kondado, e todas as queries são read-only. Se a agência atende 20 clientes, cada cliente tem o seu próprio Via Kondado e a sua própria sessão MCP, sem cross-contaminação de dados.

Como tratar campanhas que não bate por campaign_name entre as plataformas?

O LLM avisa na resposta quais campanhas ficaram sem par no JOIN. A agência pode pedir uma lista das campanhas órfãs e ajustar a convenção de naming no mês seguinte, ou criar uma tabela de correspondência manual que vire um modelo no destino. O Learning 104 do cluster MCP-GA4 documenta este padrão de divergência em agências da base.

Qual a frequência de atualização dos dados replicados pela Kondado?

A frequência é configurável por integração na Kondado. Você pode ajustar para a cadência que faz sentido para o relatório do cliente, dentro do delay nativo de cada fonte. O GA4, em particular, finaliza dados do dia em até 48h, então recomenda-se usar D-2 como cutoff seguro para análises diárias.

A Kondado armazena os dados do GA4, Google Ads e Meta Ads em servidor próprio?

Não. Os dados são replicados para o destino SQL que você escolhe e controla. As opções estão no catálogo de destinos da Kondado, e incluem Google Sheets, Excel, BigQuery, PostgreSQL, MySQL, SQL Server, Redshift e Amazon S3. A agência continua dona dos dados em todos os cenários.

O MCP da Kondado funciona com Claude além do ChatGPT?

Sim. O endpoint https://mcp.kondado.io/mcp é único para todos os clientes MCP compatíveis. Claude, ChatGPT e qualquer outro cliente que suporte MCP com OAuth 2.1 conectam da mesma forma, com o mesmo passo a passo de autorização descrito no setup acima.

Pronto para responder ROAS real em uma frase em vez de cruzar três planilhas? Comece o teste grátis da Kondado com 30 integrações e 10 milhões de registros por 14 dias, sem cartão de crédito.

Como conectar GA4, Google Ads e Meta Ads ao ChatGPT via MCP da Kondado

Replique GA4, Google Ads e Meta Ads para um destino Via Kondado, conecte o endpoint MCP ao ChatGPT ou Claude e pergunte ROAS real cross-platform em português.

1
Replique as três fontes para um destino Via Kondado

No painel da Kondado, conecte o GA4 com OAuth analytics.readonly, o Google Ads com OAuth de leitura e o Meta Ads com login Facebook Business. Escolha as tabelas mínimas para ROAS cross-platform: ga4_ecommerce_revenue_daily, ga4_traffic_acquisition_daily, campaign_performance do Google Ads e ad_insights do Meta Ads. Replique para o destino SQL da sua preferência.

2
Adicione o conector MCP no ChatGPT ou Claude

No cliente compatível, cole a URL https://mcp.kondado.io/mcp e siga o fluxo OAuth 2.1 que abre a página de consent em app.kondado.com.br. Cada sessão fica vinculada ao seu Via Kondado, e as queries são KSQL read-only sobre o destino que você acabou de configurar.

3
Pergunte ROAS real em português

No chat, escreva: Compare purchaseRevenue por sessionCampaignName no GA4 com cost por campaign_name no Google Ads e Meta Ads no mês passado. Calcule ROAS real igual a purchaseRevenue dividido por cost. Liste as 20 campanhas com maior ROAS. O LLM monta o JOIN entre as três tabelas e devolve a resposta pronta para enviar ao cliente.

Perguntas frequentes

O ChatGPT consegue calcular ROAS real cruzando GA4, Google Ads e Meta Ads em uma sessão?
Sim, desde que as três fontes estejam replicadas para o mesmo destino SQL via Kondado e o conector MCP esteja autenticado no cliente. O ChatGPT acessa o destino via KSQL read-only, monta o JOIN por campaign_name e devolve ROAS real, ticket médio e CPA por campanha na mesma resposta.
Como o MCP da Kondado decide o que cada cliente pode consultar?
Cada sessão OAuth do MCP é vinculada a um Via Kondado específico. O LLM só enxerga as tabelas e modelos daquele Via Kondado, e todas as queries são read-only. Se a agência atende 20 clientes, cada cliente tem o seu próprio Via Kondado e a sua própria sessão MCP, sem cross-contaminação de dados.
Como tratar campanhas que não bate por campaign_name entre as plataformas?
O LLM avisa na resposta quais campanhas ficaram sem par no JOIN. A agência pode pedir uma lista das campanhas órfãs e ajustar a convenção de naming no mês seguinte, ou criar uma tabela de correspondência manual que vire um modelo no destino. O Learning 104 do cluster MCP-GA4 documenta este padrão de divergência em agências da base.
Qual a frequência de atualização dos dados replicados pela Kondado?
A frequência é configurável por integração na Kondado. Você pode ajustar para a cadência que faz sentido para o relatório do cliente, dentro do delay nativo de cada fonte. O GA4, em particular, finaliza dados do dia em até 48h, então recomenda-se usar D-2 como cutoff seguro para análises diárias.
A Kondado armazena os dados do GA4, Google Ads e Meta Ads em servidor próprio?
Não. Os dados são replicados para o destino SQL que você escolhe e controla. As opções incluem Google Sheets, Excel, BigQuery, PostgreSQL, MySQL, SQL Server, Redshift e Amazon S3. A agência continua dona dos dados em todos os cenários.
O MCP da Kondado funciona com Claude além do ChatGPT?
Sim. O endpoint https://mcp.kondado.io/mcp é único para todos os clientes MCP compatíveis. Claude, ChatGPT e qualquer outro cliente que suporte MCP com OAuth 2.1 conectam da mesma forma, com o mesmo passo a passo de autorização descrito no setup.

Escrito por·Publicado em 2026-05-26