For AI agents: the complete documentation index is available at https://docs.clickmax.io/llms.txt, the full documentation bundle is available at https://docs.clickmax.io/llms-full.txt, and this page is available as Markdown at https://docs.clickmax.io/reference/browser-sdk/forms/programmatic.md.
  • Português
  • 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-*.

    Requer o loader do Browser SDK na página

    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

    window.cxs('lead', {
      name: 'João da Silva',
      email: '[email protected]',
      telephone: '11999999999',
    }, (err) => {
      if (err) console.error('Falha ao criar o lead:', err)
    })

    Campos

    O objeto de dados aceita:

    • email — e-mail do lead. Obrigatório.
    • name — nome do lead.
    • telephone — telefone do lead. Envie apenas os dígitos (ex.: 11999999999 ou 5511999999999).
    • utmSource, utmMedium, utmCampaign, utmTerm, utmContent — atribuição de tráfego.
    • customFields — objeto com valores para os campos customizados do lead. Veja abaixo.

    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:

    window.cxs('lead', {
      email: '[email protected]',
      customFields: {
        empresa: 'ACME',          // por nome interno / rótulo
        Cidade: 'São Paulo',      // rótulo (case-insensitive)
        faturamento: 50000,       // valores não-texto são aceitos
      },
    })

    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 fieldName e displayName.

    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:

    window.cxs('lead', { email: '[email protected]' }, (err) => {
      if (err) {
        // trate o erro (ex.: reexibir o formulário)
        return
      }
      // sucesso: o lead foi criado
    })

    Sem callback, a chamada continua funcionando; você só não recebe o resultado.

    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.