Tráfego pago

Kwai Ads: como rastrear conversões de verdade em tráfego de vídeo curto

Por Equipe Affilitrack · · 9 min de leitura
Foto de banco de imagens de uma pessoa segurando o celular na vertical enquanto grava um vídeo curto, com a tela do aparelho visível
Resposta curta

Rastrear Kwai Ads é mais difícil porque quase todo o tráfego chega por navegador dentro do app, onde cookie de terceiro e às vezes o próprio armazenamento local não sobrevivem. A saída não é um pixel melhor: é capturar o parâmetro de clique que a plataforma anexa à URL de destino já no primeiro toque, trocar esse valor por um identificador próprio gerado no seu redirect e fechar a conversão por postback server-side. Assim a medição não depende mais do navegador.

Mídia em vídeo curto tem um problema de medição que não aparece em search e aparece pouco em display: quase todo o clique acontece dentro do aplicativo. O usuário não sai para o Chrome nem para o Safari — ele abre uma janela embutida, com ciclo de vida curto, armazenamento isolado e regras próprias de navegação. É nesse ambiente que o rastreamento de conversões de kwai ads precisa funcionar.

A boa notícia é que a solução não é nova. É a mesma de qualquer tráfego pago: pegar o parâmetro de clique no primeiro toque, trocar por um identificador seu e fechar a conversão entre servidores. O que muda é a tolerância a erro, que aqui é bem menor.

Por que o tráfego in-app quebra o rastreamento tradicional?

O navegador embutido no app é um navegador de verdade, mas descartável. Ele nasce quando o usuário toca no anúncio e morre quando ele volta para o feed. Três consequências práticas:

Cookie de terceiro não vale nada ali. Em boa parte dessas webviews o cookie de terceiro já vem bloqueado por padrão. Qualquer medição que dependa de um domínio externo ler um cookie que ele mesmo gravou está apostando em algo que não acontece.

Até o armazenamento próprio é frágil. localStorage e sessionStorage existem, mas podem estar isolados por sessão da webview e desaparecer no momento em que o usuário volta ao feed. Guardar o parâmetro de clique "na página para usar depois" é um plano que funciona no desktop e falha aqui.

O caminho tem mais saltos do que você imagina. Entre o toque no anúncio e a landing costuma haver pelo menos um redirecionamento da própria plataforma. Cada salto é uma chance de a query string ser reescrita.

É o mesmo diagnóstico do artigo sobre rastreamento server-side x pixel, só que com todos os fatores agravados ao mesmo tempo.

O que é o parâmetro de clique do Kwai Ads e o que fazer com ele?

Assim como Google Ads, Meta Ads e TikTok Ads, a plataforma anexa à URL de destino um parâmetro de clique: um identificador opaco, gerado no instante do toque, que só a própria plataforma sabe interpretar. Ele não carrega nome de campanha, nem criativo, nem público.

Uma ressalva importante antes de você montar qualquer link: confira o nome atual do parâmetro e a sintaxe da macro na documentação oficial e no painel de campanha. Esses nomes mudam entre versões e entre tipos de campanha, e chutar uma macro é a forma mais rápida de rodar uma semana inteira com o campo vazio. Monte o link com o nome que a documentação indica hoje e valide com um clique real antes de ligar orçamento.

O que não muda é o que você faz com o valor. Em vez de torcer para ele sobreviver até o checkout, você o captura no primeiro toque e o guarda associado a um identificador próprio. A lógica completa está em como os parâmetros de clique funcionam e onde se perdem, e o modelo de captura por fonte de tráfego está descrito em tracking e atribuição.

Quais são os problemas típicos do tráfego in-app e o que fazer em cada um?

Problema O que acontece O que fazer
Navegador in-app (webview) Sessão descartável, armazenamento isolado, cookie de terceiro bloqueado Não guardar estado no navegador; gerar o click_id no servidor, no primeiro toque, e carregá-lo na URL
Cookie de terceiro bloqueado Pixel não consegue reconhecer o usuário entre domínios Fechar a conversão por postback server-side; usar o cookie só como conveniência, nunca como fonte de verdade
Redirect que descarta query string O usuário chega na landing com a URL limpa Auditar cada salto com ?teste=1; corrigir regras de http para https e de www para raiz que não repassam parâmetros
Link encurtado que perde parâmetro O encurtador serve uma URL fixa e apaga o que veio depois do ? Usar domínio de tracking próprio por CNAME em vez de encurtador; se for inevitável, exigir repasse de query string
Deep link para aplicativo A abertura do app descarta a query string inteira Passar o identificador pelo mecanismo de deep link que o destino suporta; se ele não suporta, essa rota não fecha server-side
Codificação dupla no caminho %3D vira %253D e o valor chega corrompido Comparar o valor recebido com o enviado caractere a caractere; procurar %25 na URL final
Truncamento por URL longa O identificador chega cortado e o postback vira órfão Reduzir o número de macros no link; passar só o que você vai ler no relatório

Repare que quase toda a coluna da direita aponta para o mesmo lugar: tirar a responsabilidade do navegador, que é o raciocínio de tracking sem cookies.

  1. Configure um domínio de tracking próprio. CNAME apontando para a plataforma, certificado emitido automaticamente. O clique roda no seu domínio, não num domínio compartilhado que qualquer filtro pode tratar como redirecionador genérico.
  2. Crie o template da fonte de tráfego. Um mapeamento de parâmetro para macro, reaproveitável em todas as campanhas, em vez de reescrever a URL a cada criativo.
  3. Confirme o nome do parâmetro de clique na documentação oficial e coloque a macro correspondente no template. Mesmo cuidado para campanha, criativo e posicionamento, se você quiser esses recortes no relatório.
  4. Monte o link de redirect no formato /r/{slug}, com o parâmetro de clique da plataforma e os UTMs que você vai realmente usar. Menos macro é melhor: URL curta trunca menos.
  5. Defina o parâmetro de destino. Descubra qual campo a rede ou o produtor reserva para o afiliado — subid, aff_sub, s1, clickid, transaction_id — e mande o seu click_id nele. Sem esse campo não há cadeia server-side com aquele merchant.
  6. Cadastre a URL de postback no merchant e mapeie os três campos que importam: qual parâmetro é o evento, qual é o valor e qual é o identificador da transação. O detalhe dessa configuração está em postback server-side.
  7. Dispare um clique real e uma conversão de teste e abra o log de postbacks. Status casado significa que fechou. Órfão significa que o identificador chegou diferente. Inválido significa que faltou parâmetro obrigatório.
  8. Só depois ligue o orçamento. Se o passo 7 não fecha, nada do que vier depois é confiável.

O fluxo é o mesmo já aplicado em plataformas de vídeo curto no geral — quem já configurou rastreamento de TikTok Ads vai reconhecer a estrutura e só precisa trocar o mapa de macros.

Por que testar no celular real muda o resultado?

Testar no desktop valida a sintaxe do link. Só isso. O ambiente onde o dinheiro é gasto é outro, e ele só aparece no aparelho.

O teste que vale é este: abra o aplicativo no celular, em rede móvel, encontre o anúncio ou use a pré-visualização da campanha, e toque como um usuário tocaria. Deixe a landing carregar dentro da webview e confira na barra de endereço se o identificador chegou íntegro. Depois complete a conversão até o fim, inclusive o checkout de terceiro, sem sair para outro navegador.

Três coisas aparecem nesse teste e em nenhum outro: o comportamento do redirecionamento dentro do app, a perda de parâmetro quando a landing abre uma nova janela, e a diferença entre iOS e Android no tratamento de deep link. Vale repetir o percurso nos dois sistemas — o resultado não é o mesmo.

Um detalhe operacional: rede móvel, não o Wi-Fi do escritório. Roteamento e resolução de DNS diferentes já foram motivo suficiente para um link funcionar no teste e falhar em produção.

Por que o número da plataforma nunca bate com o do tracker?

Não bate, e não deveria bater. São contagens diferentes:

  • Momento. A plataforma registra o evento quando ele é observado no navegador. O tracker registra quando o merchant confirma. Boleto, Pix pendente, análise antifraude e período de validação separam as duas coisas por horas ou dias.
  • Atribuição. A plataforma usa a janela e o modelo dela, que podem incluir visualização. O tracker atribui ao clique que ele mesmo registrou, e só a ele.
  • Perda de evento. Do lado do navegador, bloqueio e falha de execução cortam disparos. Do lado do servidor, postback não configurado ou com parâmetro errado some com o evento.
  • Cancelamento. Estorno e recusa reduzem o número confirmado sem mexer no que a plataforma já contou.

O objetivo não é zerar a diferença, é conhecê-la e mantê-la estável. Uma discrepância constante de faixa previsível é operacional; uma que muda de tamanho toda semana é sintoma. O roteiro de investigação está em discrepância entre plataforma e tracker.

O que muda na rotina depois que isso está de pé

Com a cadeia fechando, três decisões passam a se apoiar em número auditável: quanto escalar, o que cortar e qual criativo realmente entregou venda aprovada — e não apenas página de obrigado carregada dentro de uma webview que talvez nem tenha sobrevivido ao clique seguinte.

Nada disso melhora campanha sozinho. O que muda é que a conta que você olha antes de aumentar orçamento passa a corresponder ao que aconteceu.

Perguntas frequentes

Por que o Kwai Ads é mais difícil de rastrear do que Google Ads?

Não é a plataforma que é diferente, é o ambiente. A maior parte do tráfego abre num navegador dentro do aplicativo, com ciclo de vida curto, armazenamento isolado e comportamento próprio em redirecionamentos. O mecanismo de captura é o mesmo de sempre, só tem menos margem para erro.

Qual é o nome do parâmetro de clique do Kwai Ads?

O nome e a sintaxe da macro mudam com o tempo e com o tipo de campanha. Confira no painel de campanha e na documentação oficial da plataforma antes de montar o link, e valide com um clique real. Usar um nome desatualizado é a causa mais comum de parâmetro vazio.

Preciso de pixel se eu já uso postback server-side?

Sim, com papéis separados. O pixel alimenta a otimização dentro da plataforma; o postback alimenta o seu relatório e a sua decisão de escala. Quando os dois divergem, a diferença é diagnóstico, não erro.

O identificador sobrevive se o usuário sair do navegador in-app e abrir o app da loja?

Normalmente não. Deep link para aplicativo costuma descartar a query string. Se a oferta depende de abrir um app, o identificador precisa ser passado pelo mecanismo de deep link que aquele destino suporta, e isso é uma configuração do lado do destino.

Posso usar encurtador nos links de Kwai Ads?

Só se ele repassar a query string recebida. Encurtador que serve URL fixa apaga todos os parâmetros e quebra a cadeia inteira. Na dúvida, use o seu próprio domínio de tracking em vez de um encurtador.

Por que o número da plataforma nunca bate com o do tracker?

Porque medem coisas diferentes, em momentos diferentes. A plataforma conta evento observado no navegador e atribui por janela própria; o tracker conta evento confirmado pelo merchant e atribui ao clique registrado. Diferença existe sempre; o que importa é ela ser estável e explicável.

Equipe Affilitrack

Time que constrói e opera o Affilitrack. Escrevemos a partir de operação real de tracking de afiliados no Brasil — postback de casa de aposta, infoproduto e mídia paga.

Teste o Affilitrack com a sua operação

Postback server-side, atribuição por clique e repasse automático para sub-afiliados. Planos a partir de R$ 97/mês, com Pix ou cartão.

Continue lendo