Redirect com Pixel: Como Não Perder Dados de Conversão ao Redirecionar
Ao redirecionar visitantes entre páginas, você pode perder dados de conversão. Veja como disparar o pixel antes do redirect com PHP e JavaScript.
Ao redirecionar visitantes entre páginas, o pixel não dispara porque o navegador muda de URL antes que o código de rastreamento termine de carregar. A solução é adicionar um delay de 2 a 3 segundos antes do redirect, dando tempo para o pixel registrar o evento. Aqui você vai ver como implementar isso com PHP e JavaScript puro.
"Se o redirect acontece antes do pixel carregar, o Facebook nunca recebe o evento -- e você perde o dado de conversão."
Resumo rápido:
- Redirects imediatos impedem que o pixel do Facebook registre eventos
- Um delay de 2-3 segundos resolve o problema na maioria dos casos
- A versão PHP repassa automaticamente todos os parâmetros GET para a URL de destino
- A versão JavaScript pura funciona em qualquer página estática
O problema: redirect mata o rastreamento
O cenário mais comum é este: você tem uma página ponte (bridge page) e precisa redirecionar o visitante para o checkout do produtor. O visitante chega na sua página, o redirect acontece instantaneamente, e o pixel que você instalou na bridge page nunca completa o disparo.
Isso é especialmente prejudicial para afiliados que precisam rastrear de onde vieram os cliques. Sem o pixel disparando, você não sabe qual campanha ou anúncio gerou a conversão. O mesmo problema acontece quando você usa disparo de pixel via imagem -- se o redirect for imediato, nem a imagem invisível tem tempo de carregar.
Solução com PHP (para páginas dinâmicas)
Se a sua bridge page roda em um servidor PHP, use esta abordagem que repassa todos os parâmetros GET automaticamente:
<?php
$urlDestino = "https://pagina-final.com.br/obrigado";
// Repassa todos os parâmetros GET para a URL de destino
$urlDestino .= (strpos($urlDestino, '?') > 0 ? "&" : '?') . http_build_query($_GET);
?>
<!-- Coloque aqui o código do seu Pixel do Facebook -->
<script>
// Aguarda 2 segundos para o pixel disparar antes de redirecionar
setTimeout(function () {
location.href = "<?php echo $urlDestino; ?>";
}, 2000);
</script>
O http_build_query($_GET) pega todos os parâmetros da URL atual (UTMs, fbclid, etc.) e anexa na URL de destino. Assim você não perde nenhum dado de rastreamento.
Solução com JavaScript puro (para páginas estáticas)
Se você não tem PHP disponível, esta versão faz a mesma coisa usando apenas JavaScript:
<!-- Coloque aqui o código do seu Pixel do Facebook -->
<script>
var urlDestino = 'https://pagina-final.com.br/obrigado'; // URL de destino
// Repassa parâmetros da URL atual para o destino
urlDestino = urlDestino.trim() +
(urlDestino.indexOf("?") > 0 ? '&' : '?') +
document.location.search.replace('?', '').toString();
// Aguarda 3 segundos para os pixels carregarem
setTimeout(function () {
window.location = urlDestino;
}, 3 * 1000);
</script>
A lógica é a mesma: captura os parâmetros da URL atual, anexa na URL de destino e espera 3 segundos antes de redirecionar.
Como funciona a passagem de parâmetros
Quando o visitante chega na sua bridge page com uma URL assim:
https://suapagina.com.br/ponte?utm_source=facebook&utm_campaign=camp1&fbclid=abc123
O script captura utm_source=facebook&utm_campaign=camp1&fbclid=abc123 e anexa na URL de destino, resultando em:
https://pagina-final.com.br/obrigado?utm_source=facebook&utm_campaign=camp1&fbclid=abc123
Todos os parâmetros são preservados. Isso é fundamental para que o rastreamento funcione de ponta a ponta.
Quanto tempo de delay usar
Dois a três segundos cobrem a maioria dos cenários. O Pixel do Facebook normalmente dispara em menos de 1 segundo em conexões estáveis. O tempo extra é margem de segurança para conexões lentas.
Se você precisa de mais controle sobre o timing, considere também a abordagem de redirect mantendo UTMs que combina passagem de parâmetros com controle de delay. O Trafius monitora suas campanhas em tempo real e pode te alertar quando os dados de conversão param de chegar, indicando que algo no redirect pode estar falhando.
Perguntas frequentes
O visitante percebe o delay de 2-3 segundos?
Sim, mas é comum usar esse tempo para exibir uma mensagem como "Redirecionando para a página segura..." ou um spinner de loading. Isso dá uma experiência natural.
Posso usar delay menor que 2 segundos?
Pode, mas abaixo de 1.5 segundos há risco do pixel não completar o disparo, especialmente em conexões 3G. Dois segundos é o mínimo seguro recomendado.
O que acontece se o visitante fechar a página antes do redirect?
Se o visitante fechar antes do delay terminar e o pixel já tiver disparado, o evento é registrado normalmente. Se fechar antes do pixel disparar, o evento é perdido -- mas isso aconteceria com qualquer abordagem.
Funciona com mais de um pixel na mesma página?
Sim. O delay dá tempo para todos os pixels da página dispararem. Basta colocar todos os códigos de pixel antes do script de redirect.
Consulte suas métricas pelo WhatsApp
Com o Trafius, você pergunta "quanto gastei hoje?" e recebe CPC, ROAS, gastos e conversões em segundos, direto no WhatsApp.