title: Remove UTM Parameters from URL
body: <p>I use UTM parameters to track incoming links in Google Analytics.</p>
  
  <p>Let's say my URL looks like this</p>
  
  <pre><code>https://www.domain.tld/shop?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=spring_sale
  </code></pre>
  
  <p>I want to clean the URL. The desired result is</p>
  
  <pre><code>https://www.domain.tld/shop
  </code></pre>
  
  <p>On the web I found the following <a href="https://davidwalsh.name/remove-utm-parameters-urls" rel="nofollow noreferrer">snippet</a></p>
  
  <pre><code>(function() {
      var win = window;
      var removeUtms = function(){
          var location = win.location;
          if (location.search.indexOf('utm_') != -1 &amp;&amp; history.replaceState) {
              history.replaceState({}, '', window.location.toString().replace(/(\&amp;|\?)utm([_a-z0-9=]+)/g, ""));
          }
      };
      ga('send', 'pageview', { 'hitCallback': removeUtms });
  })();
  </code></pre>
  
  <p>At the moment my Google Analytics Template in my CMS looks like this</p>
  
  <pre><code>&lt;?php
      /**
       * To use this script, please fill in your Google Analytics ID below
       */
      $GoogleAnalyticsId = 'UA-bla-bla';
      /**
       * DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
       */
      if ($GoogleAnalyticsId != 'UA-XXXXX-X' &amp;&amp; !BE_USER_LOGGED_IN &amp;&amp; sha1(session_id() . (!Config::get('disableIpCheck') ? Environment::get('ip') : '') . 'BE_USER_AUTH') != Input::cookie('BE_USER_AUTH')): ?&gt;
      &lt;script&gt;
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
        ga('create', '&lt;?php echo $GoogleAnalyticsId; ?&gt;', 'auto');
        &lt;?php if ($GLOBALS['TL_CONFIG']['privacyAnonymizeGA']): ?&gt;
          ga('set', 'anonymizeIp', true);
        &lt;?php endif; ?&gt;
        ga('send', 'pageview');
      &lt;/script&gt;
  &lt;?php endif; ?&gt;
  </code></pre>
  
  <p>...and I have no idea how to bring those codes together.</p>
  
  <p>Maybe there is even a better solution to my problem?</p>