Google Tag Manager で utm_source を Cookie に保存する

まず、「カスタム JavaScript」の「変数」として、以下の JavaScript を定義します。
ここでは「JS – setCookie」という名称で保存します。

function() {
  return function(name, value, ms, path, domain) {
    if (!name || !value) {
      return;
    }
    var d;
    var cpath = path ? '; path=' + path : '';
    var cdomain = domain ? '; domain=' + domain : '';
    var expires = '';
    if (ms) {
      d = new Date();
      d.setTime(d.getTime() + ms);
      expires = '; expires=' + d.toUTCString();
    }
    document.cookie = name + "=" + value + expires + cpath + cdomain;
  }
}

次にカスタムHTMLのタグに以下を設定します。

<script type="text/javascript">
var url = window.location.href;
var keyToFind = 'utm_source';
if(url.indexOf(keyToFind + '=') > -1) {
  var valueFound = url.substr(url.indexOf(keyToFind + '=') + keyToFind.length + 1).split('&')[0];
  {{JS - setCookie}}('utm_source', valueFound, 2592000000, undefined, 'xxxx.xxx');
}
</script>

上記をデプロイすると utm_source のパラメータ付きでサイトに訪問があった場合に、utm_source という Cookie を別途発行することができます。後ほどコンバージョンフォームなどでこの値を呼び出すことも可能です。

また、こちらのスクリプトの応用で保存先を Cookie ではなく localStorage や sessionStorage にすることも可能です。