Como o payload do Envio é montado
Um Envio pega um evento do seu site e entrega ao destino (Meta CAPI, webhook) no formato que ele espera. Esta página explica o que o CrazyLeads enxerga do seu evento, como montar cada campo, e o que acontece quando um dado não vem.
O que o CrazyLeads enxerga
O pixel já coleta sozinho o essencial: endereço da página, referenciador, UTMs, IP, navegador e os identificadores do Meta (fbc/fbp). Além disso, você pode empurrar qualquer propriedade própria — não existe lista fechada.
<script>
window._cl = window._cl || [];
// Um evento com propriedades próprias
window._cl.push({ event: 'PrecheckoutOpen', plano: 'anual', origem: 'modal' });
</script>Se a propriedade valer para todos os eventos da página (tipo de página, produto em foco), registre uma vez como super propriedade:
// "Super propriedades": grudam em TODO evento seguinte desta sessão
window._cl.push({ tipo_pagina: 'venda', produto: 'Curso X' });Como cada dado é referenciado
No mapeamento, cada variável é um caminho. O que você empurra em _cl.push aparece sob data.:
data.plano → propriedade do evento
data.items → a lista inteira
data.items[].sku → um campo DENTRO de cada item
url → endereço da página
url.path → só o caminho (/checkout)
url.domain → só o domínio
url_params.utm_source → parâmetro da URL
referer, ip, user_agent → contexto da visitaA porcentagem ao lado da variável
Ao escolher uma variável, aparece um número: 100%, 62%. É a fração dos seus eventos reais dos últimos 30 dias em que aquela variável veio preenchida — medido no seu próprio dado, não estimado.
Serve para você decidir antes de publicar: mapear um campo que chega em 8% dos eventos significa que 92% das entregas vão sair sem ele. Em campo de item, a conta é sobre os itens, não sobre os eventos.
O botão “Preencher”
Ele não inventa nem usa um modelo pronto: só propõe variáveis que apareceram nos seus eventos. As regras:
- casa pelo nome final do caminho —
data.emailpreenche o campoemail; - havendo duas candidatas, ganha a de maior preenchimento medido;
- o que quase nunca vem (abaixo de 5%) não é sugerido;
- dados da pessoa (e-mail, telefone, cidade) vêm do grafo de identidade, não do que foi digitado no formulário;
- nunca sobrescreve o que você mapeou à mão.
As formas de montar um campo
| Forma | Quando usar |
|---|---|
| Do evento | Aponta uma variável ou digita um valor fixo. |
| Alternativas | Cadeia: um caminho, senão outro, senão um valor fixo. Para quando o mesmo dado tem nomes diferentes entre páginas. |
| Montar lista / itens | Você escreve os valores à mão, um a um. |
| Da lista do evento | Para cada item de uma lista que veio no evento, monta um item no destino. O tamanho da lista não precisa ser conhecido. |
| Contar itens | Quantos itens vieram na lista. |
| Somar itens | Soma um campo dos itens, opcionalmente multiplicado por outro (preço × quantidade). |
Carrinho com vários produtos
Empurre a lista com os nomes que você já usa — não precisa traduzir para o formato do Meta:
window._cl.push({
event: 'Purchase',
pedido: 'ORD-9001',
items: [ // a lista pode ter QUALQUER tamanho
{ sku: 'SKU-1', qtd: 1, preco: 79.90 },
{ sku: 'SKU-2', qtd: 2, preco: 19.90 }
]
});No Envio, escolha Da lista do evento em contents e diga que id é sku, quantity é qtd e item_price é preco. O resultado entregue:
contents → [{"id": "SKU-1", "quantity": 1, "item_price": 79.90},
{"id": "SKU-2", "quantity": 2, "item_price": 19.90}]
content_ids → ["SKU-1", "SKU-2"]
num_items → 2
value → 119.70 (79,90 + 2 x 19,90)skus: ['SKU-1', 'SKU-2']), e texto separado por vírgula é lido como lista.Expressões: transformar o valor no caminho
Digite {{ em qualquer campo de valor e as variáveis aparecem para completar. Dentro de {{ }}, encadeie funções com |:
{{data.email | split:@:0}} → "joao.silva" (usuário do e-mail)
{{data.email | split:@:0 | upper}} → "JOAO.SILVA"
{{data.cupom | slice:0:4}} → "DESC" (4 primeiros caracteres)
{{data.nome_pagina | trim | lower}} → "checkout"
BR-{{data.pedido}} → "BR-9001" (texto + expressão)
{{data.plano | default:gratis}} → valor, ou "gratis" se não vierFunções disponíveis: split, slice, upper, lower, trim, replace, first, last, number e default. Se o separador for : ou |, proteja com aspas simples: split:':':1.
Parâmetros próprios do seu negócio
Nem tudo cabe nos campos padrão. Plano escolhido, origem do modal, id do vídeo — em Parâmetros customizados você manda junto o que é específico do seu negócio, e no Meta isso vira base para Conversões Personalizadas.
A tela lista as propriedades que os seus eventos já trazem e que ninguém mapeou ainda, com a porcentagem de cada uma. Um clique adiciona.
em, ph…), preenchidos pelo grafo de identidade.Quando o dado não vem
A regra geral: campo sem dado não é enviado — nunca vai vazio nem zerado, porque isso faria o destino registrar um valor que não aconteceu.
- Variável ausente ou vazia (
""): o campo é omitido. Use Alternativas se quiser um valor padrão. - Item sem o identificador fica de fora da lista; item sem os campos opcionais entra com o que tem.
- Lista vazia ou ausente: nada é enviado — inclusive
num_items, que não vira0. - Nome de variável escrito errado não vira texto no destino: o campo simplesmente não sai.
Para conferir depois de publicar, o Envio mostra o payload real da última entrega — o corpo exato que o destino recebeu.