Como Fazer Redirect Mantendo UTMs e Disparando o Pixel
Aprenda a redirecionar visitantes sem perder UTMs nem dados de conversão. Script combina passagem de parâmetros com delay para disparo de pixel.
Para fazer redirect mantendo UTMs e disparando o pixel, você precisa de um script que capture os parâmetros da URL atual, anexe na URL de destino e espere alguns segundos antes de redirecionar. Essa combinação resolve dois problemas de uma vez: a perda de UTMs entre páginas e o pixel que não dispara a tempo.
"Redirecionar sem preservar UTMs é como pagar por tráfego e jogar fora os dados que dizem de onde ele veio."
Resumo rápido:
- UTMs se perdem quando o redirect não repassa os parâmetros da URL
- O pixel não dispara se o redirect for imediato
- Um script JavaScript resolve os dois problemas ao mesmo tempo
- Para casos simples, a meta tag refresh é uma alternativa (mas não repassa parâmetros)
Os dois problemas de um redirect mal feito
Quando você redireciona um visitante de uma página para outra, duas coisas podem dar errado:
Perda de UTMs: os parâmetros utm_source, utm_medium, utm_campaign e outros ficam na URL da primeira página. Se o redirect não os captura e repassa, a página de destino não sabe de onde o visitante veio.
Pixel não dispara: se o redirect é instantâneo, o código do Pixel do Facebook (ou qualquer outro script de rastreamento) não tem tempo de executar. O evento nunca chega ao Meta.
Esses dois problemas juntos significam que você está pagando por tráfego sem conseguir medir o resultado. A solução é um script que faz três coisas em sequência.
O que o script faz (passo a passo)
A sequência de execução é:
- A página carrega e o pixel começa a disparar
- O script captura todos os parâmetros da URL atual
- Os parâmetros são anexados na URL de destino
- Após 3 segundos de espera, o redirect acontece
Script JavaScript completo
Este é o script que resolve tudo. Coloque-o na sua bridge page, depois do código do pixel:
<!-- Coloque o código do seu Pixel ANTES deste script -->
<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>
O script verifica se a URL de destino já tem parâmetros (contém ?). Se sim, usa & para adicionar os novos. Se não, usa ?. Isso evita URLs quebradas.
Alternativa simples: meta tag refresh
Para casos onde você não precisa repassar parâmetros e quer apenas dar tempo ao pixel, a meta tag refresh é a opção mais simples:
<meta http-equiv="refresh" content="3;URL='https://destino.com.br'"/>
O número 3 é o delay em segundos. Essa abordagem tem uma limitação importante: ela não repassa os parâmetros da URL. As UTMs, fbclid e qualquer outro dado na query string se perdem. Use apenas quando a passagem de parâmetros não for necessária.
Quando usar cada abordagem
| Situacao | Solução |
|---|---|
| Precisa repassar UTMs + disparar pixel | Script JavaScript com delay |
| Só precisa dar tempo ao pixel (sem UTMs) | Meta tag refresh |
| Tem servidor PHP disponível | Script PHP com http_build_query |
| Precisa disparar pixel sem JS | Disparo via imagem |
Dicas para implementação
Coloque o código do pixel antes do script de redirect. A ordem importa: o pixel precisa começar a carregar antes do timer de redirect iniciar.
Se a sua página tem conteúdo visível, adicione uma mensagem de transição para o visitante:
<p>Preparando sua página... Você será redirecionado em instantes.</p>
Teste com o Facebook Pixel Helper (extensão do Chrome) para confirmar que o evento está sendo registrado antes do redirect acontecer. Se você usa captura de parâmetros para outros fins na mesma página, garanta que os scripts não conflitem.
O Trafius te avisa em tempo real se as conversões das suas campanhas caírem, o que pode indicar problemas no redirect ou no disparo do pixel.
Perguntas frequentes
A meta tag refresh funciona em todos os navegadores?
Sim, a meta tag refresh é suportada por todos os navegadores modernos e antigos. Porém, alguns navegadores podem exibir um aviso antes de redirecionar, e ela não repassa parâmetros da URL.
Posso combinar meta tag refresh com o script JavaScript?
Pode, mas não faz sentido. Se o JavaScript estiver funcionando, o script faz o redirect. A meta tag serviria como fallback caso o JavaScript falhasse, mas nesse caso o pixel também não dispararia.
O delay de 3 segundos afeta a experiência do usuário?
Minimamente. Com uma mensagem de transição ("Redirecionando...") ou um spinner, o visitante entende que algo está acontecendo. Três segundos é aceitável para a maioria dos cenários.
Como sei se os parâmetros estão sendo repassados corretamente?
Abra a página com parâmetros de teste na URL (por exemplo, ?utm_source=teste&utm_campaign=verificacao) e observe a URL de destino no redirect. Os parâmetros devem aparecer na barra de endereço da nova página.
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.
