Autre

Garder les utm au changement de domaine

Garder les utm à travers les domaines

Copier ce script

Etape 1

Copier le script et le coller sur votre page ou projet Webflow

<script>
(function() {
  var domainsToDecorate = [
          'domaine.com', //ajouter ou supprimer des domaines (sans https ou autre)

      ],
      queryParams = [
          'utm_medium', //ajouter ou supprimer des paramètres que vous vouler tranférer
          'utm_source',
          'utm_campaign',
          'utm_content',
          'utm_term',
          'gclid',
          'fbclid',
          'msclkid'
      ]
  // ne rien éditer à partir de cette ligne
  var links = document.querySelectorAll('a'); 

// check if links contain domain from the domainsToDecorate array and then decorates
  for (var linkIndex = 0; linkIndex < links.length; linkIndex++) {
      for (var domainIndex = 0; domainIndex < domainsToDecorate.length; domainIndex++) { 
          if (links[linkIndex].href.indexOf(domainsToDecorate[domainIndex]) > -1 && links[linkIndex].href.indexOf("#") === -1) {
              links[linkIndex].href = decorateUrl(links[linkIndex].href);
          }
      }
  }
// decorates the URL with query params
  function decorateUrl(urlToDecorate) {
      urlToDecorate = (urlToDecorate.indexOf('?') === -1) ? urlToDecorate + '?' : urlToDecorate + '&';
      var collectedQueryParams = [];
      for (var queryIndex = 0; queryIndex < queryParams.length; queryIndex++) {
          if (getQueryParam(queryParams[queryIndex])) {
              collectedQueryParams.push(queryParams[queryIndex] + '=' + getQueryParam(queryParams[queryIndex]))
          }
      }
      return urlToDecorate + collectedQueryParams.join('&');
  }

  function getQueryParam(name) {
      if (name = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(window.location.search))
          return decodeURIComponent(name[1]);
  }

})();
</script>
Copier

Etape 2

Intégrer sur Webflow en adaptant à votre projet et votre configuration

  • Mettre votre domaine (ici domaine.com)