Criar lead via JavaScript
Use esta página quando o envio do lead é controlado pelo seu próprio código — por exemplo, um funil em React/Vue, um formulário de múltiplos passos ou qualquer fluxo em que você não usa os atributos data-cx-*.
cxs('lead', ...) só funciona se o loader do Browser SDK estiver instalado no <head> da página. É ele que define o cxs global. Sem o loader, window.cxs fica indefinido e a chamada não faz nada. Veja a Introdução para instalar o script.
Com o loader presente, você chama a criação do lead diretamente com cxs('lead', ...).
Exemplo mínimo
Campos
O objeto de dados aceita:
email— e-mail do lead.name— nome do lead.telephone— telefone do lead. Envie apenas os dígitos (ex.:11999999999ou5511999999999).utmSource,utmMedium,utmCampaign,utmTerm,utmContent— atribuição de tráfego.customFields— objeto com valores para os campos customizados do lead. Veja abaixo.
Informe pelo menos o email ou o telephone. Sem nenhum dos dois o lead não é criado e o callback recebe um erro. Campo enviado em branco conta como não informado.
Os UTM presentes na URL da página são incluídos automaticamente. Você só precisa passar os campos utm* no payload se quiser sobrescrever os valores da URL — o valor que você passa tem precedência.
Campos customizados
Passe um objeto customFields para preencher campos customizados do lead no CRM. Cada chave identifica um campo existente — pode ser o id, o nome interno (fieldName) ou o rótulo (displayName) do campo, resolvidos nessa ordem:
Regras:
- O campo customizado precisa já existir no CRM. Chaves que não correspondem a nenhum campo são ignoradas silenciosamente — este endpoint não cria campos.
- A correspondência é case-insensitive para
fieldNameedisplayName.
Em formulários HTML comuns, o mesmo é feito de forma declarativa marcando o input com data-cx-field. Veja Formulários simples → Campos customizados.
Callback
O segundo argumento é opcional e recebe um erro quando a criação falha:
Sem callback, a chamada continua funcionando; você só não recebe o resultado.
Identificar o elemento que levou ao cadastro
Quando vários botões abrem o mesmo formulário, passe no terceiro argumento o ID do botão que o visitante escolheu:
- O ID não é gravado no contato: ele só acompanha o evento
contact_captured. - No funil, um gatilho Contato Capturado com esse ID conta só os cadastros daquele botão. Veja Como saber quantos clicaram e se cadastraram em cada botão.
- Sem callback, passe
undefinedno segundo argumento.
Tracking automático
Quando o lead é criado com sucesso, o SDK dispara automaticamente o evento contact_captured. Você não precisa disparar esse evento manualmente. Veja Tracking.
Quando usar
Use cxs('lead', ...) quando:
- o envio do formulário é feito pelo seu próprio JavaScript
- a página é uma aplicação (React, Vue, etc.) sem um
<form>tradicional para marcar - você coleta os dados em etapas e decide o momento exato de criar o lead
Para formulários HTML comuns, prefira a abordagem declarativa com data-cx-ingest-form.