Conectar formulários do Meta ao Rezult CRM
Use este modelo para trazer automaticamente os leads das suas campanhas de cadastro do Meta (Facebook e Instagram) para dentro do Rezult CRM, passando pelo Google Sheets. Cada novo cadastro vira um lead e um negócio, com origem e UTMs preenchidos — sem digitar nada à mão.
1. O que você vai construir
O Meta oferece uma integração nativa que envia, em tempo real, cada lead de campanha de cadastro para uma planilha do Google Sheets. A partir daí, um pequeno script avisa o Rezult CRM por webhook, e o modelo de automação faz o resto: cria o lead, evita duplicados e abre o negócio na sua pipeline.
É um guia avançado, mas guiado Você vai mexer no Meta Business, no Google Sheets e no Rezult CRM. Faça uma parte de cada vez — ao final, novos formulários se conectam sozinhos e você não precisa repetir o processo.
2. Pré-requisitos
- Um formulário de cadastro (lead form) já criado na sua conta de anúncios do Meta.
- Acesso ao Meta Business com a BM (conta de negócios) correta.
- Uma conta Google (para o Google Sheets).
- Acesso ao Rezult CRM com permissão para criar automações.
Etapa no Meta + Google
3. Parte 1 — Conectar o formulário do Meta ao Google Sheets
O Meta envia os leads direto para uma planilha, usando uma integração nativa (não é uma ferramenta de terceiros).
- Abra os Formulários no Meta Business
Em Todas as ferramentas, busque por Formulários (Formulários instantâneos). Confirme que está na BM correta.
- Vá em “Configuração de CRM” (CRM Setup)
Na tela de formulários, abra a opção de configuração de CRM e escolha o sistema de vinculação.
- Escolha “Google Sheets”
Digite Sheets e selecione o Google Sheets — a integração nativa. Atenção: pode aparecer uma opção parecida, de terceiros; escolha sempre a integração nativa do Google Sheets.
- Faça login e autorize
Clique para conectar, escolha sua conta Google e conceda permissão para ler e alterar as planilhas.
- Crie uma planilha nova pela integração
Crie uma nova integração e peça para criar uma planilha (ex.: “Planilha Leads — Formulário”). Importante: deixe a integração criar a planilha — assim as colunas já vêm no formato certo. Não use uma planilha pronta.
- Ative “criar integrações automaticamente”
Marque a opção para conectar automaticamente os futuros formulários. Assim você faz isso só uma vez.
- Selecione a aba e o formulário
Defina a página/aba (ex.: Página 1) e escolha o formulário que quer conectar. Confirme.
- Conecte (sem precisar do lead de teste agora)
O Meta pode pedir um envio de teste — você só precisa concluir a conexão. Confira a identificação da empresa e, se aparecer, escolha o pixel/conjunto de dados para devolver conversões depois.
Pronto, o Meta já “derrama” os leads na planilha. Cada cadastro vira uma linha; cada coluna é uma pergunta do seu formulário (mais dados de campanha, conjunto de anúncio, anúncio, etc.).
Etapa no Rezult CRM
4. Parte 2 — Criar a automação a partir do modelo
- Crie a automação pelo modelo
No Rezult CRM, vá em Automações → Nova automação → Modelo → Lead Formulário Webhook. Dê um nome e escolha o grupo. Confirme.
- Garanta que a automação está ativa
Ligue o interruptor Ativa — é por ela que os dados vão entrar.
- Copie a URL do webhook
Clique no bloco de início (gatilho Webhook / HTTP) e copie a URL do webhook. É por esse endereço que a planilha vai mandar os leads. Guarde essa URL — você vai colá-la no script na Parte 3.
Importar em vez de Modelo? Se você recebeu um arquivo de automação pronto, pode usar Nova automação → Importar → selecionar o arquivo → nome e grupo → confirmar. O resultado é o mesmo fluxo deste modelo.
Etapa no Google Sheets
5. Parte 3 — Colar o script na planilha (Apps Script)
O Apps Script é um pequeno programa que roda “por trás” da planilha. Ele lê a linha que o Meta acabou de inserir e envia esses dados para a URL do webhook do Rezult CRM.
- Abra o editor de scripts
Na planilha, vá em Extensões → Apps Script. Apague qualquer código que estiver lá.
- Cole o código abaixo
Cole o script inteiro no editor.
- Troque a URL do webhook
Na linha 2, substitua
SUA_URL_DO_WEBHOOK_AQUIpela URL que você copiou na Parte 2. - Salve
Clique em salvar (ícone de disquete). Só isso nesta tela.
// Cole aqui a URL do Webhook da sua automacao no Rezult CRM
const WEBHOOK_URL = "SUA_URL_DO_WEBHOOK_AQUI";
function enviarLeadParaCRM(e) {
// Garante que o script so rode em insercao/alteracao de linha
// Integracoes externas normalmente acionam 'INSERT_ROW' ou 'OTHER'
if (e && e.changeType === 'REMOVE_ROW') return;
const sheet = SpreadsheetApp.getActiveSheet();
// Opcional: restringir a uma aba especifica pelo nome
// if (sheet.getName() !== "NomeDaSuaAba") return;
const lastRow = sheet.getLastRow();
const lastCol = sheet.getLastColumn();
// Se a planilha so tiver o cabecalho, nao faz nada
if (lastRow < 2) return;
// Cabecalhos (linha 1) viram as chaves do JSON
const headers = sheet.getRange(1, 1, 1, lastCol).getValues()[0];
// Dados da ultima linha inserida
const newRowData = sheet.getRange(lastRow, 1, 1, lastCol).getValues()[0];
// Monta o objeto JSON dinamicamente
let payload = {};
for (let i = 0; i < headers.length; i++) {
let key = headers[i].toString();
let value = newRowData[i];
if (key) {
payload[key] = value;
}
}
// Metadados uteis (opcional)
payload["sheet_name"] = sheet.getName();
payload["row_number"] = lastRow;
payload["timestamp"] = new Date();
// Envia para o Webhook
try {
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(WEBHOOK_URL, options);
console.log("Lead enviado com sucesso: Linha " + lastRow);
} catch (error) {
console.error("Erro ao enviar webhook: " + error.toString());
}
}O que o script faz, em resumo Ele pega os nomes das colunas (linha 1) como chaves e os valores da última linha, e envia tudo como JSON para o webhook — além de 3 metadados: sheet_name, row_number e timestamp. Por isso ele funciona com qualquer formulário, independentemente das colunas.
Etapa no Google Sheets
6. Parte 4 — Criar o acionador “Ao alterar”
O código sozinho não dispara quando o Meta insere uma linha. É preciso criar um acionador (trigger) que execute a função a cada mudança na planilha.
- Abra os Acionadores
No editor do Apps Script, no menu lateral esquerdo, clique no ícone de relógio (Acionadores).
- Adicionar acionador
No canto inferior direito, clique em + Adicionar acionador.
- Configure exatamente assim
Função:
enviarLeadParaCRM· Implantação: Head (padrão) · Origem do evento: Da planilha · Tipo de evento: Ao alterar. (Atenção: é “Ao alterar”, não “Ao editar”.) - Salve e autorize
Clique em salvar. O Google vai pedir permissão. Como é um código seu, ele mostra um aviso: clique em Avançado → Acessar o projeto (não seguro) → Permitir. Isso autoriza o script a rodar e acessar a internet.
O aviso de “não seguro” é normal Ele aparece porque o código foi criado por você (não passou pela revisão do Google). Como você conhece o script, pode autorizar com tranquilidade.
Etapa no Rezult CRM
7. Parte 5 — Mapear os campos do seu formulário
Cada coluna da planilha vira uma variável disponível na automação (pelo seletor { } → categoria Entrada de dados / API Request). Como cada formulário tem perguntas diferentes, você ajusta o mapeamento para apontar para as suas colunas.
Regra de ouro do modelo O que já vem mapeado de forma padrão (nome, e-mail, telefone) normalmente você não precisa mexer. O que muda de formulário para formulário (UTMs, perguntas específicas) é o que você ajusta.
Campos que já costumam vir prontos
- Nome, E-mail e Telefone do lead — geralmente já apontam para as colunas certas. Se a sua coluna tiver outro nome, edite a variável pelo seletor Entrada de dados → API Request.
UTMs (precisam ser criados como campos adicionais)
As UTMs guardam de onde veio o lead. Elas não existem por padrão no CRM — você cria como campos adicionais do lead (tipo texto) e depois mapeia:
| Campo (UTM) | Costuma guardar |
|---|---|
| UTM Campaign | nome da campanha que gerou o lead |
| UTM Medium | conjunto de anúncio (público) |
| UTM Content | anúncio específico |
| UTM Source / Plataforma | plataforma de origem (ex.: Instagram) |
- Crie o campo adicional
Em campos adicionais do lead, crie cada UTM (grupo à sua escolha, tipo texto) e confirme.
- Mapeie a origem
No bloco de operações de campos, defina o campo de destino (ex.: UTM Campaign) e o valor vindo de Entrada de dados → API Request (a coluna correspondente da planilha).
Perguntas específicas do seu formulário
Tem uma pergunta como “Qual o seu faturamento?” ou “Há quanto tempo tem esse problema?”. Para cada uma:
- Crie um campo adicional
Em campos adicionais do lead ou do negócio, crie o campo (ex.: Faturamento, tipo texto; ou Sexo, tipo texto/opções).
- Aponte o destino e o valor
No bloco de mapeamento, selecione o campo de destino e o valor correspondente em Entrada de dados → API Request.
ID externo do negócio
Para evitar duplicar e rastrear a origem, mapeie o ID externo do negócio com o ID do formulário/lead que chega da planilha (também pela Entrada de dados → API Request). A “linha do sheet” (row_number) pode ser guardada em um campo adicional do tipo número, se quiser.
Ações extras (opcional) Depois de checar se o lead já tem negócio, você pode acrescentar qualquer ação — por exemplo, enviar uma mensagem de WhatsApp por template, escolhendo a conexão de envio e inserindo variáveis (campos adicionais ou da Entrada de dados) dentro do template.
8. Parte 6 — Testar a integração
- Cole uma linha de exemplo na planilha
Para simular um lead real, cole numa nova linha um conjunto de dados como o Meta enviaria (nome do anúncio, conjunto, campanha, plataforma, nome do formulário e as respostas).
- Provoque uma alteração
Edite uma célula e clique fora. Como o acionador é “Ao alterar”, isso dispara o envio ao webhook.
- Confira no Rezult CRM
O lead deve aparecer com nome, e-mail e telefone, e um negócio deve ser criado na pipeline “Novo lead” (ou na que você definiu), com as UTMs e campos preenchidos.
- Verifique a automação
Nas estatísticas dos blocos, confirme que o fluxo passou: gatilho recebeu → campos mapeados → lead criado → negócio criado.
A partir daqui é automático. Todo novo cadastro cai na planilha, o script dispara, e a automação cria o lead e o negócio. E, como você ativou “criar integrações automaticamente”, novos formulários já entram conectados.
9. Opcional — Devolver conversões ao Meta
A integração nativa também permite o caminho de volta: enviar para o Meta o status do lead (qualificado, convertido, perdido…) usando a API de Conversões (CAPI). Isso ajuda o Meta a otimizar suas campanhas com dados reais do funil.
- Ao conectar a planilha à Meta pela CAPI, é adicionada uma coluna
lead_statuspara cada lead. - Os estágios possíveis costumam ser: Em análise, Qualificado, Convertido, Perdido e Não qualificado.
- Sempre que você atualizar
lead_status(manualmente ou por automação), o Meta lê o novo valor e registra o evento de conversão correspondente.
Mantenha o status atualizado Quanto mais fiel a coluna lead_status estiver ao estágio real do lead, melhor o Meta otimiza a entrega dos seus anúncios de cadastro.
10. Solução de problemas
| Sintoma | O que verificar |
|---|---|
| O lead não chega no CRM | a automação está Ativa? A WEBHOOK_URL no script é exatamente a copiada do gatilho? O acionador é “Ao alterar”? |
| O script não dispara | o acionador foi criado e autorizado? Faça uma alteração real numa célula para provocar o evento. |
| Lead sem nome/e-mail | os nomes das colunas (cabeçalho da planilha) batem com o que a automação espera? Reaponte pela Entrada de dados → API Request. |
| UTMs/perguntas vazias | os campos adicionais foram criados e mapeados para as colunas certas? |
| Negócio não criado | pipeline/etapa definidas no bloco de criar negócio? O lead já tinha negócio na pipeline? |
| Mensagem (template) não enviou | confira a conexão de envio e se as variáveis do template têm valores válidos. |
Dica: no editor do Apps Script, o menu Execuções mostra se o script rodou e eventuais erros. No CRM, as estatísticas de cada bloco indicam onde o fluxo parou.