Remova parâmetros de rastreamento com Cloudflare Workers e Transform Rules

Parâmetros de rastreamento como fbclid e gclid criam URLs exclusivas que ignoram o cache da sua CDN. Três maneiras de corrigir isso.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-03-11

Por que os parâmetros de rastreamento destroem sua taxa de acertos de cache

Parâmetros de rastreamento como utm_source, gclid e fbclid ajudam os profissionais de marketing a medir o desempenho das campanhas. Para os Core Web Vitals, eles são um pesadelo porque quebram o cache. Cada URL exclusiva cria uma entrada de cache separada. Uma única página compartilhada no Facebook recebe um fbclid exclusivo para cada clique, o que significa que cada visitante vindo do Facebook sofre uma perda de cache e um Time to First Byte lento.

A Cloudflare oferece três maneiras de remover esses parâmetros na borda antes que eles poluam seu cache: Transform Rules (sem código), Workers (controle total) e personalização de Cache Key (Enterprise). Abordarei todas as três.

Revisado por último por Arjen Karel em março de 2026

O problema de cache com parâmetros de rastreamento

Sistemas de cache usam a URL completa como a chave de cache. Se uma URL inclui ?utm_source=google ou ?fbclid=abc123, o cache a trata como uma página diferente, mesmo que o conteúdo seja idêntico. Isso é uma perda de cache. O servidor reconstrói uma página que já havia armazenado em cache, apenas porque a URL tem um valor diferente na query string.

A escala desse problema é maior do que a maioria das pessoas imagina. Existem 129 parâmetros de rastreamento conhecidos em todo o ecossistema de marketing. O parâmetro fbclid é o mais destrutivo porque o Facebook o adiciona a cada clique em link de saída, não apenas em anúncios pagos. Cada compartilhamento orgânico, cada link em um comentário, cada postagem que vincula ao seu site recebe um valor de fbclid exclusivo.

De acordo com o Web Almanac 2025, apenas 44% das origens em dispositivos móveis têm um bom TTFB. A Cloudflare relatou que corrigir o comportamento de cache da query string melhorou as taxas de acertos de cache em 3% em média e reduziu os bytes de origem em 5%. Isso se traduz diretamente em um Largest Contentful Paint mais rápido para seus visitantes.

Nem todos os parâmetros de consulta (query parameters) são lixo de rastreamento. Parâmetros como ?q=laptops ou ?color=blue alteram o conteúdo da página. O objetivo é remover os parâmetros que não afetam o conteúdo, mantendo aqueles que afetam.

Quais parâmetros de rastreamento você deve remover?

Aqui estão os parâmetros de rastreamento mais comuns agrupados por plataforma. Eles criam URLs exclusivas e não armazenáveis em cache sem alterar o conteúdo da página:

PlataformaParâmetros
Google Adsgclid, gclsrc, wbraid, gbraid, dclid, gad_source
Google Analyticsutm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_id, _ga, _gl
Facebook / Metafbclid, fb_action_ids, fb_action_types
Microsoft Adsmsclkid
TikTokttclid
Twitter / Xtwclid
LinkedInli_fat_id
Pinterestepik
E-mail / Marketingmc_cid, mc_eid, _hsenc, _hsmi, mkt_tok, ck_subscriber_id

Esta não é a lista completa. O registro de parâmetros de consulta de rastreamento documenta todos os 129 parâmetros conhecidos. Para a maioria dos sites, abranger os parâmetros do Google, Meta e Microsoft resolve 95% do problema.

Opção 1: Transform Rules (não requer código)

A Cloudflare possui uma função integrada chamada remove_query_args() que remove parâmetros de consulta específicos da URL antes que ela chegue ao cache. Isso funciona como uma Transform Rule, não requer código e está disponível em todos os planos, incluindo o nível gratuito.

Para configurar isso:

  1. No painel da sua Cloudflare, vá para Rules, depois Transform Rules e em seguida URL Rewrite
  2. Crie uma nova regra
  3. Defina o filtro para corresponder ao seu domínio, por exemplo, (http.host eq "example.com")
  4. Em Query, selecione Rewrite to e depois Dynamic
  5. Insira a expressão:
    remove_query_args(http.request.uri.query, "utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content", "utm_id", "gclid", "gclsrc", "wbraid", "gbraid", "dclid", "gad_source", "fbclid", "msclkid", "ttclid", "twclid", "li_fat_id", "epik", "srsltid", "_ga", "_gl")
  6. Em Path, selecione Preserve

É só isso. Nenhum Worker, nenhuma implantação de código. O plano gratuito permite 10 Transform Rules, o Pro permite 25. Para a maioria dos sites, essa é a melhor opção.

Opção 2: Cloudflare Workers

A Cloudflare possui opções prontas para uso para ignorar query strings, mas suas configurações conservadoras não são suficientes para aproveitar ao máximo o seu plano da Cloudflare. Se você precisar de mais controle do que as Transform Rules oferecem (por exemplo, correspondência de regex, lógica condicional ou registro de logs), um Cloudflare Worker oferece flexibilidade total.

Os Workers interceptam solicitações na borda e executam seu código antes que a solicitação atinja o cache ou a origem. A Cloudflare carrega os Workers durante o handshake TLS, portanto, a sobrecarga efetiva é inferior a 1 milissegundo.

O código

Abaixo está o script completo do Worker usando a sintaxe atual de ES modules:

export default {
  async fetch(request) {
    const url = new URL(request.url)

    const trackingParams = /^(utm_|gad_|gclid|gclsrc|wbraid|gbraid|dclid|fbclid|fb_action_|srsltid|msclkid|ttclid|twclid|li_fat_id|epik|igshid|_ga$|_gl$|mc_[ce]id|_hs[em])/

    // Collect matching keys first (do not delete during iteration)
    const keysToDelete = [...url.searchParams.keys()].filter(
      key => trackingParams.test(key)
    )

    keysToDelete.forEach(key => url.searchParams.delete(key))

    return fetch(url.toString(), request)
  }
}

O Worker analisa a URL, testa cada parâmetro de consulta em relação a uma regex e remove as correspondências. A URL limpa então vai para o cache e para a origem. Dois detalhes importam aqui: o código coleta chaves em um array antes de excluí-las, porque excluir durante a iteração do URLSearchParams pode pular entradas (este é um problema conhecido de especificação com iteradores ativos). E o script usa o formato ES modules (export default) porque a Cloudflare descontinuou a sintaxe antiga addEventListener.

Implantação

  1. Faça login na Cloudflare. Entre no painel da sua Cloudflare.
  2. Crie um Worker. Não navegue para o seu site ainda. Navegue até a seção Workers e crie um novo Worker.
    stripping tracking parameters with cloudflare step1
  3. Nomeie o Worker e implante. Esta etapa pode parecer um pouco contra-intuitiva, mas não se preocupe. Apenas nomeie seu worker vazio de 'hello world' e clique em deploy (implantar).
    stripping tracking parameters with cloudflare step2
  4. Edite seu Worker. Na próxima página, clique em Edit Code (Editar código).
    stripping tracking parameters with cloudflare step3
  5. Cole o script. Copie e cole o script acima no editor. Em seguida, clique em deploy.
    stripping tracking parameters with cloudflare step4
  6. Vincule o Worker a uma rota. Agora volte e navegue para o seu site na Cloudflare. Clique em worker routes e depois em 'Add Route' (Adicionar rota). Selecione o worker recém-criado e aplique-o ao seu site.
    stripping tracking parameters with cloudflare step5

Personalização

Você pode modificar a regex para incluir ou excluir parâmetros específicos. Se desejar preservar determinados parâmetros utm_ para processamento no lado do servidor, remova-os da regex. Se você usa uma plataforma de marketing não coberta pela regex padrão, adicione os parâmetros dela.

Opção 3: Personalização de Cache Key (Enterprise)

Se você estiver em um plano Cloudflare Enterprise, poderá configurar chaves de cache personalizadas para excluir parâmetros de consulta específicos sem removê-los da URL. O cache simplesmente os ignora ao calcular a chave. Essa é a abordagem mais limpa porque a URL permanece inalterada, mas requer o plano Enterprise.

Para planos não-Enterprise, a abordagem com Transform Rule ou Worker alcança o mesmo benefício de cache.

Qual abordagem você deve usar?

AbordagemPlanosRequer códigoMelhor para
Transform RulesTodos (Free, Pro, Business, Enterprise)NãoA maioria dos sites. Simples, confiável, sem manutenção.
Cloudflare WorkersTodos (Nível gratuito: 100 mil solicitações/dia)SimSites que precisam de correspondência de regex, lógica condicional ou registro de logs.
Cache Key RulesApenas EnterpriseNãoSites Enterprise que desejam parâmetros preservados na URL, mas ignorados pelo cache.

Para a maioria dos sites, comece com Transform Rules. Se você atingir o limite de regras ou precisar de mais flexibilidade, mude para Workers.

Se você usa WordPress com Cloudflare APO, pode não precisar de nada disso. O APO mantém uma lista de permissões de mais de 25 parâmetros de marketing que ele ignora ao calcular as chaves de cache. Verifique se seus parâmetros específicos estão cobertos antes de adicionar um Worker ou Transform Rule.

A remoção de parâmetros prejudica o analytics?

Não. A remoção acontece na borda, entre a CDN e o seu servidor de origem. A URL do navegador ainda contém os parâmetros de rastreamento originais. O Google Analytics, o rastreamento de conversões do Google Ads e o pixel do Facebook leem do document.location no lado do cliente, que ainda possui a URL completa com todos os parâmetros intactos.

O único cenário em que isso poderia causar problemas é se o seu código do lado do servidor (server-side) lê os parâmetros de rastreamento a partir da URL (por exemplo, uma implementação de analytics no lado do servidor). Nesse caso, exclua esses parâmetros da remoção ou capture-os em um cabeçalho de solicitação antes que o Worker os remova.

Para uma visão mais ampla de como os scripts de rastreamento e analytics afetam o desempenho além do cache, consulte O caso a favor da limitação de scripts de analytics e rastreamento.

Como encontrar quais parâmetros de URL remover

Descobrir quais parâmetros de URL remover é fácil se você usar a ferramenta certa. Ferramentas de Real User Monitoring como o CoreDash monitoram seu site 24/7 e registram todas as query strings junto com o impacto delas no desempenho. No CoreDash, navegue até Largest Contentful Paint e visualize os resultados por query string.

lcp by query string coredas workers

Em todos os sites monitorados pelo CoreDash, as páginas com parâmetros de rastreamento removidos apresentam taxas de acertos de cache cerca de 8 a 15% melhores. Para visitantes que, de outra forma, teriam uma perda de cache, isso se traduz em um TTFB de 200 a 500 ms mais rápido.

Se você estiver na Cloudflare e a subparte do seu TTFB de duração de cache estiver alta, a poluição por parâmetros de rastreamento é uma das primeiras coisas a se verificar. Combine a remoção de parâmetros com a configuração correta da Cloudflare e você verá uma melhoria mensurável em seus dados de campo.

About the author

Arjen Karel is a web performance consultant and the creator of CoreDash, a Real User Monitoring platform that tracks Core Web Vitals data across hundreds of sites. He also built the Core Web Vitals Visualizer Chrome extension. He has helped clients achieve passing Core Web Vitals scores on over 925,000 mobile URLs.

A performance cai no momento que você para de olhar.

Monto o monitoramento, os budgets e o processo. É isso que separa um fix de uma solução.

Vamos conversar
Remova parâmetros de rastreamento com Cloudflare Workers e Transform RulesCore Web Vitals Remova parâmetros de rastreamento com Cloudflare Workers e Transform Rules