Advertisement
prabapro

TaoGroup 01

Oct 30th, 2023 (edited)
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. (function updateLinks() {
  3.   var links = document.getElementsByTagName('a');
  4.   var gtmUtmSource = {{[MS] JS - utm_source}};
  5.   var gtmUtmId = {{[MS] JS - utm_id}};
  6.  
  7.   for (var i = 0; i < links.length; i++) {
  8.     var href = links[i].getAttribute('href');
  9.    
  10.     if (href && href.indexOf('https://tickets.taogroup.com') === 0) {
  11.       var url = new URL(href);
  12.       var queryString = url.search;
  13.       var utmSource = 'utm_source=' + gtmUtmSource;
  14.       var utmId = 'utm_id=' + gtmUtmId;
  15.       var updatedParams = [];
  16.  
  17.       // Check if query string already exists
  18.       if (queryString) {
  19.         queryString = queryString.substring(1); // Remove the leading '?'
  20.         var params = queryString.split('&');
  21.  
  22.         var foundSource = false;
  23.         var foundId = false;
  24.  
  25.         for (var j = 0; j < params.length; j++) {
  26.           if (params[j].startsWith('utm_source')) {
  27.             updatedParams.push(utmSource);
  28.             foundSource = true;
  29.           } else if (params[j].startsWith('utm_id')) {
  30.             updatedParams.push(utmId);
  31.             foundId = true;
  32.           } else {
  33.             updatedParams.push(params[j]);
  34.           }
  35.         }
  36.  
  37.         if (!foundSource) {
  38.           updatedParams.unshift(utmSource);
  39.         }
  40.  
  41.         if (!foundId) {
  42.           updatedParams.splice(1, 0, utmId);
  43.         }
  44.  
  45.         queryString = '?' + updatedParams.join('&');
  46.       } else {
  47.         queryString = '?' + utmSource + '&' + utmId;
  48.       }
  49.  
  50.       url.search = queryString;
  51.       links[i].setAttribute('href', url.toString());
  52.     }
  53.   }
  54. })();
  55. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement