Documentation Integrações

Conecte o Google Ads Data Manager

Uma compra confirmada por webhook — Hotmart, Kiwify, Yampi, WooCommerce — acontece fora do navegador. Ela chega ao seu Node, mas a tag do Google Ads na página nunca a viu. A Fonte de dados fecha esse buraco: o Supreme publica um arquivo autenticado no seu Node e o Google Ads vem buscá-lo sozinho, todo dia.

Este manual cobre o procedimento inteiro, dos dois lados, e termina com um guia de resolução de problemas ligando o que o Google mostra ao que fazer no Supreme.

Tempo estimado: 20 minutos de configuração, mais 3 a 48 horas até os números aparecerem no Google Ads.

Como funciona, em um parágrafo

O modelo é de busca, não de envio. O Supreme mantém um arquivo CSV atualizado em uma URL protegida por usuário e senha; você entrega essa URL ao Google Ads uma única vez; o Google passa a buscá-la no horário que você agendar. A frequência máxima do Google é uma vez por dia — não existe hora em hora, não existe tempo real, e não há configuração que mude isso.


Antes de começar

Na conta do Google Ads

Requisito Onde conferir
Marcação automática (auto-tagging) ligada Nas configurações da conta, na opção Auto-tagging. Sem ela não existe gclid, e sem gclid não há conversão offline para importar.
Acesso de administrador Criar conexão no Data manager exige permissão de admin na conta.
Uma ação de conversão do tipo importação Você cria na Etapa 1, se ainda não tiver.
Contagem "Every" Na ação de conversão, se a mesma pessoa pode converter mais de uma vez pelo mesmo clique.

No seu Supreme

Requisito Onde conferir
Uma Propriedade ativa com os domínios do site Console → Propriedades. Veja Crie sua primeira Propriedade.
O módulo Google Ads instalado e ativo Console → Integrações → Gerenciar Módulos.
Uma conexão do Google Ads nessa Propriedade Console → Integrações → Google Ads.
Eventos chegando há pelo menos alguns dias Console → Eventos. O arquivo é montado a partir do que o seu Node já tem.

Tenha em mãos

O nome exato da ação de conversão no Google Ads. Você vai digitá-lo dentro do Supreme, e ele precisa ser idêntico — mesma grafia, mesmos acentos, mesmas maiúsculas.


O caminho certo dentro do Google Ads

Use Tools > Data manager.

Não use Goals > Conversions > Uploads. As duas telas se chamam "HTTPS" e são incompatíveis:

  • a tela antiga exige um preâmbulo Parameters:TimeZone= na primeira linha do arquivo e nomes de coluna fixos, que o arquivo do Supreme não tem;
  • e o que entra por ela não aparece no Data manager.

Quem escolhe a tela errada monta uma conexão que o nosso arquivo nunca vai satisfazer, e o erro só aparece dias depois. Confira o topo da tela antes de colar qualquer coisa.


Etapa 1 — Crie a ação de conversão no Google Ads

Pule esta etapa se a ação já existe. Para Customer Match, pule direto para a Etapa 2.

  1. Vá em Goals > Summary.
  2. Clique em + New conversion action.
  3. Escolha Import.
  4. Escolha "CRMs, files, or other data sources" e depois "Track conversions from clicks".
  5. Dê um nome à ação. Anote esse nome exatamente como você digitou — ele vai para o Supreme na próxima etapa.
  6. Em contagem, escolha Every se a mesma pessoa pode comprar mais de uma vez pelo mesmo clique.
  7. Salve.

Etapa 2 — Crie a fonte no Supreme

No Console, abra Integrações → Google Ads, na Propriedade que você quer publicar. A fonte de dados é por Propriedade: cada Propriedade tem as suas.

Bloco Fonte de dados na conexão do Google Ads, ainda sem nenhuma fonte criada, com o botão Criar fonte de dados O bloco fica na conexão do Google Ads, dentro da Propriedade que você quer publicar.

No bloco Fonte de dados, clique em Nova fonte e escolha a Ação de dados:

Se escolher conversions — Conversões offline (Data Manager)

Campo O que preencher
Evento canônico O evento do seu Node que representa a conversão — normalmente purchase.
Nome da conversão no Google Ads Idêntico ao nome da ação de conversão da Etapa 1.
Nome (opcional) Só para você distinguir várias fontes na mesma Propriedade.

Formulário de nova fonte com a ação Conversões offline, o evento canônico purchase e o nome da conversão no Google Ads preenchidos O evento canônico e o nome da conversão só aparecem depois que você escolhe a ação de dados.

É este mesmo arquivo que alimenta as conversões otimizadas (enhanced conversions): ele já carrega e-mail e telefone com hash junto do identificador de clique.

Se escolher customer-match — Lista de Customer Match

Campo O que preencher
Escopo da audiência Todos os contatos (qualquer pessoa com evento nesta Propriedade) ou Somente compradores.
Nome (opcional) Só para você distinguir várias fontes.

Ao salvar

O Supreme devolve três coisas: uma URL da fonte, um Usuário e uma Senha.

Fonte de dados criada, mostrando URL da fonte, usuário e o botão Mostrar senha A URL, o usuário e a senha da fonte. É isso que vai para o Data manager.

Copie a senha agora. Ela é gerada uma vez; se você sair da tela sem copiar, o Console avisa que ela não pode mais ser lida no Node e você terá de gerar uma nova.


Etapa 3 — Crie a conexão HTTPS no Data manager

  1. No Google Ads, abra Tools > Data manager.
  2. Clique em Connect product e escolha a fonte de dados HTTPS.
  3. Cole a URL da fonte, o Usuário e a Senha que o Supreme mostrou.
  4. Dê um nome à conexão. Esse nome nunca pode mudar depois — o Google exige o mesmo nome de fonte a cada atualização, e mudá-lo quebra a integração.
  5. Avance para o mapeamento de campos.

Caixa Como configurar no Google Ads, com os quatro passos e o aviso para não usar Goals > Conversions > Uploads O próprio Console repete o caminho certo e o aviso da tela errada, ao lado da fonte.

Etapa 4 — Mapeie os campos

O Google mostra as colunas do nosso arquivo de um lado e os campos de destino dele do outro, e pede que você ligue um ao outro. Isso é normal: neste caminho os nossos nomes de coluna não precisam ser iguais aos rótulos do Google, e colunas a mais são permitidas — o Google ignora o que você não mapear.

Arquivo conversions

As colunas saem nesta ordem:

Coluna do arquivo Campo de destino no Google Obrigatório?
conversion_action Conversion action recomendado
gclid GCLID sim, na prática
gbraid GBRAID opcional (cliques em app, iOS 14+)
wbraid WBRAID opcional (cliques web, iOS 14+)
conversion_date_time Conversion date and time sim
order_id Order ID recomendado
conversion_value Conversion value opcional
conversion_currency Conversion Currency mapeie se aparecer na lista (veja Moeda)
event_source Event source opcional
user_agent User agent opcional
email Email Address para conversões otimizadas
phone Phone number para conversões otimizadas

email e phone já saem com hash SHA-256, como o Google espera para dados pessoais. Todo o resto sai em texto puro — isso é proposital e obrigatório: um arquivo com hash em coluna que não é dado pessoal o Google não consegue ler.

Arquivo customer-match

Coluna do arquivo Campo de destino no Google Observação
email Email hash SHA-256
phone Phone number hash SHA-256
first_name First name hash SHA-256
last_name Last name hash SHA-256
country_code Country code texto puro, minúsculo
postal_code Postal code texto puro
user_id User_id exige uma conexão própria — uma conexão carrega um tipo de dado só

Não mapeie user_id na mesma conexão de e-mail/telefone: o Google trata identificadores de contato e IDs próprios como tipos de dado diferentes.


Etapa 5 — Agende e rode

  1. Escolha a frequência: daily é o recomendado e também o máximo.
  2. Defina o horário de início e o fuso do agendamento.
  3. Marque "Also run now" para não esperar até amanhã pela primeira execução.
  4. Salve.

Etapa 6 — Confira os dois lados

No Supreme

Volte ao bloco Fonte de dados. Depois da primeira busca, a linha Última busca mostra:

Campo O que significa
Última busca quando o Google buscou o arquivo pela última vez (horário UTC do Node).
Estado da busca Arquivo servido (verde) ou Servido com corte (vermelho — bateu em um limite).
Linhas servidas quantas linhas o arquivo tinha naquela busca.
Bytes servidos o tamanho do arquivo naquela busca.
Duração quanto tempo o seu Node levou para montar e servir.

Linha de métricas da conexão com Última busca, Estado da busca Arquivo servido, Linhas servidas, Bytes servidos e Duração Depois da primeira busca do Google: arquivo servido, 4 linhas, 1,2 kB, 4 ms.

Se ainda estiver escrito "O Google ainda não buscou" depois de você ter marcado Also run now, o Google não chegou até o seu Node — vá direto para Resolução de problemas.

No Google Ads

Na página da conexão, abra View connection runs: é o log de execução, linha a linha. Os indicadores Needs attention e Urgent e a seção Connection quality ficam na mesma página.

Quando os números aparecem

  • Cerca de 3 horas para uma conversão importada aparecer nas colunas de relatório.
  • De 24 a 48 horas para os números estabilizarem.
  • Até 48 horas para uma lista de Customer Match terminar de processar.

Some a isso o agendamento. Conferir uma hora depois e não ver nada não é falha.


O que exatamente vai dentro do arquivo

Vale conhecer, porque quase toda dúvida de "faltou conversão" se resolve aqui.

Recorte dos dados

  • Somente eventos daquela Propriedade, com o nome de evento configurado na fonte.
  • Janela móvel de 60 dias para trás, sempre.
  • Eventos de sandbox nunca entram.
  • Teto de 10.000 linhas, 16 MB ou 20 segundos de montagem por busca — o que vier primeiro.

Quais eventos viram linha

Uma conversão só entra se tiver pelo menos um identificador: gclid, gbraid, wbraid, ou e-mail/telefone com hash. Uma compra sem nenhum dos dois não tem como ser casada pelo Google e é omitida em vez de virar lixo no relatório.

Como cada campo é montado

  • conversion_date_time sai como 2026-08-24 17:01:54 Z — o horário do evento em UTC, com o fuso explícito no próprio valor. Não configure nenhuma transformação de data no Data manager: o valor já está completo.
  • order_id é o identificador da transação da compra. Quando não existe compra associada, o Supreme usa o id interno do evento, para que a linha continue tendo um identificador estável.
  • conversion_value sai com ponto decimal (149.90) e fica vazio quando o evento não tem compra associada.
  • event_source sai como WEB quando o evento veio do navegador e OTHER quando veio de webhook.
  • email e phone são normalizados antes do hash (minúsculas, telefone em E.164). Nenhum dado pessoal em texto puro sai do seu Node.

No arquivo de Customer Match, uma pessoa entra se tiver e-mail ou telefone ou o conjunto completo nome + sobrenome + país + CEP. O arquivo expressa a lista inteira a cada busca: para remover alguém, a pessoa deixa de aparecer no arquivo e a permanência dela expira pelas regras do Google.


Manutenção

Gerar uma nova senha

Nova senha mantém a mesma URL e invalida a senha atual na hora. A próxima busca do Google falha até você colar a nova no Data manager. Faça as duas coisas na mesma sessão.

Pausar

Pausar mantém URL e senha. Enquanto está pausada, a fonte responde 503 e nada é lido. Retomar é um clique. É o caminho certo para interromper temporariamente.

Excluir

Excluir **destr

Confirmação de exclusão da fonte, avisando que a URL é destruída para sempre e que a conexão do lado do Google precisa ser refeita O Console avisa o que a exclusão custa antes de confirmar.ói a URL para sempre. Como o Google exige o mesmo nome de fonte a cada atualização, uma fonte recriada tem outra URL e a conexão precisa ser refeita dentro do Google Ads. Se a intenção é temporária, use Pausar**.


Resolução de problemas

Como testar a URL você mesmo

O jeito mais rápido de separar "problema no Google" de "problema no Node" é buscar o arquivo você mesmo, de qualquer terminal:

curl -u "USUARIO:SENHA" -D - -o conversions.csv "URL_DA_FONTE"

O que a primeira linha da resposta diz:

Resposta Significado O que fazer
200 Está tudo certo. Abra o CSV: primeira linha é o cabeçalho. Se o Google ainda falha, o problema está na conexão dele — confira usuário/senha e o nome da fonte.
401 Usuário ou senha não conferem, ou a fonte não existe mais. Gere uma Nova senha no Console e cole no Data manager.
503 A fonte está Pausada, ou a Propriedade está inativa, ou a conexão do Google Ads não está utilizável. Retome a fonte; confira se a Propriedade está Ativa.
404 O módulo Google Ads está inativo neste Node, ou a URL foi alterada. Reative o módulo em Gerenciar Módulos; confira se a URL colada é exatamente a que o Console mostra.
429 Buscas demais em pouco tempo — o limite é 60 leituras autenticadas a cada 5 minutos. Espere o tempo indicado no cabeçalho Retry-After. Uma conexão diária nunca chega perto disso.

Cada teste seu consome uma leitura desse limite — teste à vontade, só não deixe um laço rodando.

O Google mostra um erro

Mensagem no Google Ads Causa real Solução
Invalid DATA_SOURCE credentials A senha no Data manager não é mais a válida — quase sempre porque alguém gerou uma nova no Console. Gere uma Nova senha e cole no Data manager. Como a requisição é recusada antes de chegar aos dados, o Supreme não registra nada: a Última busca simplesmente para de avançar.
Source for DATA_SOURCE not found A fonte foi excluída, ou a URL colada está incompleta. Compare a URL do Data manager com a que o Console mostra. Se a fonte foi excluída, crie outra e refaça a conexão.
Connection failed its last run Genérico. Rode o teste com curl acima para descobrir qual dos casos é. Conforme a tabela anterior.
Invalid DATA_SOURCE format / Column headers aren't readable Quase sempre é a tela errada: a conexão foi criada em Goals > Conversions > Uploads, que espera outro formato de arquivo. Refaça a conexão em Tools > Data manager.
Missing required column O mapeamento não ligou um campo obrigatório — normalmente Conversion date and time. Reabra o mapeamento e ligue as colunas da Etapa 4.
Mensagens de linha duplicada no log de execução Estado normal. O Supreme serve de novo, de propósito, uma janela sobreposta, para que uma execução que falhe ou atrase não perca nada. O Google deduplica sozinho. Nada a fazer.
Your conversions may be overcounted Os identificadores de transação do arquivo e da tag de navegador não estão casando (o Google alerta quando menos de 10% casam em 2 dias). Confirme que a mesma Propriedade não está enviando transaction_id diferente pela tag e pelo webhook. O arquivo usa o identificador da compra registrada no Node.

O Supreme mostra um problema

Sintoma no Console Causa Solução
Servido com corte (truncated) O arquivo bateu no teto de 10.000 linhas, 16 MB ou 20 segundos. Como o arquivo é montado da conversão mais antiga para a mais nova, o corte cai justamente nas mais recentes. Reduza o volume por fonte: use um evento canônico mais específico, ou separe as Propriedades. Se a Propriedade sozinha ultrapassa 10.000 conversões em 60 dias, fale com o suporte antes de confiar no arquivo.
Linhas servidas: 0 O nome do evento canônico não existe no Node; ou nenhum evento da janela tem identificador de clique nem e-mail/telefone; ou a Propriedade não recebeu eventos nos últimos 60 dias. Console → Eventos: confirme o nome exato do evento e que ele está chegando naquela Propriedade.
Última busca não avança O Google não chegou ao Node — credencial recusada, fonte pausada, ou a conexão nem chegou a rodar. Faça o teste com curl e siga a tabela de respostas.
Nada em lugar nenhum A conexão pode nem ter sido agendada. No Data manager, confira se existe um agendamento e use "Start a connection run" para rodar na hora.

Onde ficam os registros no seu Node

Console → LogsLOGS DO NODE, filtrando o canal datasource. Uma busca que terminou em erro ou com corte grava um registro de nível ERRO com os códigos datasource_error ou datasource_truncated, com id da fonte, linhas e bytes. Uma busca normal não gera log — ela aparece só na linha Última busca.

As conversões chegaram, mas não aparecem no relatório

Confira nesta ordem:

  1. Ainda é cedo. ~3 h para aparecer, 24–48 h para estabilizar.
  2. O nome da conversão não bate. O valor de Nome da conversão no Google Ads na fonte precisa ser idêntico ao da ação de conversão.
  3. A conversão é velha demais. O Google não importa conversão com mais de 90 dias desde o clique (63 dias quando o casamento é por e-mail/telefone em vez de gclid).
  4. A ação de conversão não está incluída em "Conversions". Uma ação marcada como secundária aparece em outra coluna do relatório.

Caixa O que esperar, listando o modelo de busca, a latência de 3 a 48 horas, as linhas duplicadas como estado normal, a rotação de senha, a exclusão e o Customer Match O resumo que fica ao lado da fonte, dentro do Console.

Limites que você precisa conhecer

O Supreme nunca mostra a confirmação do lado do Google

O Supreme sabe que serviu o arquivo: quando, quantas linhas, quantos bytes, em quanto tempo. Ele não tem como saber o que o Google fez com o arquivo depois.

Isso não é funcionalidade faltando nem item de roadmap: neste caminho não existe callback, webhook, exportação nem API de status — não há canal por onde essa informação pudesse voltar. O diagnóstico da importação existe apenas dentro do Data manager.

Divida as perguntas assim:

  • O arquivo foi servido, com quantas linhas e quando? → Console do Supreme, bloco Fonte de dados.
  • O Google processou o arquivo, e o que ele fez com cada linha? → Google Ads, Data manager, na página da conexão.

Customer Match tem um requisito do próprio Google

Para usar a segmentação por Customer Match, a conta precisa de mais de 90 dias de histórico e mais de USD 50.000 de investimento acumulado, além de um mínimo de 100 registros na lista. O Supreme não contorna isso: a fonte continua sendo criada e servida, mas a segmentação só liga quando a conta se qualifica.

Moeda

O valor da conversão vai na moeda que a conta do Google Ads espera. O arquivo carrega a coluna conversion_currency, mas Conversion Currency não é um campo de destino documentado no fluxo de conversões do Data manager — se ele aparecer na sua lista de mapeamento, ligue; se não aparecer, a coluna é simplesmente ignorada, o que é permitido.

Se você opera em mais de uma moeda, confira o valor das conversões importadas nos primeiros dias antes de otimizar campanhas por valor.

Frequência

Uma vez por dia é o teto do Google. Quem precisa de confirmação por evento e de latência de minutos precisa de uma integração de envio, com OAuth e projeto próprio na nuvem — outro produto, não uma configuração desta tela.

Saiba mais sobre a arquitetura por trás desta tela: A lane de Fonte de dados.