Strip trackingparameters met Cloudflare Workers en Transform Rules

Trackingparameters zoals fbclid en gclid creëren unieke URL's die je CDN-cache omzeilen. Drie manieren om dit op te lossen.

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

Waarom trackingparameters je cache hit rate vernietigen

Trackingparameters zoals utm_source, gclid en fbclid helpen marketeers de prestaties van campagnes te meten. Voor Core Web Vitals zijn ze een nachtmerrie omdat ze caching doorbreken. Elke unieke URL creëert een aparte cache entry. Een enkele pagina die op Facebook wordt gedeeld, krijgt een unieke fbclid voor elke klik, wat betekent dat elke bezoeker van Facebook een cache miss krijgt en een trage Time to First Byte.

Cloudflare geeft je drie manieren om deze parameters aan de edge te strippen voordat ze je cache vervuilen: Transform Rules (geen code), Workers (volledige controle) en Cache Key-aanpassing (Enterprise). Ik zal ze alle drie behandelen.

Laatst beoordeeld door Arjen Karel in maart 2026

Het caching-probleem met trackingparameters

Cachingsystemen gebruiken de volledige URL als de cache key. Als een URL ?utm_source=google of ?fbclid=abc123 bevat, behandelt de cache dit als een andere pagina, ook al is de inhoud identiek. Dat is een cache miss. De server bouwt een pagina opnieuw op die hij al in de cache heeft, simpelweg omdat de URL een andere query string-waarde heeft.

De schaal van dit probleem is groter dan de meeste mensen zich realiseren. Er zijn 129 bekende trackingparameters in het marketingecosysteem. De fbclid-parameter is het meest destructief omdat Facebook deze toevoegt aan elke uitgaande linkklik, niet alleen aan betaalde advertenties. Elke organische share, elke link in een reactie en elke post die naar jouw site linkt, krijgt een unieke fbclid-waarde.

Volgens de 2025 Web Almanac heeft slechts 44% van de mobiele origins een goede TTFB. Cloudflare meldde dat het oplossen van caching-gedrag voor query strings de cache hit rates gemiddeld met 3% verbeterde en origin bytes met 5% verminderde. Dat vertaalt zich direct naar een snellere Largest Contentful Paint voor je bezoekers.

Niet alle queryparameters zijn tracking-rommel. Parameters zoals ?q=laptops of ?color=blauw veranderen de pagina-inhoud. Het doel is om de parameters te strippen die de inhoud niet beïnvloeden, terwijl je de parameters behoudt die dat wel doen.

Welke trackingparameters moet je strippen?

Hier zijn de meest voorkomende trackingparameters gegroepeerd per platform. Deze creëren unieke, oncachebare URL's zonder de pagina-inhoud te wijzigen:

PlatformParameters
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

Dit is niet de volledige lijst. De tracking query params registry documenteert alle 129 bekende parameters. Voor de meeste sites lost het afdekken van de Google-, Meta- en Microsoft-parameters 95% van het probleem op.

Optie 1: Transform Rules (geen code vereist)

Cloudflare heeft een ingebouwde functie genaamd remove_query_args() die specifieke queryparameters uit de URL stript voordat deze de cache bereikt. Dit draait als een Transform Rule, vereist geen code en is beschikbaar op alle abonnementen inclusief de gratis tier.

Om dit in te stellen:

  1. Ga in je Cloudflare-dashboard naar Rules, vervolgens naar Transform Rules en daarna naar URL Rewrite
  2. Maak een nieuwe regel aan
  3. Stel de filter in zodat deze overeenkomt met je domein, bijvoorbeeld (http.host eq "example.com")
  4. Selecteer voor Query de optie Rewrite to en daarna Dynamic
  5. Voer de volgende expressie in:
    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. Selecteer voor Path de optie Preserve

Dat is alles. Geen Worker, geen code-implementatie. Het gratis abonnement staat 10 Transform Rules toe, Pro staat er 25 toe. Voor de meeste sites is dit de beste optie.

Optie 2: Cloudflare Workers

Cloudflare heeft out-of-the-box opties om query strings te negeren, maar hun conservatieve instellingen zijn niet voldoende om het maximale uit je Cloudflare-abonnement te halen. Als je meer controle nodig hebt dan Transform Rules bieden (bijvoorbeeld regex-matching, conditionele logica of logging), geeft een Cloudflare Worker je volledige flexibiliteit.

Workers onderscheppen verzoeken aan de edge en voeren je code uit voordat het verzoek de cache of origin raakt. Cloudflare laadt Workers tijdens de TLS-handshake, dus de effectieve overhead is minder dan 1 milliseconde.

De code

Hieronder staat het volledige Worker-script met de huidige ES modules-syntaxis:

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)
  }
}

De Worker parset de URL, test elke queryparameter tegen een regex en verwijdert overeenkomsten. De schone URL gaat vervolgens naar de cache en origin. Twee details zijn hier van belang: de code verzamelt keys in een array voordat ze verwijderd worden, omdat verwijderen tijdens URLSearchParams-iteratie invoeren kan overslaan (dit is een bekend spec-probleem met live iterators). En het script gebruikt het ES modules-formaat (export default) omdat Cloudflare de oudere addEventListener-syntaxis heeft afgeschaft.

Implementatie

  1. Log in bij Cloudflare. Log in op je Cloudflare-dashboard.
  2. Maak een Worker aan. Navigeer nog niet naar je site. Navigeer naar de sectie Workers en maak een nieuwe Worker aan.
    stripping tracking parameters with cloudflare step1
  3. Geef de Worker een naam en implementeer. Deze stap kan een beetje contra-intuïtief lijken, maar maak je geen zorgen. Geef je lege 'hello world'-Worker gewoon een naam en klik op deploy.
    stripping tracking parameters with cloudflare step2
  4. Bewerk je Worker. Klik op de volgende pagina op Edit Code.
    stripping tracking parameters with cloudflare step3
  5. Plak het script. Kopieer en plak het bovenstaande script in de editor. Klik vervolgens op deploy.
    stripping tracking parameters with cloudflare step4
  6. Koppel de Worker aan een route. Ga nu terug en navigeer naar je site in Cloudflare. Klik op Worker routes en vervolgens op 'Add Route'. Selecteer de zojuist aangemaakte Worker en pas deze toe op je site.
    stripping tracking parameters with cloudflare step5

Aanpassing

Je kunt de regex aanpassen om specifieke parameters op te nemen of uit te sluiten. Als je bepaalde utm_-parameters wilt behouden voor server-side verwerking, verwijder ze dan uit de regex. Als je een marketingplatform gebruikt dat niet door de standaard regex wordt gedekt, voeg dan de bijbehorende parameters toe.

Optie 3: Cache Key-aanpassing (Enterprise)

Als je een Cloudflare Enterprise-abonnement hebt, kun je aangepaste cache keys configureren om specifieke queryparameters uit te sluiten zonder ze überhaupt uit de URL te strippen. De cache negeert ze simpelweg bij het berekenen van de key. Dit is de schoonste aanpak omdat de URL ongewijzigd blijft, maar het vereist Enterprise.

Voor niet-Enterprise abonnementen bereikt de Transform Rule- of Worker-aanpak hetzelfde cache-voordeel.

Welke aanpak moet je gebruiken?

AanpakAbonnementenCode vereistBeste voor
Transform RulesAlle (Free, Pro, Business, Enterprise)NeeDe meeste sites. Simpel, betrouwbaar, geen onderhoud.
Cloudflare WorkersAlle (Free tier: 100K verzoeken/dag)JaSites die regex-matching, conditionele logica of logging nodig hebben.
Cache Key RulesAlleen EnterpriseNeeEnterprise-sites die willen dat parameters in de URL behouden blijven, maar genegeerd worden door de cache.

Voor de meeste sites is het aan te raden te beginnen met Transform Rules. Als je de limiet voor regels bereikt of meer flexibiliteit nodig hebt, stap dan over op Workers.

Als je WordPress met Cloudflare APO gebruikt, heb je dit mogelijk allemaal niet nodig. APO onderhoudt een allowlist van meer dan 25 marketingparameters die het negeert bij het berekenen van cache keys. Controleer of jouw specifieke parameters hieronder vallen voordat je een Worker of Transform Rule toevoegt.

Verbreekt het strippen van parameters analytics?

Nee. Het strippen gebeurt aan de edge, tussen het CDN en je origin-server. De browser-URL bevat nog steeds de originele trackingparameters. Google Analytics, Google Ads-conversietracking en de Facebook-pixel lezen allemaal de document.location aan de client-side uit, die nog steeds de volledige URL met alle parameters intact bevat.

Het enige scenario waarin dit problemen zou kunnen veroorzaken, is als je server-side code trackingparameters uit de URL leest (bijvoorbeeld een server-side analytics-implementatie). Sluit in dat geval die parameters uit van het strippen of leg ze vast in een request header voordat de Worker ze verwijdert.

Voor een bredere kijk op hoe tracking- en analytics-scripts de prestaties beïnvloeden buiten caching om, zie De argumenten voor het beperken van analytics- en tracking-scripts.

Hoe vind je welke URL-parameters je moet strippen

Uitzoeken welke URL-parameters je moet strippen is eenvoudig als je de juiste tool gebruikt. Real User Monitoring tools zoals CoreDash monitoren je site 24/7 en loggen alle query strings samen met hun impact op de prestaties. Navigeer in CoreDash naar Largest Contentful Paint en bekijk de resultaten per query string.

lcp by query string coredas workers

Op sites die worden gemonitord door CoreDash laten pagina's met gestripte trackingparameters grofweg 8 tot 15% betere cache hit rates zien. Voor bezoekers die anders een cache miss zouden krijgen, vertaalt dat zich in een 200 tot 500ms snellere TTFB.

Als je Cloudflare gebruikt en je cache duration TTFB-subonderdeel is hoog, dan is vervuiling door trackingparameters een van de eerste dingen om te controleren. Combineer het strippen van parameters met de juiste Cloudflare-configuratie en je zult een meetbare verbetering zien in je field data.

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.

The RUM tool I built for my own clients.

CoreDash is what I use to audit enterprise platforms. Under 1KB tracking script, EU hosted, no consent banner. AI with MCP support built in. The same tool, available to everyone.

Create Free Account
Strip trackingparameters met Cloudflare Workers en Transform RulesCore Web Vitals Strip trackingparameters met Cloudflare Workers en Transform Rules