Envios de formulario chegam sem UTMs porque a pagina estava em cache antes do clique.
ATRIBUICAO
QUEBRA APOS
O FORMULARIO
A atribuicao normalmente quebra depois do formulario, nao na plataforma de anuncios. O LeadSheet foi construido para o ponto onde o Google Sheets realmente precisa da trilha de origem: o momento em que um lead envia um formulario, liga ou aparece — e o momento em que converte, semanas ou meses depois.
Feito para
condicoes
reais
Leads presenciais e por telefone nao tem atribuicao digital — precisam de um caminho de entrada manual.
A mesma pessoa envia multiplos formularios em sessoes diferentes — duplicatas poluem o pipeline.
Operadores sobreescrevem dados de origem por acidente — a atribuicao some antes do fechamento.
O Google Ads precisa de um sinal de conversao 90 dias apos o clique — os dados do CRM devem persistir por esse tempo.
Precisa da referencia de schema, guia de configuracao e docs primeiro?
Abrir a documentacaoVer codigo no GitHubCAPTURA, SYNC,
PIPELINE E
EXPORTACAO
O LeadSheet e organizado pelas frentes que os operadores realmente usam: captura de eventos, pipeline CRM, exportacao para Google Ads e importacao historica. Cada frente pode ser adotada em fases.
Aba Raw
Cada evento de lead escreve uma linha na aba Raw. Linhas nunca sao modificadas ou apagadas. 47 colunas capturam timestamps, UTMs, GCLID, fbclid, dispositivo, caminho da pagina, dados de contato e hashes sha256 para resolucao de identidade.
Aba CRM
30 colunas organizadas em quatro grupos: dados do sistema (bloqueados), identidade (editavel), atribuicao de rastreamento (bloqueada) e pipeline do operador (editavel). Operadores trabalham nas colunas verdes — etapa, valor, responsavel, data de follow-up, notas.
Exportacao Google Ads
Quando um operador move um lead para a etapa de conversao, um trigger onEdit escreve uma linha na ExportQueue. Um queue_id composto previne uploads duplicados. O worker Python le a ExportQueue e chama a API de conversao offline.
Dashboard
Quatro cards de KPI (leads ativos, clientes, follow-ups hoje, leads esta semana), um grafico de funil de pipeline, um grafico de pizza por origem e uma lista de follow-ups de hoje que se atualiza automaticamente com o CRM.
Importacao e arquivo
Cole dados de leads historicos na aba Import e execute importHistoricalLeads(). Deduplicacao por telefone e e-mail previne colisoes com dados ativos. Leads frios vao para CRM_Arquivo no primeiro dia de cada mes.
FALHAS DE FLUXO
SAO CONDICOES
NORMAIS DE VENDAS
Formularios em cache, leads presenciais, envios repetidos e operadores editando dados de origem nao sao casos extremos — sao condicoes cotidianas em um pipeline de vendas real. O LeadSheet trata esses pontos como problemas de implementacao de primeira classe, nao como contornos.

Captura e resolucao de identidade ficam separadas da edicao do pipeline.
CRM e exportacao para Google Ads podem ser adotados antes da ingestao server-side.
Google Form manual para presenciais funciona desde o dia um.
Colunas de atribuicao sao bloqueadas — operadores nao podem sobreescreve-las.
Sequencia recomendada de rollout
Execute setupCrmSheet() e cole os scripts. Leva 10 minutos.
Adicione a aba Raw ao seu handler de formulario existente — so um POST em JSON.
Use o Google Form manual para leads presenciais e por telefone desde o dia um.
Conecte o worker Python somente quando tiver conversoes suficientes para justificar.
Essa sequencia deixa o LeadSheet operacional no dia um e abre espaco para a stack completa de atribuicao e exportacao depois.
TELAS DA PLANILHA
ALINHADAS AO
FLUXO DE VENDAS

Dashboard
Veja leads ativos, clientes e follow-ups de hoje de um so lugar
A aba Dashboard mantem quatro cards de KPI ao vivo e um funil de pipeline visivel onde o time ja trabalha — dentro da planilha, nao em uma ferramenta de relatorio separada.

Aba CRM
Gerencie o pipeline de vendas completo com atribuicao bloqueada e colunas editaveis
Operadores trabalham nas colunas verdes — etapa, valor, responsavel, data de follow-up, notas. Colunas de sistema e rastreamento sao protegidas para que a atribuicao nao seja sobreescrita por acidente.

ExportQueue
Envie sinais de conversao para o Google Ads automaticamente quando um negocio fecha
Quando um operador move um lead para a etapa de conversao, um trigger onEdit cria um queue_id composto e adiciona uma linha a ExportQueue. Sem uploads manuais de CSV.

Aba Raw
Cada evento de lead escreve uma linha append-only — a fonte de verdade de todos os dados do CRM
A aba Raw e um ledger append-only. Linhas nunca sao modificadas ou apagadas. Se o CRM ficar fora de sincronia, voce o reconstroi a partir do Raw.
PERGUNTAS PARA FECHAR
ANTES DE
INSTALAR
O LeadSheet foi desenhado para adocao em fases. O time pode comecar com captura de leads e sincronizacao CRM, depois adicionar a exportacao para Google Ads, importacao historica ou ingestao server-side quando o modelo operacional estiver pronto.
Funciona sem o worker Python no dia um.
Suporta envios de formulario, presenciais e leads por telefone desde o inicio.
Mantém decisoes de atribuicao, pipeline e exportacao dentro de uma unica planilha.
Construido para rollout em fases — de captura de leads para sync CRM e exportacao Google Ads — sem configuracao completa de uma vez.


