Conversions API conectada, mas a Meta pede "Connect your CRM": o que falta?

Receber eventos pela Conversions API não cadastra a integração de CRM. O que a Meta exige em custom_data e action_source, e o passo seguinte, o funil.

Pedro Henrique Quadroatualizado em 4 min de leitura

Receber eventos pela Conversions API não é o mesmo que ter a integração de CRM que a Meta espera. A documentação trata a integração de Conversion Leads como separada da Conversions API padrão, porque os parâmetros obrigatórios são outros. Se os seus eventos de CRM chegam, mas o painel continua pedindo "Connect your CRM", no meu caso faltava neles a identificação de que vêm de um CRM, dentro de custom_data.

O que a documentação diz

Conferi a documentação em 10 de outubro de 2026. A página da integração diz que ela é "uma integração separada da sua configuração atual da Conversions API porque os parâmetros obrigatórios são diferentes". A mesma página lista as etapas: conectar o CRM com os anúncios de formulário, começar a integração, implementá-la, verificar os dados, configurar o funil de vendas e passar pelo período de aprendizado.

A especificação do payload define o que todo evento de CRM leva:

  • action_source, no nível principal do evento, com o valor system_generated.
  • event_source, dentro de custom_data, com o valor crm.
  • lead_event_source, também dentro de custom_data, com o nome da ferramenta de onde vêm os leads, como HubSpot, Salesforce ou um CRM próprio.
  • user_data, com pelo menos um parâmetro de identificação do cliente. O lead_id do formulário é o recomendado, de maior prioridade.
  • event_name, de texto livre, com o nome da etapa no seu CRM. A documentação pede enviar todas as etapas conforme mudam, inclusive a inicial.

O exemplo oficial tem este formato:

{
  "event_name": "minha etapa de lead",
  "event_time": 1617693833,
  "user_data": { "lead_id": 1234567890123456 },
  "action_source": "system_generated",
  "custom_data": {
    "lead_event_source": "Salesforce",
    "event_source": "crm"
  }
}

O que vi em produção

Num CRM que alimenta uma conta de anúncios, o painel de eventos mostrava a Conversions API como conectada e, mesmo assim, o aviso de benefício da conta listava um passo em aberto: conectar o CRM. Antes disso, a Meta já avisava que não recebia eventos da integração de CRM nos últimos 7 dias. Eu havia ligado o evento Lead com o nome padrão para calar o aviso, e ele sobreviveu.

O custom_data dos eventos levava só o nome do formulário. Não havia event_source nem lead_event_source, então cada evento chegava com events_received: 1 e sem se declarar de CRM. Acrescentei os dois campos no fluxo que monta o payload e testei com uma execução real: os eventos saíram com event_source: "crm" e lead_event_source com o nome do CRM, e a resposta voltou com events_received: 1. Sete dias depois, o passo do CRM estava verde, com o selo de eventos funcionando.

Repare na posição de cada campo: a origem principal é o action_source, com system_generated, e o event_source com crm fica dentro de custom_data, não no nível principal.

Não posso afirmar que esses dois campos foram a única causa. O que medi foi a mudança e o resultado depois dela, sem um teste que isole os dois.

O que ainda falta depois

Passar o passo do CRM não encerra a configuração. O painel então abriu o assistente de funil de vendas, com a coluna de etapas positivas vazia. Todas as etapas do CRM estavam em "outras etapas", que a Meta descreve como eventos que não indicam um lead de qualidade. Sem etapa positiva, não há alvo para otimizar por lead qualificado.

Ao configurar, a Meta pré-selecionou etapas intermediárias e finais e deixou o evento Lead bruto desmarcado, com um alerta para evitar leads brutos e otimizar por etapas que fiquem numa faixa de 1 a 40% de conversão e ocorram até 7 dias depois da geração do lead. A faixa de 1 a 40% também está na documentação, mas ali o prazo é outro: a etapa a otimizar deve ocorrer em até 28 dias depois da geração do lead. O 7 dias que o assistente mostrou não bate com esse número, então confira os dois na hora de escolher. E use a janela cheia para medir a conversão: a razão de um dia parcial não é taxa de conversão.

O que fazer

  1. Abrir o aviso no gerenciador de eventos e ler qual passo está pendente, em vez de mandar mais eventos.
  2. Conferir no payload os três campos: action_source principal, event_source e lead_event_source em custom_data.
  3. Enviar todas as etapas do CRM conforme mudam, com lead_id quando existir, ou e-mail e telefone com hash.
  4. Mapear no assistente do funil quais etapas contam como positivas. Essa escolha muda a otimização da conta de anúncios, então tome-a com quem administra a conta.
  5. Ao escolher a etapa, usar o evento que está de fato recebendo dados, não um duplicado de nome parecido.

Se o seu CRM e os anúncios não conversam do jeito que a Meta espera, veja vendas e CRM com IA.

Fontes

  1. Meta: integração Conversion Leads (separada da Conversions API padrão, etapas de onboarding e funil)
  2. Meta: especificação do payload de Conversion Leads (action_source, event_source, lead_event_source, user_data, event_name)
Pedro Henrique QuadroEngenheiro de software e IA. Constrói aplicativos, sistemas, painéis e agentes de IA em produção, e tem código aceito no Supabase, no Kestra e no QuestDB.

Continue lendo