No mercado de intermediação e indicação imobiliária, a velocidade de atendimento dita o sucesso da conversão. Quando um potencial comprador demonstra interesse por um imóvel, cada minuto de atraso no contato reduz as chances de fechamento. No entanto, muitas empresas enfrentam um gargalo operacional crítico: capturam contatos simultaneamente via Meta Lead Ads e formulários do Google Ads, mas operam com um CRM próprio (desenvolvido sob medida em Node.js ou hospedado em ambientes como o Replit), sem integrações nativas prontas para uso.
Depender de exportações manuais de planilhas ou pagar planos corporativos caros em ferramentas de integração convencionais cria atritos desnecessários. A solução ideal é construir um pipeline centralizado e escalável usando o n8n. A seguir, você entenderá como arquitetar esse fluxo ponta a ponta.
1. O Desafio da Heterogeneidade de Dados
Cada plataforma de anúncios entrega os dados do lead em uma estrutura completamente diferente:
- Meta Lead Ads: Envia notificações via webhook com um ID de lead (
leadgen_id), exigindo uma requisição subsequente à Graph API para recuperar os campos preenchidos, ou entrega um payload contendo arrays de chave-valor (field_data). - Google Ads: Envia os dados diretamente via webhook HTTP POST configurado na extensão de formulário de lead, utilizando um array
user_column_dataprotegido por uma chave de validação (google_key). - CRM Próprio (Backend Node.js): Espera um endpoint REST limpo (como
POST /api/leads), com JSON padronizado contendo campos comonome,email,telefone,origeme metadados da campanha.
2. Arquitetando o Fluxo de Ingestão no N8N
Para unificar essas fontes sem sobrecarregar seu backend, o n8n atua como middleware de orquestração e normalização.
Passo 1: Recebimento Seguro dos Dados
- Para o Meta Lead Ads: Utilize o nó nativo
n8n-nodes-base.facebookTriggerou configure um nóWebhookgenérico conectado ao seu Meta App configurado para webhooks deleadgen. O nó gerencia a verificação do webhook (hub.challenge) e recebe a carga útil do anúncio. - Para o Google Ads: Crie um nó
Webhookexclusivo para o Google. Na configuração do formulário de anúncio do Google, insira a URL do webhook do n8n e defina uma chave de segurança. No n8n, adicione um nóIFpara validar se a chave enviada no payload corresponde à sua chave secreta antes de processar os dados.
Passo 2: Normalização de Dados com o Nó Code (JavaScript)
Como especialista em N8N, recomendo padronizar as variáveis antes de qualquer interação com o banco de dados. Um nó Code permite transformar os formatos díspares do Google e da Meta em uma estrutura única.
Exemplo de lógica para transformar a carga útil:
javascript
// Identifica a origem e normaliza os campos principais
let normalizedData = {};
if ($json.googlekey) {
// Processamento Google Ads
const columns = $json.usercolumndata || [];
normalizedData = {
origem: ‘googleads’,
nome: columns.find(c => c.columnid === ‘FIRSTNAME’)?.stringvalue || ”,
email: columns.find(c => c.columnid === ‘EMAIL’)?.stringvalue || ”,
telefone: columns.find(c => c.columnid === ‘PHONENUMBER’)?.stringvalue || ”,
campanha: $json.campaignid || ‘indefinida’
};
} else {
// Processamento Meta Ads
const fields = $json.fielddata || [];
normalizedData = {
origem: ‘metaads’,
nome: fields.find(f => f.name === ‘fullname’)?.values[0] || ”,
email: fields.find(f => f.name === ‘email’)?.values[0] || ”,
telefone: fields.find(f => f.name === ‘phonenumber’)?.values[0] || ”,
campanha: $json.campaignname || ‘indefinida’
};
}
// Sanitização básica de telefone para formato E.164
normalizedData.telefone = normalizedData.telefone.replace(/D/g, ”);
return [{ json: normalizedData }];
Passo 3: Envio para o CRM Próprio (Node.js no Replit)
Com os dados uniformes, conecte um nó HTTP Request para despachar o lead para a sua API interna:
- Method:
POST - URL:
https://seu-crm.replit.app/api/v1/leads - Authentication:
Header Auth(Bearer Token gerado para a integração) - Body Parameters: Envie o JSON normalizado do nó anterior.
Passo 4: Tratamento de Erros e Retentativas
Falhas temporárias no backend do Replit ou problemas de rede não podem custar um lead qualificado. Configure a opção Retry On Fail no nó HTTP Request para realizar até 3 tentativas com intervalo exponencial. Adicionalmente, conecte um fluxo de fallback via nó Error Trigger para alertar seu time de engenharia por Slack ou e-mail caso uma inserção falhe definitivamente.
Próximos Passos na Automação Imobiliária
Unificar Google e Meta Ads diretamente ao seu CRM próprio elimina dependências de ferramentas de terceiros, reduz custos recorrentes e garante que corretores recebam contatos em tempo real.
Se a sua empresa precisa de uma arquitetura estável de ingestão de dados, integração de APIs proprietárias ou fluxos inteligentes usando N8N, entre em contato para estruturarmos uma consultoria técnica sob medida para a sua operação.


