UTM tracking parameters on internal links waste crawl budget and fracture
berreby.aiI'm Elie Berreby, the author and I'm sharing first on HN. Using standard UTM parameters (utm_source, etc) on internal links is a dangerous anti-pattern.
Architecturally, it creates two massive problems: it forces web crawlers into infinite, redundant loops that destroy your crawl budget, and it permanently fractures your analytics by overwriting the user's original session acquisition source in tools like GA4.
The modern fix is to completely decouple your routing and presentation layers from your analytics.
Pass structured payloads using HTML5 data-* attributes and pick them up via event listeners. It keeps URLs clean and makes your telemetry immune to CSS refactors.
Apologies for the image loading issues with Chromium based web browsers. I had strong (and incorrect) settings in place because I forgot 1 character somewhere in the config
That was to protect from eavesdropping and avoid modifications by man-in-the-middle attacks. I corrected + purged all cache.
Issue now resolved, just force refresh :)