{"id":1098,"date":"2026-04-07T03:07:33","date_gmt":"2026-04-07T03:07:33","guid":{"rendered":"https:\/\/cms.funnelsheet.com\/?p=1098"},"modified":"2026-04-07T03:07:33","modified_gmt":"2026-04-07T03:07:33","slug":"how-to-handle-301-redirects-without-stripping-utm-parameters","status":"publish","type":"post","link":"https:\/\/cms.funnelsheet.com\/?p=1098","title":{"rendered":"How to Handle 301 Redirects Without Stripping UTM Parameters"},"content":{"rendered":"<p>Quando voc\u00ea migra p\u00e1ginas ou altera a estrutura de URLs, o redirecionamento 301 aparece como solu\u00e7\u00e3o elegante para n\u00e3o perder tr\u00e1fego. O problema real, por\u00e9m, \u00e9 que muitos redirecionamentos acabam desconsiderando a string de consulta que carrega os par\u00e2metros UTM (utm_source, utm_medium, utm_campaign, utm_content, utm_term). Sem esses dados, a origem de cada lead ou venda pode ficar obscura: GA4 registra origem como Direct, o Meta Ads Manager n\u00e3o reconhece a campanha e o CRM n\u00e3o correlaciona o lead \u00e0 origem original da visita. Em setups com GA4, GTM Web, GTM Server-Side e integra\u00e7\u00e3o com BigQuery, a consequ\u00eancia \u00e9 uma atribui\u00e7\u00e3o desalinhada que mina a confian\u00e7a na performance de canais. Isso n\u00e3o \u00e9 apenas uma quest\u00e3o de higiene de dados \u2014 \u00e9 um problema operacional que adia decis\u00f5es estrat\u00e9gicas e pode atrasar faturamento ao longo de jornadas multicanal.<\/p>\n<p>Este artigo nomeia o problema real, mapeia cen\u00e1rios comuns que voc\u00ea j\u00e1 deve ter visto na pr\u00e1tica e entrega um plano acion\u00e1vel para diagnosticar, corrigir e manter UTMs intactas durante redirecionamentos. Voc\u00ea vai entender quando aplicar solu\u00e7\u00f5es no servidor versus no cliente, quais regras de redirecionamento ajudam de fato a preservar a URL original, e como validar tudo antes de escalar. No final, ter\u00e1 um playbook de implementa\u00e7\u00e3o com passos pr\u00e1ticos, checagens r\u00e1pidas e crit\u00e9rios de auditoria que cabem em uma entrega de projeto sem virar reportagem de sustentabilidade de dados.<\/p>\n\n\n                        <figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1161\" height=\"1200\" src=\"https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i.jpg\" alt=\"a hard drive is shown on a white surface\" class=\"wp-image-899\" srcset=\"https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i.jpg 1161w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-290x300.jpg 290w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-991x1024.jpg 991w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-768x794.jpg 768w\" sizes=\"auto, (max-width: 1161px) 100vw, 1161px\" \/><\/figure>\n                        \n\n<h2>Por que os par\u00e2metros UTM somem quando ocorre um redirecionamento 301<\/h2>\n<h3>Problema espec\u00edfico: UTMs sumindo na cadeia de redirecionamentos<\/h3>\n<p>O redirecionamento 301 \u00e9, por defini\u00e7\u00e3o, um rebaixamento permanente da origem de uma URL antiga para a nova. Mas a forma como ele \u00e9 implementado determina se a string de consulta fica presa na origem ou \u00e9 perdida na passagem. Em servidores mal configurados ou em ferramentas de gerenciamento de URLs, a query string pode n\u00e3o ser transmitida para a URL de destino. Em cen\u00e1rios mais comuns, o 301 reescreve a URL sem manter a string de consulta, ou aplica regras que descartam parte da URL durante o rewrite. O efeito pr\u00e1tico \u00e9 simples: o visitante chega \u00e0 p\u00e1gina de destino sem utm_source, utm_medium ou utm_campaign, o que transforma a atribui\u00e7\u00e3o em um mar de falsos positivos de Direct e de origem desconhecida.<\/p>\n<h3>Impacto na atribui\u00e7\u00e3o entre GA4, Meta e CRM<\/h3>\n<p>Quando UTMs n\u00e3o chegam ao destination URL, GA4 tende a capturar a origem como Direct, o que distorce a vis\u00e3o de funil e dificulta a separa\u00e7\u00e3o entre canais pagos e org\u00e2nicos. No Meta Ads Manager, a etiqueta de campanha pode n\u00e3o ser reconhecida, prejudicando a compara\u00e7\u00e3o entre caminhos de convers\u00e3o e o cross-channel. No CRM, o lead pode chegar sem atribui\u00e7\u00e3o de campanha, for\u00e7ando equipes a estimar origem com base em fingerprinting ou last-touch gen\u00e9rico \u2014 pr\u00e1tica que tende a inflar alguns canais e subestimar outros. Em jornadas com v\u00e1rias intera\u00e7\u00f5es e janelas de convers\u00e3o longas, a perda de UTMs pode significar semanas de decis\u00e3o baseada em dados incompletos.<\/p>\n<blockquote><p>\u201cSem UTMs preservadas, a origem da convers\u00e3o fica invis\u00edvel para GA4 e para o CRM.\u201d<\/p><\/blockquote>\n<blockquote><p>\u201cA cada redirecionamento mal configurado, voc\u00ea acrescenta uma incerteza que o time de m\u00eddia n\u00e3o pode aceitar.\u201d<\/p><\/blockquote>\n<h2>Estrat\u00e9gias para manter UTMs durante redirecionamentos<\/h2>\n<h3>Preservar a query string no servidor com redirecionamento 301 claro<\/h3>\n<p>A primeira linha de defesa \u00e9 garantir que o servidor ou a camada de front-end mantenha a string de consulta ao aplicar o 301. Em termos pr\u00e1ticos, isso significa evitar reescritas que descartem a query string e usar regras que preservem a URL original completa na nova localiza\u00e7\u00e3o. Dependendo da pilha (Apache, Nginx, Cloudflare Workers, ou proxy reverso), as op\u00e7\u00f5es variam, mas o princ\u00edpio \u00e9 o mesmo: o redirecionamento n\u00e3o deve \u201climpar\u201d a URL. Quando a string de consulta \u00e9 preservada, as plataformas de an\u00e1lise capturam com mais fidelidade a campanha de origem e o canal de aquisi\u00e7\u00e3o, mesmo ap\u00f3s m\u00faltiplos saltos de redirecionamento.<\/p>\n<h3>Encaminhar UTMs como par\u00e2metros da URL de destino<\/h3>\n<p>Se, por limites t\u00e9cnicos, n\u00e3o for poss\u00edvel preservar a query string inteira no redirecionamento, a pr\u00e1tica recomendada \u00e9 encaminhar explicitamente os UTMs como par\u00e2metros da URL de destino. Em vez de depender apenas do redirecionamento, voc\u00ea pode reescrever a URL de destino para incluir utm_source, utm_medium, utm_campaign, etc., mantendo o conjunto completo de par\u00e2metros relevantes. Esse approach exige coordena\u00e7\u00e3o entre altera\u00e7\u00f5es de servidor e ajustes de landing pages para garantir que a string de consulta permane\u00e7a intacta at\u00e9 a coleta no GA4 ou no servidor de atribui\u00e7\u00e3o.<\/p>\n<h3>Capturar UTMs antes do redirecionamento e reanotar<\/h3>\n<p>Em cen\u00e1rios onde a passagem direta de UTMs n\u00e3o \u00e9 vi\u00e1vel, uma abordagem pr\u00e1tica \u00e9 capturar os par\u00e2metros de origem antes do redirecionamento (no servidor ou no client) e, em seguida, repass\u00e1-los para a p\u00e1gina de destino por meio de cookies, session storage ou par\u00e2metros expl\u00edcitos na URL final. A partir da\u00ed, voc\u00ea pode extrair essas informa\u00e7\u00f5es no landing page e re-injet\u00e1-las nos eventos enviados para GA4, ou at\u00e9 mesmo grav\u00e1-las no BigQuery para reconciliation. Essa t\u00e9cnica reduz o risco de perda de dados, mas aumenta a complexidade de implementa\u00e7\u00e3o e deve considerar pol\u00edticas de privacidade e consentimento.<\/p>\n<h2>Escolha entre client-side e server-side: vantagens e limites<\/h2>\n<h3>Quando usar GTM Server-Side para UTMs<\/h3>\n<p>GTM Server-Side facilita a captura de UTMs na borda do dom\u00ednio, especialmente em cen\u00e1rios com m\u00faltiplos redirecionamentos ou com landing pages em ambientes com restri\u00e7\u00f5es de cookies. Com o server-side, voc\u00ea pode interceptar a requisi\u00e7\u00e3o, ler a string de consulta e reenvi\u00e1-la de modo controlado para a URL de destino, ajudando a preservar o conjunto de UTMs independentemente da origem do tr\u00e1fego. Al\u00e9m disso, a camada server-side oferece maior controle sobre remo\u00e7\u00e3o de par\u00e2metros por parte de proxies de terceiros e pode reduzir a fragmenta\u00e7\u00e3o entre GA4 e o seu data layer. Contudo, exige investimento t\u00e9cnico, tempo de implementa\u00e7\u00e3o e considera\u00e7\u00f5es de privacidade, incluindo Consent Mode v2 e LGPD.<\/p>\n<h3>Limites de privacidade, Consent Mode e padr\u00f5es de cookies<\/h3>\n<p>Qualquer solu\u00e7\u00e3o que envolva captura e reenvio de UTMs precisa lidar com o Consent Mode e com as pol\u00edticas de privacidade. Em Brasil e mercados internacionais, o consentimento de cookies impacta a disponibilidade de dados de convers\u00e3o e a capacidade de associar cliques a eventos. Em cen\u00e1rios com restri\u00e7\u00f5es de cookies de terceiros, o uso de server-side pode ser vantajoso, desde que voc\u00ea mantenha a conformidade com LGPD e documente como os dados de origem s\u00e3o coletados e armazenados. Em resumo, n\u00e3o d\u00e1 para vender uma solu\u00e7\u00e3o sem reconhecer que a privacidade do usu\u00e1rio imp\u00f5e limites reais e condi\u00e7\u00f5es de implementa\u00e7\u00e3o espec\u00edficas do seu neg\u00f3cio.<\/p>\n<h2>Checklist de valida\u00e7\u00e3o e auditoria<\/h2>\n<h3>Sinais de que o setup est\u00e1 funcionando<\/h3>\n<p>Para ter certeza de que seus UTMs est\u00e3o atravessando redirecionamentos 301, execute valida\u00e7\u00f5es simples: verifique os logs do servidor para confirmar que a query string est\u00e1 presente na URL final, conferindo a presen\u00e7a de utm_source, utm_medium e utm_campaign nos eventos enviados a GA4. Em GA4, compare relat\u00f3rios de aquisi\u00e7\u00e3o com os dados do Google Ads e do Meta Ads Manager para confirmar a consist\u00eancia entre cliques, impress\u00f5es e convers\u00f5es. Em BigQuery, fa\u00e7a join entre logs de acessos e eventos para confirmar que cada convers\u00e3o possui a origem correta. Se tudo bater, voc\u00ea reduziu a incerteza de atribui\u00e7\u00e3o em um patamar significativo.<\/p>\n<h3>Erros comuns que destroem UTMs<\/h3>\n<p>Alguns erros s\u00e3o comuns, mas evit\u00e1veis com uma checagem r\u00e1pida: (1) redirecionamentos encadeados que perdem a query string a cada etapa; (2) uso de proxies que removem par\u00e2metros ou reescrevem URLs; (3) uso de par\u00e2metros can\u00f4nicos sem lembran\u00e7a de UTMs na URL de destino; (4) aus\u00eancia de captura de UTMs no momento da aterrissagem, levando a eventos sem origem; (5) inconsist\u00eancia entre UTMs no An\u00fancio e na URL final devido a redirecionamentos adicionais em p\u00e1ginas de terceiros (p.ex., encadeamento via dom\u00ednio de terceiros).<\/p>\n<h2>Plano de a\u00e7\u00e3o: passos pr\u00e1ticos para colocar em produ\u00e7\u00e3o<\/h2>\n<ol>\n<li>Mapear todas as URLs com redirecionamento 301 no seu site, identificando onde a string de consulta pode ser perdida.<\/li>\n<li>Verificar logs de servidor e de rede para entender o fluxo real de cada redirecionamento (origem, intermedi\u00e1rios, destino).<\/li>\n<li>Configurar regras de 301 que preservem a query string sempre que poss\u00edvel; se n\u00e3o for vi\u00e1vel, planejar a reencaminhar UTMs explicitamente como par\u00e2metros na URL de destino.<\/li>\n<li>Implementar captura de UTMs na aterrissagem (via GTM Server-Side ou via landing page) e garantir que esses par\u00e2metros sejam enviados para GA4 e para o seu CRM.<\/li>\n<li>Executar testes com campanhas reais (Google Ads, Meta Ads) e com visitas de origem diversa para confirmar que as UTMs chegam intactas aos relat\u00f3rios de GA4 e aos pain\u00e9is do BigQuery\/Looker Studio.<\/li>\n<li>Documentar a configura\u00e7\u00e3o, criar um SOP de auditoria mensal e manter uma trilha de mudan\u00e7as para facilitar o suporte com clientes ou squads de Dev.<\/li>\n<\/ol>\n<blockquote><p>\u201cA pr\u00e1tica correta n\u00e3o \u00e9 apenas n\u00e3o perder UTMs; \u00e9 provar, com logs e relat\u00f3rios, que cada clique resulta na atribui\u00e7\u00e3o certa at\u00e9 a convers\u00e3o.\u201d<\/p><\/blockquote>\n<p>Em ambientes complexos, o diagn\u00f3stico pode exigir ajustes finos entre client-side e server-side. Se seu funil envolve landing pages em plataformas com bloqueio de cookies, cat\u00e1logos din\u00e2micos ou integra\u00e7\u00e3o com WhatsApp Business API, vale a pena planejar fases de implementa\u00e7\u00e3o \u2014 come\u00e7ando com preserva\u00e7\u00e3o de UTMs em passos cr\u00edticos e evoluindo para captura\/reenuncia\u00e7\u00e3o mais sofisticadas em GTM Server-Side. A ideia \u00e9 reduzir a depend\u00eancia de cookies de terceiros e manter a clareza de origem mesmo quando a navega\u00e7\u00e3o inclui m\u00faltiplas etapas de redirecionamento.<\/p>\n<p>Para fundamentar as pr\u00e1ticas acima, vale consultar fontes oficiais sobre como funcionam os par\u00e2metros de campanha no GA4 e as diretrizes da plataforma de analytics. A documenta\u00e7\u00e3o do Google Analytics descreve a estrutura dos par\u00e2metros de campanha e como eles s\u00e3o usados para atribui\u00e7\u00e3o (em pt-br): <a href=\"https:\/\/support.google.com\/analytics\/answer\/1033863?hl=pt-br\" target=\"_blank\" rel=\"noopener\">Guia oficial de par\u00e2metros de campanha<\/a>. Al\u00e9m disso, a documenta\u00e7\u00e3o de desenvolvedores do GA4 aborda explicitamente os par\u00e2metros de campanha usados pela coleta de dados: <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\/campaign-params?hl=pt-br\" target=\"_blank\" rel=\"noopener\">Par\u00e2metros de campanha GA4<\/a>.<\/p>\n<p>Para entender a rela\u00e7\u00e3o entre UTMs, dados de atribui\u00e7\u00e3o e privacidade, vale consultar o portal de suporte do Meta (Facebook\/Meta) para pr\u00e1ticas de tracking e consentimento, que ajudam a alinhar estrat\u00e9gias entre an\u00fancios e landing pages: <a href=\"https:\/\/www.facebook.com\/business\/help\" target=\"_blank\" rel=\"noopener\">Central de Ajuda do Meta<\/a>. E, para ampliar a vis\u00e3o sobre a pr\u00e1tica de UTMs no ecossistema de medi\u00e7\u00e3o, o Think with Google apresenta conceitos e exemplos \u00fateis com foco em dados de marketing: <a href=\"https:\/\/www.thinkwithgoogle.com\/intl\/pt-br\/marketing-strategies\/data-measurement\/utm-parameters\/\" target=\"_blank\" rel=\"noopener\">UTM parameters &#8211; Think with Google<\/a>.<\/p>\n<p>O tema envolve escolhas que dependem de contexto \u2014 plataforma, tipo de site, e a maturidade da infraestrutura de dados. Se voc\u00ea opera com p\u00e1ginas SPA, integra\u00e7\u00f5es com WhatsApp Business API ou fluxos de pagamento com redirecionamento, \u00e9 fundamental diagnosticar antes de implementar. Se tiver d\u00favidas espec\u00edficas sobre seu stack (GA4, GTM Server-Side, BigQuery, Looker Studio), vale considerar uma checagem de configura\u00e7\u00e3o com um especialista que j\u00e1 auditorou centenas de setups e sabe exatamente onde o verro do problema aparece.<\/p>\n<p>O pr\u00f3ximo passo \u00e9 colocar o playbook em pr\u00e1tica no ambiente de staging, validar com dados reais e, se necess\u00e1rio, ajustar regras de redirecionamento e captura de UTMs com apoio da equipe de DevOps e de dados. Ao alinhar o fluxo entre cliques, UTMs e convers\u00f5es, voc\u00ea reduz a varia\u00e7\u00e3o de atribui\u00e7\u00e3o e aumenta a confiabilidade dos seus n\u00fameros \u2014 sem surpresas no funil quando as campanhas passam por redirecionamentos complexos.<\/p>","protected":false},"excerpt":{"rendered":"<p>Quando voc\u00ea migra p\u00e1ginas ou altera a estrutura de URLs, o redirecionamento 301 aparece como solu\u00e7\u00e3o elegante para n\u00e3o perder tr\u00e1fego. O problema real, por\u00e9m, \u00e9 que muitos redirecionamentos acabam desconsiderando a string de consulta que carrega os par\u00e2metros UTM (utm_source, utm_medium, utm_campaign, utm_content, utm_term). Sem esses dados, a origem de cada lead ou venda&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[20,294,22,12,293],"content_language":[5],"class_list":["post-1098","post","type-post","status-publish","format-standard","hentry","category-blogen","tag-bigquery","tag-google-analytics","tag-gtm","tag-parametros-utm","tag-redirecionamento","content_language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/1098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1098"}],"version-history":[{"count":0,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/1098\/revisions"}],"wp:attachment":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1098"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1098"},{"taxonomy":"content_language","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcontent_language&post=1098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}