top of page
bottom of page
(function() { // Function to parse UTM parameters from current URL function getUTMParams() { const urlParams = new URLSearchParams(window.location.search); const utmParams = {}; for (const [key, value] of urlParams.entries()) { if (key.startsWith('utm_')) { utmParams[key] = value; } } return utmParams; } // Function to append UTM params to a URL function appendParamsToUrl(url, params) { try { const urlObj = new URL(url, window.location.origin); for (const key in params) { if (!urlObj.searchParams.has(key)) { urlObj.searchParams.set(key, params[key]); } } return urlObj.toString(); } catch (e) { return url; // If the URL is invalid, return as-is } } // Main function to apply UTM parameters to all anchor tags function applyUTMParamsToLinks() { const utmParams = getUTMParams(); if (Object.keys(utmParams).length === 0) return; const links = document.querySelectorAll('a[href]'); links.forEach(link => { const originalUrl = link.getAttribute('href'); const newUrl = appendParamsToUrl(originalUrl, utmParams); link.setAttribute('href', newUrl); }); } // Execute on DOMContentLoaded applyUTMParamsToLinks(); })();