Integre o Kazah ao seu Web Site
Integre seu Web Site ao Kazah, para que todas as informações preenchidas nos formulários sejam capturadas automaticamente para seu ambiente comercial no CRM.
Este processo chama-se “OPT IN“. Seguindo regras de “ANTI-SPAM“, para que sua casa de festas possa enviar campanhas de e-mail marketing é necessário que sua base de contatos tenha sido obtida por este processo.
O processo de OPT IN leva a um resultado chamado de CONVERSÃO, que é a condução do visitante a realizar uma chamada para ação (call to action).
O Token Público
Para configura esta integração, precisará do Token Público disponível no Kazah no menu Configurações -> Integrações:

Campos Para Captura
Os campos possíveis para captura de dados são: Nome, Email, Mensagem, Telefone, Celular, UF, Conversao, Origem, Tags, Fonte, Pax, TipoEvento e DataEvento.
- Nome – Nome social;
- Email – Email de contato;
- Mensagem – Utilizado para capturar a mensagem digitada pelo visitante. Essa informação será adicionada no histórico do contato;
- Telefone – Telefone fixo;
- Celular – Telefone móvel;
- UF – Estado;
- Conversao – Usado para identificar em que formulário o visitante converteu;
- Origem – Utilizado para informar o canal por onde o contato chegou, normalmente é informado “Site”;
- Tags – Utilizado para associar tags automáticas no ato da captura;
- Fonte – Por onde seu visitante encontrou sua empresa;
- Pax – Número de convidados pretendido;
- TipoEvento – Tipo do evento pretendido;
- DataEvento – Data do evento pretendido.
A API não suporta conteúdos em formato HTML devido a política de segurança, para isto, use texto plano.
Com estas informações, você poderá implementar o OPT IN no seu web site através das opções abaixo:
Fomulário HTML
Caso seu site não tenha sido produzido por um CMS mas manualmente, poderá usar o código abaixo:
PHP
Insira o código abaixo no seu script PHP de envio do formulário.
$content = http_build_query(array(
'Token' => 'SEU_TOKEN_PUBLICO_AQUI',
'Nome' => $nome,
'Email' => $email,
'Mensagem' => $mensagem,
'Conversao' => 'Contato Site',
'Origem' => 'Site',
'UF' => $uf,
'Celular' => $celular,
'Telefone' => $telfixo,
'Pax' => $convidados,
'Tags' => '15 Anos',
'TipoEvento' => $tipoevento,
'DataEvento' => $dataevento
));
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => $content
)
));
$return = @file_get_contents('https://api.kazah.io/apiv1/lead', null, $context);
Opção utilizando Curl:
$post = array(
'Token' => 'SEU_TOKEN_PUBLICO_AQUI',
'Nome' => $nome,
'Email' => $email,
'Celular' => $telefone,
'Origem' => 'Site',
'Conversao' => 'Orçamento',
'DataEvento' => $dataevento,
'Mensagem' => $mensagem
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, 'https://api.kazah.io/apiv1/lead');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$return = curl_exec($curl);
curl_close($curl);
Rastreamento de Origem (UTMs)
Além dos dados do visitante, o Kazah registra de qual anúncio cada lead veio. É o que permite ver no CRM qual campanha gerou orçamento e qual gerou contrato.
Para isso, o formulário precisa repassar os parâmetros de rastreamento que o Meta e o Google deixam na URL da página.
A boa notícia: quase nada precisa ser configurado nos anúncios. O Meta e o Google já colocam esses parâmetros na URL por conta própria. O trabalho do site é um só: repassar o que chegou.
A regra é simples: veio parâmetro de rastreamento junto do formulário, o Kazah grava a origem do lead. Não veio, não grava nada — e isso não é erro, é o esperado para quem chegou sem campanha.
Parâmetros Para Captura
Os parâmetros de rastreamento possíveis são: utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_id, gclid, fbclid, gad_campaignid e Url.
- utm_source – Identifica a plataforma. O Meta envia fb, ig, msg ou an; quem configura à mão costuma usar facebook ou google;
- utm_medium – Separa mídia paga de orgânico. O Meta envia paid; configurado à mão em anúncio, use cpc ou paid_social;
- utm_campaign – A campanha nos relatórios. Automático vem o ID; configurado à mão, o nome;
- utm_term – No Meta, o ID do conjunto de anúncios. No Google, a palavra-chave que o visitante buscou;
- utm_content – ID do anúncio. É o que permite ao Kazah nomear o anúncio, e não apenas exibir o texto do parâmetro;
- utm_id – ID da campanha;
- gclid – Comprova o clique no Google Ads. Vem do auto-tagging, ligado por padrão na conta;
- fbclid – Comprova o clique no Meta. É sempre acrescentado e não há como desligar;
- gad_campaignid – ID da campanha no Google Ads;
- Url – Endereço completo da página onde o formulário foi enviado, com ? e tudo o que vem depois. Vira a página de entrada na ficha do contato e serve de reserva: se os parâmetros acima não vierem, o Kazah os lê daqui.
Três detalhes que evitam dúvida:
- Maiúscula e minúscula não importam. utm_source e UTM_Source são lidos igual;
- Todos são opcionais. Envie os que tiver; o que faltar fica em branco;
- Repasse todos sempre, sem escolher. O Meta e o Google mudam o que enviam de tempo em tempo, e quem repassa tudo não precisa mexer no site quando isso acontece.
O Campo Oculto no Formulário
Os parâmetros chegam na URL da página que o visitante abriu — por exemplo https://seusite.com.br/contato?utm_source=fb&utm_medium=paid&fbclid=IwAR…
O navegador não envia isso junto com o formulário por conta própria. Então o formulário precisa de um campo oculto por parâmetro, preenchido a partir da URL no momento em que a página carrega.
Dentro do seu formulário
Acrescente os campos ocultos abaixo:
<input type="hidden" name="utm_source">
<input type="hidden" name="utm_medium">
<input type="hidden" name="utm_campaign">
<input type="hidden" name="utm_term">
<input type="hidden" name="utm_content">
<input type="hidden" name="utm_id">
<input type="hidden" name="gclid">
<input type="hidden" name="fbclid">
<input type="hidden" name="gad_campaignid">
<input type="hidden" name="url">
Antes do fechamento do body
Acrescente o script que copia os parâmetros da URL para os campos ocultos:
<script>
(function () {
var campos = [
'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'utm_id', 'gclid', 'fbclid', 'gad_campaignid'
];
var query = new URLSearchParams(window.location.search);
campos.forEach(function (campo) {
var valor = query.get(campo);
if (!valor) return;
// querySelectorAll, e nao querySelector: a pagina pode ter mais de um formulario
document.querySelectorAll('input[name="' + campo + '"]').forEach(function (input) {
input.value = valor;
});
});
document.querySelectorAll('input[name="url"]').forEach(function (input) {
input.value = window.location.href;
});
})();
</script>
A limitação, dita de frente: o script lê a URL daquela página. Se o visitante clica no anúncio, cai na página inicial e só depois navega até a página de contato, os parâmetros se perdem no caminho — o Kazah recebe o lead sem origem e não grava rastreamento. Para não perder esses casos, mantenha o formulário na mesma página onde o anúncio cai, ou aponte o anúncio direto para a página do formulário.
Enviando o Rastreamento no PHP
Nos dois métodos mostrados acima — file_get_contents e Curl — o que muda é apenas o array de dados.
Antes de montar o array, recolha os parâmetros que vieram do formulário:
// Rastreamento de origem: repassado como chegou do formulario.
// O que nao vier fica de fora, e lead sem nenhum deles simplesmente
// nao gera registro de origem no Kazah.
$utm = array();
foreach (array(
'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'utm_id', 'gclid', 'fbclid', 'gad_campaignid'
) as $parametro) {
if (!empty($_POST[$parametro])) {
$utm[$parametro] = $_POST[$parametro];
}
}
E junte ao array que você já envia, com array_merge. No método com file_get_contents:
$content = http_build_query(array_merge(array(
'Token' => 'SEU_TOKEN_PUBLICO_AQUI',
'Nome' => $nome,
'Email' => $email,
'Mensagem' => $mensagem,
'Conversao' => 'Contato Site',
'Origem' => 'Site',
'UF' => $uf,
'Celular' => $celular,
'Telefone' => $telfixo,
'Pax' => $convidados,
'Tags' => '15 Anos',
'TipoEvento' => $tipoevento,
'DataEvento' => $dataevento,
'Url' => isset($_POST['url']) ? $_POST['url'] : ''
), $utm));
E na opção com Curl, a alteração é em uma linha só:
$post = array(
'Token' => 'SEU_TOKEN_PUBLICO_AQUI',
'Nome' => $nome,
'Email' => $email,
'Celular' => $telefone,
'Origem' => 'Site',
'Conversao' => 'Orçamento',
'DataEvento' => $dataevento,
'Mensagem' => $mensagem,
'Url' => isset($_POST['url']) ? $_POST['url'] : ''
);
// ...
curl_setopt($curl, CURLOPT_POSTFIELDS, array_merge($post, $utm));
Se preferir escrever campo a campo, em vez do foreach, acrescente estas linhas diretamente no array:
'utm_source' => isset($_POST['utm_source']) ? $_POST['utm_source'] : '',
'utm_medium' => isset($_POST['utm_medium']) ? $_POST['utm_medium'] : '',
'utm_campaign' => isset($_POST['utm_campaign']) ? $_POST['utm_campaign'] : '',
'utm_term' => isset($_POST['utm_term']) ? $_POST['utm_term'] : '',
'utm_content' => isset($_POST['utm_content']) ? $_POST['utm_content'] : '',
'utm_id' => isset($_POST['utm_id']) ? $_POST['utm_id'] : '',
'gclid' => isset($_POST['gclid']) ? $_POST['gclid'] : '',
'fbclid' => isset($_POST['fbclid']) ? $_POST['fbclid'] : '',
'gad_campaignid' => isset($_POST['gad_campaignid']) ? $_POST['gad_campaignid'] : '',
'Url' => isset($_POST['url']) ? $_POST['url'] : ''
Como Conferir
- Abra a página do formulário acrescentando parâmetros à mão na URL: https://seusite.com.br/contato?utm_source=facebook&utm_medium=paid_social&utm_campaign=teste
- Envie o formulário com um e-mail que ainda não exista no Kazah;
- No Kazah, abra a ficha do contato e veja a seção Rastreamento.
Deu certo quando a ficha mostra Entrada: Formulário no site, Origem: Meta, Canal: Mídia paga e Campanha: teste.
Não apareceu nada? Quase sempre o parâmetro não saiu do navegador. Antes de enviar o formulário, abra as ferramentas do desenvolvedor na aba Network, envie, e procure o envio do formulário: os campos têm de estar no corpo da requisição, com valor. Se chegarem vazios, o problema está nos campos ocultos, não no Kazah.
O Lado do Anúncio
Vale repetir, porque economiza reunião: o rastreamento funciona sem ninguém mexer nos anúncios.
- No Meta, quando o anunciante deixa o campo de parâmetros de URL em branco, o próprio Meta preenche os UTM com os IDs da campanha, do conjunto e do anúncio. O fbclid vem sempre;
- No Google, o auto-tagging da conta acrescenta o gclid, e o Google também envia o gad_campaignid com o ID da campanha.
Configurar os anúncios é opcional, e serve para uma coisa só: trocar ID por nome legível nos relatórios.
Parâmetros de URL no Meta Ads
utm_source=facebook
&utm_medium=paid_social
&utm_campaign={{campaign.name}}
&utm_id={{campaign.id}}
&utm_content={{ad.id}}
Sufixo de URL final no Google Ads (uma vez, para a conta inteira)
utm_source=google
&utm_medium=cpc
&utm_campaign={campaignid}
&gad_campaignid={campaignid}
&utm_term={keyword}
O erro que mais custa relatório: escrever utm_medium=social no anúncio. O Kazah usa esse campo para separar mídia paga de orgânico, e o valor que o Meta coloca sozinho — paid — já é lido corretamente. Quem configura à mão e escreve social piora o que funcionava por padrão: o lead do anúncio passa a entrar como orgânico e a campanha perde o crédito da venda. Em anúncio pago, use cpc ou paid_social — ou simplesmente não configure nada e deixe o Meta preencher.