Subir conversão de CRM para Meta e Google tem três limites que decidem o projeto: a janela retroativa, de 7 dias no Meta com system_generated e 90 dias no Google; o serviço antigo de upload do Google, fechado para integração nova; e o toggle de conversões otimizadas para leads, que não tem endpoint e bloqueia o casamento por e-mail.
Conversão de CRM é o estágio do funil comercial devolvido à plataforma como evento, e ela muda o que o leilão persegue. Segundo as medições que fizemos na API do Meta, a janela retroativa é de 7 dias para eventos system_generated (erro 2804003 fora dela) e de 63 a 90 dias em physical_store; no Google, 90 dias. Abaixo, o serviço que fechou para integração nova, o gate sem endpoint, por que e-mail costuma ganhar do gclid, o efeito colateral no tCPA e a chave de dedupe.
Devolver o desfecho comercial para a plataforma é a decisão de mensuração com maior retorno que existe hoje em mídia paga. Também é a que mais quebra na implementação, porque quase toda a dificuldade está em detalhes que nenhum tutorial menciona: quanto tempo para trás a API aceita, qual serviço ainda está aberto para integração nova, e qual botão sem endpoint bloqueia o casamento dos dados.
Este artigo é o que aprendemos ligando esse circuito em série, cliente atrás de cliente, com os números que medimos contra as APIs, não com o que a documentação promete.
Por que devolver estágio de CRM muda o leilão
Quando você envia venda fechada, reunião realizada ou lead qualificado de volta para o Meta e para o Google, o algoritmo para de perseguir formulário preenchido e passa a perseguir o desfecho que paga a conta. A lógica está detalhada em Seu CRM é uma mina de ouro: devolva quem pagou para o algoritmo e em Conversão offline no Google Ads: como devolver a venda fechada ao algoritmo.
O que vem abaixo é a camada de baixo, a que decide se o circuito vai funcionar ou vai devolver sucesso falso durante três semanas.
Janela retroativa: quanto tempo para trás cada plataforma aceita
Essa é a primeira pergunta a responder, porque ela define se existe backfill ou se o projeto começa do zero e só cresce daqui para frente. Medimos contra as APIs, incluindo busca binária no Meta para achar o limite real.
| Destino | Método ou action_source | Janela retroativa medida |
|---|---|---|
| Meta CAPI | system_generated |
7 dias (acima disso, error_subcode 2804003) |
| Meta CAPI | other |
7 dias |
| Meta CAPI | physical_store |
90 dias num cliente, 63 dias aceitos em outro |
| Google Ads | upload de conversão | 90 dias |
A leitura prática: backfill de verdade no Meta só existe usando physical_store, e o preço é o evento aparecer como conversão de loja física no Events Manager. Para histórico de estágio de CRM, isso costuma valer a pena uma vez, no arranque. Depois, o certo é envio diário.
A divergência entre 90 e 63 dias entre dois clientes é honesta e vale registrar: medimos em momentos diferentes, e o limite não está documentado com clareza. Se o seu backfill depende disso, meça antes de prometer.
O serviço do Google que fechou para integração nova
Descoberto na marra: o ConversionUploadService.UploadClickConversions da API do Google Ads responde que integrações novas devem usar a Data Manager API e que o uso está limitado a quem já usava.
O detalhe que custa dias: ele devolve o campo results preenchido junto do partialFailureError. Quem olha o results para confirmar sucesso vai achar que subiu tudo. Sempre leia o partialFailureError primeiro.
A rota válida hoje é POST https://datamanager.googleapis.com/v1/events:ingest, que exige o escopo OAuth datamanager. Refresh token de Google Ads carrega só o escopo adwords, então a primeira chamada devolve 403 ACCESS_TOKEN_SCOPE_INSUFFICIENT.
E existe uma cadeia de 403 encadeados que confunde: escopo faltando e API desabilitada no projeto do Google Cloud devolvem exatamente o mesmo HTTP 403, mudando só o campo reason entre ACCESS_TOKEN_SCOPE_INSUFFICIENT e SERVICE_DISABLED. Um esconde o outro. Você resolve o primeiro e o segundo aparece, dando a impressão de que a correção não funcionou.
O gate que não tem endpoint de escrita
No Google, o upload por e-mail hasheado depende de dois estados na conta. O primeiro, aceite dos termos de dados do cliente, geralmente já está ligado. O segundo é o que trava: o toggle de conversões otimizadas para leads.
Ele não tem endpoint de escrita. É clique na interface, em Objetivos, Conversões, Configurações. Com ele desligado, o upload sobe sem erro e não casa com clique nenhum, ou seja, você queima os eventos.
O jeito de não perder tempo com isso é ler o estado do flag antes de enviar e bloquear o próprio upload quando ele estiver desligado, para não gastar evento contra uma conta que não vai casar.
A escolha do estágio a devolver é assunto de qual etapa do CRM virar evento de conversão; a diferença de coleta entre pixel e servidor está em CAPI contra pixel; e o rastreamento de conversões é o pré-requisito dos dois. De acordo com a base de um cliente, o gclid existia em 2,2% dos contatos (23 de 1.065) contra e-mail em 98,4%; em outro, telefone casava 100%, e-mail 91% e lead_id 24%.
E-mail costuma ganhar do gclid, e a diferença é brutal
Aqui está o número que muda a decisão técnica inteira. Num cliente, o identificador de clique do Google existia em 2,2% dos contatos, 23 de 1.065. O e-mail existia em 98,4%.
Escolher casamento por identificador de clique naquela base significaria abrir mão de 97% dos dados. Por isso o método foi conversão otimizada para leads, por e-mail hasheado, e não upload por identificador de clique.
Em outro cliente, a cobertura de chave de match na janela de sete dias ficou assim: telefone 100%, nome 100%, e-mail 91%, identificador de lead 24%. E esse 24% só existiu porque o identificador foi herdado do negócio anterior pelo contato. Sem essa herança, seriam 10%.
A regra vira simples: meça a cobertura de cada chave no CRM antes de escolher o método. A decisão é do dado, não da preferência.
Conforme a mesma auditoria, 43% dos leads eram bots (52 de 120 em 45 dias), e é esse tipo de contato que a conversão de CRM tira do treino do algoritmo quando o estágio devolvido é o certo. O efeito colateral aparece no teto de CPA lido pela margem: o volume cai antes de o CAC real melhorar, o mesmo mecanismo descrito em seu CRM é uma mina de ouro.
O efeito colateral que precisa ser combinado antes, nunca depois
Conversão vinda de CRM entra como primária. Sempre. Secundária aparece no relatório e não entra no lance, e mudar o lance é o objetivo inteiro do exercício.
A consequência precisa estar acordada com o cliente antes de subir: o mesmo lead passa a contar várias vezes na coluna de conversões, uma vez por estágio do funil que ele atravessa, somado à conversão de lead do site. Num cliente com quatro estágios, o mesmo lead conta até cinco vezes. O custo por aquisição das campanhas fica artificialmente barato até a meta ser recalibrada.
Não é bug, é aritmética. Mas é a conversa mais difícil do primeiro mês se ela acontecer depois do relatório e não antes.
O mesmo efeito aparece sem CRM nenhum, por metas de conversão múltiplas. Numa conta de busca com quatro metas marcadas como biddable, envio de formulário, agendamento, lead qualificado e lead convertido, o mesmo lead contava em cada estágio. Para ler volume real, use a contagem de lead consolidada, nunca o total de conversões.
E fique atento a formatos que contam conversão por visualização engajada, sem clique. Numa conta, o Google declarou 57 conversões no mês e só 12 contatos chegaram ao CRM com identificador de clique. A causa era uma campanha de Demand Gen, responsável por 49 das 57. Nossa régua de painel: divergência entre declarado e CRM até 25% é ruído de atribuição, acima disso o número do gerenciador é evento, não lead.
Dedupe: a chave que evita mandar a mesma venda duas vezes
A chave que usamos é a combinação de identificador do negócio, identificador do estágio e carimbo de tempo da transição. Ela vai nos três lugares ao mesmo tempo: no controle local, no event_id do Meta e no orderId do Google. Assim a deduplicação funciona mesmo se a mesma rodada for executada duas vezes.
Três detalhes que economizam retrabalho:
- Só a primeira entrada em cada estágio vira evento. Negócio reaberto não pode virar venda nova.
- Carimbo de tempo do CRM pode variar de formato no mesmo histórico, vindo com e sem milissegundos. Normalize antes de usar como parte da chave.
- Nome de evento sempre em minúsculo, incluindo os do catálogo padrão. Catálogo misto no mesmo pixel é dor de cabeça garantida na hora de montar conversão personalizada.
E um detalhe de autenticação que já custou tarde de trabalho: token de Conversions API gerado pelo botão do Events Manager só funciona com o token como parâmetro de query. Com header de autorização ele devolve permissão faltando, sempre.
Qual gatilho usar: criação de registro ou mudança de estágio
Depende do CRM, e essa é uma escolha de arquitetura, não de gosto.
Num cliente de educação, 43% dos leads que a ferramenta de marketing entregava ao CRM eram bots, 52 de 120 em 45 dias, com títulos aleatórios. Nenhum deles avançava de estágio. Ali, disparar por mudança de estágio filtrou o lixo de graça, sem precisar escrever regra nenhuma. O custo foi o Meta não receber o estágio inicial do lead.
Em outro cliente, o oposto: a maior parte dos leads qualificados nasce já no estágio, e criar registro não dispara evento de edição. Ali, ignorar o gatilho de criação faria o circuito perder a maioria dos eventos.
Antes de escolher, olhe a distribuição real: quantos registros nascem no estágio alvo e quantos chegam nele por movimentação.
Checklist antes de ligar o circuito
- Meça cobertura de e-mail, telefone e identificador de clique no CRM, por pipeline, não na base inteira.
- Confirme o escopo OAuth e a habilitação da API no projeto antes de escrever a primeira linha.
- Ligue o toggle de conversões otimizadas para leads e leia o estado dele no código.
- Defina a janela de backfill de acordo com o limite real, não com o desejado.
- Escolha o gatilho olhando onde os registros nascem.
- Combine com o cliente que o custo por conversão vai cair artificialmente e que a meta será recalibrada.
- Use uma chave de dedupe única nos três sistemas.
- Leia sempre o erro parcial, nunca só o campo de resultado.
Quem quiser a base conceitual antes da implementação, vale ler API de conversões do Meta (CAPI): o que é e por que sua conta fecha vendas que o algoritmo não vê e CAPI vs pixel: a diferença e por que você precisa dos dois. E se a discussão na sua empresa ainda é sobre qualidade do que chega, o ponto de partida é Qualidade de lead em mídia paga: por que SQL caro vence MQL barato.
Perguntas frequentes
As dúvidas que mais aparecem quando o assunto chega na reunião de verba.
Quantos dias para trás o Meta aceita conversão de CRM?
Com action_source system_generated ou other, a janela medida é de 7 dias, e acima disso a API devolve o error_subcode 2804003. Com physical_store a janela abre bastante, entre 63 e 90 dias conforme a medição, mas o evento passa a aparecer como conversão de loja física no Events Manager. O Google aceita 90 dias.
Ainda dá para usar o upload de conversão por clique do Google Ads?
Só quem já usava. Para integração nova, a API responde que o caminho é a Data Manager API, no endpoint events:ingest, que exige o escopo OAuth datamanager. O detalhe perigoso é que o serviço antigo devolve o campo de resultados preenchido junto do erro parcial, então parece sucesso para quem não lê o erro.
Devo casar por gclid ou por e-mail hasheado?
Pelo que tiver cobertura no seu CRM. Num cliente medimos identificador de clique em 2,2% dos contatos contra e-mail em 98,4%, e ali o e-mail era a única escolha racional. Meça a cobertura de cada chave por pipeline antes de decidir, porque a resposta muda de conta para conta e de origem para origem.
Conversão de CRM deve entrar como primária ou secundária?
Primária. Conversão secundária aparece no relatório e não entra no lance, então ela não muda o comportamento do algoritmo, que é o objetivo inteiro. O preço é que o mesmo lead passa a contar uma vez por estágio, somado à conversão do site, e o custo por aquisição fica artificialmente barato até a meta ser recalibrada.
Por que o Google declara muito mais conversão do que o CRM registra?
Costuma ser definição, não bug. Metas múltiplas marcadas como biddable fazem o mesmo lead contar em cada estágio, e formatos como Demand Gen contam conversão por visualização engajada, sem clique. Nossa régua: divergência de até 25% entre declarado e CRM é ruído de atribuição, acima disso o número é evento e não lead.
Diagnóstico de Mídia Paga: auditoria gratuita de 30 minutos, sem compromisso
Agendar diagnóstico gratuito
Continue por aqui
Quer esse olhar aplicado na sua conta?
A conversa começa por um diagnóstico do que está travando a operação hoje. Leva menos de um minuto para preencher, e não tem pitch na primeira conversa.
Pedir diagnóstico →